MCP入门:让AI与外部世界真正连接
MCP入门:让AI与外部世界真正连接
什么是MCP?
尽管大型语言模型(LLM)拥有惊人的知识储备与推理能力,能够胜任许多复杂任务,但它们的知识体系始终受限于最初的训练数据。
换句话说,LLM并不能直接访问实时信息或外部世界。
如果需要查询动态数据、操作文件、或调用外部API,模型必须通过额外的机制来实现。而这正是 MCP(Model Context Protocol,模型上下文协议) 的意义所在。
MCP 是一个标准化接口与框架,允许AI模型与外部工具、资源和环境进行无缝交互。
为什么需要MCP?
不同厂商的AI工具往往使用不同的接口和协议。
设想你使用了三个AI应用(例如ChatGPT、Claude、Cursor)以及三个外部工具(例如天气API、文件系统、数据库)。
为了实现互通,你可能需要编写 3×3=9个集成模块。
这种方式显然不具备可扩展性。
AI应用开发者需要反复“造轮子”,而工具提供商则要为多个不兼容的API做适配。
MCP通过引入统一的中间层接口解决了这个问题。
它将复杂的M×N对接问题简化为 M+N种实现:
- M个AI应用各自实现一次 MCP客户端;
- N个工具各自实现一次 MCP服务器。
这样,任何AI应用都能访问任何兼容MCP的工具,真正实现标准化生态。

MCP的架构
MCP的核心架构采用经典的 客户端-服务器模式,但根据AI的语境进行了重新定义。
它包含三个主要角色:主机(Host)、客户端(Client) 和 服务器(Server)。

主机(Host)
主机是面向用户的AI应用环境,AI模型在此运行并与用户交互。
例如:
- ChatGPT或Claude的对话界面
- AI增强型IDE(如Cursor)
- 嵌入式AI助手应用(如Chainlit项目)
主机负责管理用户输入、对话记录,并在需要时连接到可用的MCP服务器。
客户端(Client)
MCP客户端是主机中的一个组件,负责与MCP服务器进行底层通信。
可以把它看作“适配器”或“信使”:
- 主机决定“要做什么”;
- 客户端知道“如何与服务器通信以实现这些操作”。

服务器(Server)
MCP服务器是提供功能、数据或工具的外部程序或服务。
它以标准化的方式对外暴露一组能力(API、资源、提示等),任何符合MCP的客户端都可以访问这些能力。
服务器可以本地运行,也可以部署在云端。
关键是,它会:
- 公开自身功能(供客户端查询);
- 接收客户端请求并返回结构化结果。

在MCP框架中,工具(Tools)、资源(Resources) 和 提示(Prompts) 是服务器提供的三大核心能力。
MCP的三大核心功能
一、工具(Tools)
工具是AI可以调用的可执行操作或函数,通常具有副作用或外部调用。
举个例子,假设我们定义了一个天气查询工具。
在MCP服务器端,它可能是这样一个Python函数:
@mcp.tool("get_weather")
def get_weather(location: str) -> dict:...
当AI通过MCP调用 "get_weather" 并传入 { "location": "San Francisco" } 时:
- 服务器执行
get_weather("San Francisco"); - 返回结构化数据(如温度、天气状况等);
- 客户端将JSON结果传递给AI模型;
- 模型使用这些数据生成自然语言回复。
由于工具可能执行文件操作或网络请求,为避免滥用,通常需要用户授权。
例如,Claude客户端可能会弹窗询问:“AI想使用‘get_weather’工具,是否允许?”
工具就像函数调用,但由模型发起、开发者定义、用户授权执行。
二、资源(Resources)
资源提供只读数据访问,类似数据库或知识库,AI可以查询但不能修改。
资源与工具的区别在于:
- 资源没有副作用,仅用于信息检索;
- 资源的访问通常由主机控制,而非模型自主发起。
例如,当用户说“请根据公司手册回答问题”时,主机会从手册资源中提取相关内容,再提供给AI。
资源的典型形式包括:
- 本地文件或文档内容
- 数据库查询结果(只读)
- 外部知识库或参考资料
- 静态配置信息
资源让AI具备“查阅知识”的能力,而无需重新训练模型。
三、提示(Prompts)
在MCP中,提示不仅仅是文本,而是一种“能力”。
提示代表预定义的提示模板或工作流,用来指导模型的行为。
例如,一个提示可能包含如下指令:
“你是一位代码审查专家,请对以下代码进行分析并指出潜在问题。”
通过MCP,提示可以由服务器统一提供,而不需要硬编码在主机中。
这带来几个好处:
- 开发者可集中管理提示模板;
- 用户可在UI中自由选择不同模式(如“总结文档”、“生成测试用例”等);
- 模型在开始生成前即可加载相应上下文。
提示也可代表多轮对话流程,如分步骤的诊断或问答。
与工具不同,提示通常由用户或主机触发,而非模型自主调用。
总结
MCP(模型上下文协议)为AI与外部世界之间搭建了一座桥梁。
它通过标准化接口让不同AI和工具能够互通互联,极大地降低了开发与集成的复杂度。
