MCP 协议详解
2025 年,Anthropic 提出了 MCP 协议。MCP 全称为 Model Context Protocol,翻译过来是大模型上下文协议。这个协议的主要为 AI 大模型和外部工具(比如让 AI 去查询信息,或者让 AI 操作本地文件)之间的交互提供了一个统一的处理协议。我们常用的 USB TypeC 接口(USB-C)统一了 USB 接口的样式,MCP 协议就好比 AI 大模型中的 USB-C,统一了大模型与工具的对接方式。
MCP 协议采用了 C/S 架构,也就是服务端、客户端架构,能支持在客户端设备上调用远程 Server 提供的服务,同时也支持 stdio 流式传输模式,也就是在客户端本地启动 MCP 服务端。只需要在配置文件中新增 MCP 服务端,就能用上这个 MCP 服务器提供的各种工具,大大提高了大模型使用外部工具的便捷性。
MCP 是开源协议,能让所有 AI 厂商、AI 工具都将 MCP 集成到自己的客户端中,从而扩大 MCP 的可用面。毕竟只有用的人越多,协议才能不断发展,不断变得更好。
了解 Function Call
在 MCP 没有出来之前,我们的 AI Agent 开发如果想调用外部工具需要针对不同的 AI 大模型 SDK 编写不同的代码,其中最为常用的是 OpenAI 提供的 Function Call 的处理逻辑。
Function Call Demo
1. 配置工具,AI 提供参数
当我们调用 OpenAI Chat Completions 接口时,可以通过 tools 参数传入可供使用的外部工具。这个工具的调用中就包含了工具的作用,工具需要传入的参数,以及参数的释义。其中 tool_choice 字段设置为 auto 代表让大模型自动选择 tools,设置为 none 时不会调用外部工具。
{
"tool_choice": "auto",
"messages": [
{ "role": "system", "content": "你是一个天气查询助手" },
{ "role": "user", "content": "帮我查询上海的天气" }
],
"tools": [
{
"type":


