重生之点亮Agent技术栈 -- MCP

我们之前介绍过大模型的相关知识,本篇我们介绍一下MCP

什么是MCP

MCP(Model Context protocol)一种开放、标准化的通信协议,定义了AI模型与外部数据源、工具之间的连接规范,官方文档

怎么做

我们知道大模型在算数上存在一定问题,比如下面的例子是当我用chatgpt-4o测试的效果,现在可能不存在问题了哈,此处只是为了一个场景而已。

  1. 先来个没有使用自定义的mcp的执行效果:

2. 我们写个方法提供给LLM让它可以按照我们的逻辑来处理

TypeScript 复制代码
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
    name: "my-mcp",
    version: "0.0.1"
});

// 定义一个 tool
server.registerTool("compare", {
    inputSchema: {
        a: z.number(),
        b: z.number()
    }
}, async ({ a, b }) => ({
    content: [{
        type: "text",
        text: String(a > b)
    }]
}));

// 启动服务器
const transport = new StdioServerTransport();
await server.connect(transport);

执行结果: 通过CoT我们可以看到llm使用了我自定义的mcp工具my-server,这个server是在配置文件里面配置的,最终运行的是我们的代码逻辑。

怎么用

上面我们通过实例也看到了mcp的运行效果,接下来介绍一下怎么用。此处以claude code cli为例,

  1. 在项目下新建.mcp.json文件,将我们的工具注册到这个文件里面
json 复制代码
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["./dist/index.js"]
    }
  }
}
  1. 终端执行claude启动claude code以后输出/mcp list就能看到我们的工具了。

注意状态是否是connected,如果是则说明启动正常,否则需要排查一下问题

  1. 确认启动以后就可以直接在终端里面进行提问,然后让它一步步执行并将过程打印出来,这样就可以复现我们上面的效果了。

当前市面上已经有很多的mcp可供选择了,例如:阿里的魔塔社区modelscope.cn/mcp

相关推荐
程序员黑豆4 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
小虎AI生活5 小时前
WorkBuddy 资料库架构解析:MD + CSV + HTML 三种载体的"流水线"设计
ai编程
咖啡星人k7 小时前
想私有化部署 AI 开发平台?MonkeyCode 给出的答案是开源 + 离线
人工智能·大模型·ai编程·monkeycode
mCell8 小时前
用 Cordis 从零构建一个 Mini DeepSeek Harness
typescript·agent·deepseek
nix.gnehc9 小时前
Agent 的解剖 -- Harness 到底在解什么
agent
神奇霸王龙9 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
一拳不是超人10 小时前
DeepSeek Harness 为什么敢说"一切皆插件"?拆透 Cordis 引擎的五大核心机制
前端·人工智能·agent
安全指北针10 小时前
AI编程工具供应链安全实战:当你的AI编码助手成为跳板
人工智能·安全·ai编程
Tisfy10 小时前
Codex:通过编辑配置文件添加带Bearer的自定义MCP
数据库·大模型·agent·codex·mcp
tealcwu10 小时前
【已解决】Gemini突然提示不支持所在国家?
ai编程