MCP协议与实践

一、MCP协议是什么?

MCP(模型上下文协议)是一个开放协议,用于标准化应用程序向大语言模型(LLM)提供上下文的方式。MCP提供了一种将AI模型连接不同数据源和工具的标准化接口。

  • 应用程序:集成了LLM的县体应用。包括各家大模型的在线对话网站、集成了大模型的IDE(如IClaudedesktop)、各种Agent(比如 Cursor就是一个Agent)、以及其他接入了大模型的普通应用。
  • 上下文:指的是模型在决策时可访问的所有信息,如当前用户输入、历史对话信息、外部工具(tool)信息、外部数据源(resource)信息、提示词(prompt)信息等等.

MCP 中的「上下文」不是指 prompt,而是:

👉 模型在"做事"时,可以持续感知、访问、使用的外部世界状态与能力集合。

它解决的是:

"模型如何在多轮、多任务、多工具下,保持对外部世界的一致理解"。

MCP 中的「上下文」可以拆成 3 层:

  1. 能力上下文:描述模型当前"能做什么",即可被发现和调用的工具、API 与权限集合;
  2. 状态上下文:描述模型"正在什么状态下工作",如当前项目、文件系统、数据库连接或任务进度;
  3. 执行上下文:记录模型"刚刚做了什么",包括已调用的工具、返回结果及执行成功或失败信息。

MCP 负责搭建一个稳定、真实、可持续的执行环境,并把这个环境的能力和状态以模型可理解的方式暴露出来;模型只负责在这个环境中做决策。

如果没有 MCP,上下文是"模型记住的世界";有了 MCP,上下文是"模型正在运行的世界"。

MCP的组成部分

  • MCP Host:协调和管理个或多个的人工智能应用程序。
  • MCP Client:一个组件,用于维护与MCP服务器的连接,并从MCP服务器获取上下文,供MCP主机使用。
  • MCP Server:一个为MCP Client提供上下文的程序。

对比

  1. 在function calling中调用外部工具,执行外部工具的永远是本地后端程序。在存在繁琐的代码搬运,代码语言的鸿沟,甚至有工具代码没有开源。
  2. Function calling解决的是大模型与AI应用程序之间的对话问题。它的工作是传递给大模型一个工具清单,然后模型返回一个文本格式的调用指令。Function call只负责告诉大模型有哪些工具,不关心这些工具在哪里,怎么调用。
  3. MCP解决的是AI应用程序和MCP Server之间的连接问题。它关系的是AI应用程序怎么知道mcp server有什么函数,在拿到模型返回的指令后,怎么去具体执行这个调用。
  4. MCP 没有替代 Function Calling。
    MCP 不负责 :
    • 定义函数参数格式;
    • 决定模型是否要调用某个函数;
    • 生成 function_call / tool_call JSON。
    • 这些依然是 模型侧能力(OpenAI / DeepSeek / Claude 内部实现)
  5. MCP 解决的问题
    MCP 解决的是 "模型运行时环境" 的标准化问题:
    • 模型现在能看到哪些工具
    • 这些工具的 schema / 权限 / 作用范围
    • 工具执行后的 状态是否持续
    • 不同模型能否用 同一套工具上下文
      👉 它是一个 上下文与能力托管协议(Runtime Context Protocol)
相关推荐
钱栈up2 小时前
扫完 3.5 万文件后,我发现了 521 组散落的同名文件
爬虫·python·数据分析
黄权光2 小时前
AI智能体项目实战记录(01):开发环境搭建之conda的安装与配置
python
自养Agent2 小时前
Agent Harness 从用到会造:给 Agent 装一道刹车,比教它跑更重要
人工智能·llm
Wokoo72 小时前
Selenium 核心 API 解析(三)
python·功能测试·selenium
lucas_AI2 小时前
首字延迟的 67% 不是模型算的:GraphTok 把 LLM 分词整段搬上 GPU
llm
在世修行2 小时前
智学文枢:技术选型
python·技术选型
用户8356290780513 小时前
如何使用 Python 将 PDF 转换为 PPTX 文件
后端·python
我命由我123453 小时前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
XMXFS4 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans7748829684 小时前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学