MCP SDK:让 AI 轻松调用外部服务的神奇桥梁

145 阅读2分钟

MCP SDK:让 AI 轻松调用外部服务的神奇桥梁

你是否好奇 Cursor,Claude,Trae 这样的 AI 助手如何能够查询天气、搜索网页或执行其他实时任务?今天就带你揭秘背后的技术:Model Context Protocol (MCP)!

什么是 MCP?

MCP 就像是 AI 与外部世界沟通的翻译官,它让 Cursor 能够"看见"并使用各种外部工具。简单来说,MCP 就是一座连接 AI 大脑和真实世界服务的桥梁。

MCP SDK 的核心组件

1. McpServer - 智能管家

想象一下 McpServer 是一位管家,他:

  • 记录所有可用的工具(比如天气查询、网页搜索等)
  • 确保每个工具都有清晰的使用说明
  • 验证请求是否合规
  • 分派任务并收集结果
const server = new McpServer({
  name: "智能助手工具箱",
  version: "1.0.0"
});

2. StdioServerTransport - 通信员

这位通信员负责:

  • 通过标准输入/输出传递消息
  • 翻译复杂的数据结构为简单的文本
  • 确保消息准确无误地送达

工具是如何被发现和使用的?

注册工具 - 像登记服务一样简单

server.tool(
  "get_china_weather",  // 工具名字
  "查询中国城市的天气预报",  // 用途说明
  {
    city: z.string().describe('中国城市名称(例如"北京"、"上海"、"广州")')
  },
  async ({ city }) => {
    // 获取天气的魔法发生在这里
  }
);

工具调用的奇妙旅程

  1. 初次见面:Cursor 连接到 MCP 服务,了解有哪些工具可用
  2. 提出请求:Cursor 发送请求,比如"我想知道北京的天气"
  3. 智能解析:MCP 将请求转化为标准格式
    {
      "name": "get_china_weather",
      "parameters": {
        "city": "北京"
      }
    }
    
  4. 执行任务:调用对应的天气查询功能
  5. 返回结果:将天气信息返回给 Cursor
    {
      "content": [
        {
          "type": "text",
          "text": "📍 北京市\n今天晴朗,32°C~24°C,东南风3级"
        }
      ]
    }
    

强大的返回值设计

MCP 的返回值不仅仅是简单的文本,它支持多种形式:

  • 文字描述
  • 图片展示
  • 甚至可以组合多种类型的内容

这就像给 Cursor 配备了一副能看见多彩世界的眼睛!

为什么 MCP 如此重要?

有了 MCP,Cursor 不再是"知识截止日"的囚徒:

  • 可以查询实时天气
  • 能够搜索最新资讯
  • 帮你调用各种专业服务

简而言之,MCP 极大地扩展了 AI 的能力边界,让 AI 真正走进我们的日常生活!

想象一下,当你问 Cursor "上海明天会下雨吗?",它不再只能说"我不确定",而是能够实时查询并给你准确回答 - 这一切,都归功于 MCP 这座神奇的桥梁!