一江山水的随笔

当前位置:首页 - 技术 - 正文

Enjoy life!

先说结论

MCP(Model Context Protocol)是 Anthropic 提出的开放协议,旨在让 AI 智能体(比如 Claude)标准化地连接外部工具、数据库和 API。简单说,它就像 AI 世界的 USB-C 接口——统一了连接方式,让不同模型和工具能即插即用。目前已有多个工具和平台支持,对普通用户来说,以后用 AI 完成复杂任务(比如查股票、发邮件、操作数据库)会变得前所未有的简单。

为什么需要 MCP?

在 MCP 出现之前,让 AI 调用外部工具简直是一场噩梦。每个工具都有自己的 API、认证方式和数据格式,开发者需要为每个工具写一堆胶水代码。比如你想让 AI 查天气,就得写一个函数获取天气 API 数据,再手动注入到 AI 的上下文里。而且每个 AI 模型(GPT、Claude、Gemini)对工具的描述方式还不一样,导致代码无法复用。

MCP 解决了这个问题:它定义了一套标准协议,让 AI 模型和工具服务器之间通过统一的 JSON-RPC 消息通信。你只需要实现一个 MCP 服务器,任何支持 MCP 的 AI 客户端都能直接调用,无需额外适配。

MCP 的核心概念

1. 架构

MCP 采用客户端-服务器架构:

  • MCP 客户端:通常是 AI 应用(如 Claude Desktop),负责与用户交互并协调工具调用。
  • MCP 服务器:提供具体功能(如文件系统、数据库、API)的轻量级服务,暴露标准接口。

两者通过标准传输层(目前支持 stdio 和 SSE)交换消息。例如,在本地开发时,客户端以子进程方式启动服务器,通过标准输入/输出通信;在远程场景,则通过 HTTP SSE。

2. 核心能力

MCP 定义了三种主要能力:

  • Resources:暴露数据资源(如文件、数据库记录),类似 RESTful 的 GET 请求。
  • Tools:暴露可执行操作(如发送邮件、创建文件),类似 POST 请求,AI 可主动调用。
  • Prompts:提供预定义的提示模板,用户可一键触发复杂工作流。

此外,MCP 还支持采样(Sampling),允许服务器请求 AI 生成响应,实现双向交互。

一个实际例子:用 MCP 查股票

假设你想用 Claude 查当前苹果股价。传统方式可能需要写 Python 脚本调用 Yahoo Finance API,再把结果贴给 Claude。有了 MCP,你只需要一个股票查询服务器:

// MCP 服务器示例(简化)
{
  "tools": [{
    "name": "get_stock_price",
    "description": "获取股票实时价格",
    "inputSchema": {
      "type": "object",
      "properties": {
        "symbol": {"type": "string"}
      }
    }
  }],
  "handler": async (request) => {
    const { symbol } = request.params;
    const price = await fetchStockPrice(symbol);
    return { content: [{ type: "text", text: `${symbol} 当前价格: $${price}` }] };
  }
}

然后你在 Claude Desktop 中配置该服务器,直接说"查苹果股价",Claude 就会自动调用 get_stock_price 工具,返回结果。

现在哪些工具支持?

截至 2025 年 4 月,已有多个平台和工具支持 MCP:

  • Claude Desktop:Anthropic 官方客户端,原生支持 MCP。
  • Zed:代码编辑器,已集成 MCP 用于 AI 辅助编程。
  • Sourcegraph Cody:代码搜索工具,通过 MCP 提供上下文。
  • JetBrains AI Assistant:已支持 MCP 工具调用。
  • 社区服务器:GitHub 上有数百个 MCP 服务器,覆盖文件系统、数据库(PostgreSQL、SQLite)、浏览器自动化(Playwright)、Slack、GitHub 等。

Anthropic 官方还提供了 Python 和 TypeScript 的 SDK,方便开发者快速构建 MCP 服务器。

普通用户怎么受益?

对非开发者来说,MCP 的意义在于:

  • 一站式操作:你可以在同一个 AI 聊天界面里完成查资料、写文件、发邮件、操作数据库等任务,不用来回切换应用。
  • 更智能的自动化:AI 能根据你的指令自动选择工具。比如你说"帮我整理上周的销售数据,生成图表并邮件发给团队",AI 会依次调用数据库查询、图表生成、邮件发送等工具。
  • 生态丰富:随着 MCP 普及,会有越来越多第三方服务提供 MCP 接口,就像现在的插件市场。

总结与展望

MCP 还处于早期,但方向很明确:让 AI 智能体真正成为"万能助手",能操控一切工具。目前最大的挑战是安全性和标准化——如何防止恶意工具获取权限?如何协调多个工具的调用顺序?Anthropic 正在推动社区制定最佳实践。

如果你是个开发者,我建议你现在就去试试写一个 MCP 服务器,体验一下"一次开发,多处运行"的快感。如果你只是普通用户,关注支持 MCP 的应用(比如 Claude Desktop),很快就能享受到这种无缝体验。

本文来源:一江山水的随笔

本文地址:https://blog.298.name/post/202.html

主要内容:MCP协议是什么?AI智能体连接外部工具的新标准

版权声明:如无特别注明,转载请注明本文地址!

上一篇

test-debug
下一篇

博主有点懒,啥也没写!
想找什么搜索会更快哦!
站点信息
  • 文章总数:171
  • 页面总数:1
  • 分类总数:4
  • 标签总数:170
  • 评论总数:61
  • 浏览总数:1643341
控制面板
您好,欢迎到访网站!
  查看权限
Top