MCP
MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。
如下图示意,可以将 MCP 理解为一个 "AI 的 USB 接口",提供了一个连接标准,使 Agent/LLM(如 Claude、ChatGPT、Qwen)能够方便、安全的访问各种外部工具和数据(比如 Gmai、Slack、本地文件等)。
MCP 就是制定了一套标准,充当 AI 模型的"万能转接头",让 LLM 可以使用不同工具。如下图示,这样你应该更容易理解"中间协议层"的概念。
MCP 提供给 LLM 所需的上下文:Resources 资源、Prompts 提示词、Tools 工具。
更具体的说 MCP 的优势在于:
- 生态:MCP 提供很多现成的插件,你的 AI 可以直接使用。
- 统一性:不限制于特定的 AI 模型,任何支持 MCP 的模型都可以灵活切换。
- 数据安全:你的敏感数据留在自己的电脑上,不必全部上传(因为我们可以自行设计接口确定传输哪些数据)。
Function Calling
将模型连接到外部数据和系统,平铺式的罗列 Tools 工具。Function Call是大模型与真实世界交互的"桥梁" ,从语言理解 => 具体行动
Function Calling在大模型中的作用:
- 扩展模型能力
大模型本身无法直接操作外部系统(如数据库、计算工具),但通过调用预设函数,可以完成:实时数据获取(天气、股价、新闻);复杂计算(数学运算、代码执行);操作外部系统(发送邮件、控制智能设备) - 结构化输出
模型可将用户自然语言请求转化为结构化参数,传递给函数。例如:用户说"明天北京天气如何?" → 模型调用 get_weather(location="北京", date="2025-05-06") - 动态决策流程
模型可根据上下文决定是否/何时调用函数,甚至链式调用多个函数(如先查天气,再推荐穿搭)。
MCP与Function Calling区别

已经有了MCP还需要Function Calling么?
简单、原子化任务使用Function Calling会更方便
- 查询天气 get_weather(city="北京")
- 计算数学公式 calculate(expression="3+5")
- 发送单条通知 send_email(to="[email protected]")
Function Calling优势:
开发快捷:无需配置 MCP Server,直接通过模型 API 调用预定义函数。
低延迟:单次请求-响应,无需协议层开销。
MCP 可能成为主流,但 Function Calling 作为底层能力仍将存在