一分钟了解MCP
一分钟了解MCP
A Minute to Know About MCP
By Jackson@ML
1. MCP定义
MCP(Model Context Protocol,即模型上下文协议),它 是一种开放的结构化协议,用于优化大语言模型(Large Language Model, 即LLM)的输入输出交互,实现了LLM应用程序与外部数据源和工具的无缝集成。
MCP由Anthropic于2024年11月25日正式发布。以下是Anthropic官网页面。
在此主页面,可以看到该公司另外两款旗舰产品:Claude Opus 4和Sonnet 4大语言模型。
MCP正是通过标准化上下文组织、任务指令和输出格式,显著提升模型的任务理解能力和结果可控性。其核心三要素如下:
- 模型(Model) - 指定使用的模型(如GPT-4、Claude等)
- 上下文(Context) - 分层组织背景信息(历史对话、知识库、用户画像)
- 协议(Protocol) - 定义任务指令、输出格式和约束规则
MCP的核心价值就是:降低提示工程复杂度,提高响应一致性,实现复杂任务的链式调用。
2. MCP连接性
在MCP出现之前,开发人员必须为每一种AI应用程序和数据源的组合创建自定义集成。
而MCP则建立了一个通用的“即插即用”协议,允许任何兼容MCP的客户端与任何兼容MCP的服务器协同工作,这样就大大降低了集成的复杂性和减少了开发时间。
3. MCP架构
MCP遵循客户端-服务器架构,主要有五个组件,架构图如下图。
*来自于MCP官网
该架构图包含以下主要组件:
1) MCP 主机:想要通过 MCP 访问数据的 AI 工具(聊天客户端、IDE、智能体)。
2) MCP 客户端:与服务器保持 1:1 连接的协议客户端。
3) MCP 服务器:通过标准化的 Model Context Protocol 暴露特定功能的程序。
4) 本地数据源:包含信息的本地数据库、文件和服务。
5) 远程服务:MCP 服务器可以连接的外部 API 或服务。
4. MCP的作用
这里可以用经典的 AI 用例,例如:文本到 SQL 转换来演示MCP的作用。文本到 SQL 将自然语言转换为 SQL。在使用 MCP 前后,我们做个比较如下。
1) 使用MCP之前,典型的实现有以下几步:
- SQL客户端从目标数据库获取架构
- SQL客户端向LLM发送包含架构的提示词
- LLM回复SQL语句
- SQL客户端针对目标数据库执行SQL语句
以下是没有使用MCP的流程架构。
没有MCP的话,每个SQL客户端都要为每个支持的数据库实现这一点;但有了MCP,情况就大不一样。
2) 有了MCP,SQL客户端只需实现MCP客户端协议,而每个数据库供应商只需实现一次MCP服务器即可。
如下图。
5. MCP的优势
MCP为AI系统开发提供了几方面的显著优势:
- 减少开发时间。开发人员可以利用预构建的MCP服务器完成常见任务,而不必为每个数据源(或工具)自定义集成;
- 增强互操作性。使用MCP构建的应用程序,可以与任何兼容的工具和数据源无缝协作,以便创建真正可组合的生态系统;
- 模块化。调试、授权、审计和链接等贯穿各处的关注点可以标准化并实现一次,然后在整个生态系统重复使用。
6. MCP协议代码实现
MCP协议定义用Python编程语言实现,示例代码如下:
class MCPProtocol:def __init__(self, model: str = "gpt-4-turbo",context: dict = None,instructions: str = "",output_format: dict = None):self.model = modelself.context = context or {"history": [],"knowledge": [],"user_profile": {}}self.instructions = instructionsself.output_format = output_format or {"type": "json","schema": {"result": "str", "confidence": "float"}}def serialize(self):return {"model": self.model,"context": self.context,"instructions": self.instructions,"output_format": self.output_format}
7. 参考文献
1) MCP官方文档
2) Whatismcp.com
推荐阅读:
- 大模型的局限性与RAG基本框架和工作流实例
- 用Python爬取高清图片的应用程序解决方案
- 用Python构建学生成绩管理系统的基本方案
- 一分钟了解机器学习
- 一分钟了解大语言模型
- 一分钟了解深度学习