AI编程-MCP介绍
MCP(模型上下文协议)是AI领域的标准化通信协议,充当大模型与外部数据源间的USB接口,实现双向安全连接。
本文大致介绍一下MCP的作用、充当什么角色、处于什么位置、以及一些问题的解答
一、MCP的定义
MCP即模型上下文协议(Model Context Protocol),是一种开放的通信协议,是人工智能领域的 “USB 接口”。MCP在大模型和外部数据源(数据、工具、开发环境等)之间建立了双向且更加安全的连接,使用单一的标准协议取代碎片化的集成方式。
如果把 LLM(Large Language Model,大语言模型) 比作人的大脑,MCP 就是手脚。LLM 不断提升智能下限,MCP 则是不断提升创意上限。
二、MCP的作用

- MCP Client(客户端):
- 作为调用方,是用户与 MCP 生态的交互入口。例如PC端的Claude Code、Cursor等工具,手机上的豆包APP、元宝APP等
- 集成调用LLM和MCP Server,提供集成化的各种能力,例如:聊天应用类,提供自然语言交互服务,让用户通过对话调用 AI 能力;编码工具类,在 IDE 里调用外部应用和系统的能力;任务自动化类,帮用户自动化执行重复性任务,如数据处理、流程调度,以提升效率。
- MCP Server(服务端)
- MCP服务端:作为被调用方,提供后端服务支撑,包含各类核心功能模块。
- 例如,数据库类(如 ClickHouse、Supabase)负责数据库的存储、查询与管理;设计类(如 Figma、Blender)支撑设计创作、文件协作等功能;生产力工具类(如 Notion、Obsidian)提供笔记管理、知识整理等办公协作服务;支付类(如 Stripe),处理在线支付交易,支持商业场景的资金流转。
- 如果是使用Claude Code等工具安装的MCP服务,这里的MCP Server其实是Claude Code启动的子进程,Claude Code会调用这些MCP子进程,MCP子进程调用本地/远程数据源,得到响应结果,返回给MCP Client(Claude Code)再交给LLM进行分析
- Local Filesystem、Database
- 本地的数据源
- 某些MCP ,例如操作数据库的,可以对本地数据库进行增删改查;操作Local Filesystem文件的,可以对本地文件进行检索与修改
- Internet
- 远程的数据源
- MCP 服务器可以通过互联网(例如通过 API)连接到外部系统。访问网络上的数据,例如连接远程数据库、进行网页搜索等等
核心作用是:解决传统AI工具集成的平台依赖、数据孤岛问题,让不同大模型可无缝调用同一款外部工具
三、MCP示例
3.1 MCP工作时序图:

3.2 查询时间示例:

如上图所示,一次基于MCP的调用,一共有6个核心的步骤。我们先拟定一个前提:
-
我要开发一个获取时间的AI Agent,用户在使用这个AI Agent时,只需要问类似“现在几点了?”这种问题即可。
-
我已经有了一个关于处理时间的MCP Server,这个MCP Server里有2个MCP Tool,一个负责获取当前时区,一个负责获取当前时间。
1、调用步骤解析:
-
第一步:用户向AI Agent提问“现在几点了?”,此时AI Agent就是MCP Client(Cursor / Claude Code之类的),它会把用户的问题和处理时间的MCP Server以及MCP Tool的信息一起发送给LLM(大语言模型)。
-
第二步:LLM拿到信息后开始推理,基于用户的问题和MCP Server的信息,选出解决用户问题最合适的MCP Server和MCP Tool,然后返回给AI Agent(MCP Client)。
LLM返回给AI Agent的信息是:“你可以使用time这个MCP Server里的get_current_time这个MCP Tool,它可以解决用户的问题”。 -
第三步:AI Agent(MCP Client)现在知道应该使用哪个MCP Server里的哪个MCP Tool了,直接调用该MCP Tool,获取结果。
调用名称为time的MCP Server里的get_current_time MCP Tool。 -
第四步:Time MCP Server返回结果(当前的时间)给AI Agent(MCP Client)。
-
第五步:AI Agent(MCP Client)把用户的问题和从Time MCP Server处拿到的结果再一次给了LLM,目的是让LLM结合问题和答案再规整一下内容。
-
第六步:LLM把整理后的内容返回给AI Agent(MCP Client),最后AI Agent(MCP Client)再原封不动地返回给用户。
在MCP的整个调用过程中有一个非常关键之处就是MCP Server 以及 MCP Tool 的信息。从第一步、第二步可以看出,这个信息非常关键,是它让LLM知道了该如何解决用户的问题,这个信息就是MCP中最重要的System Prompt,本质上就是PE工程。
为什么需要 MCP?
MCP 模型上下文协议有以下优势:
-
标准化与通用性
- 统一规范:MCP 是一种开放标准,提供了统一的协议规范,如同 AI 应用程序的 “USB - C 接口”,使 AI 模型连接不同数据源和工具时遵循相同标准,而其他方式如特定代码编写、插件系统、API 接口等,通常需针对不同数据源和模型单独处理。
- 跨系统兼容:能实现不同类型数据源与 AI 模型的无缝连接,无论是本地资源(如数据库、文件),还是远程资源(如 Slack 或 GitHub)等 API,都可通过统一协议处理。
-
开发效率与便捷性
- 简化开发流程:开发者无需为每种数据类型或服务编写专门接口代码,利用 MCP 的 SDK 可快速在系统中实现连接,如开发智能家居系统时,采用 MCP 协议可将所有设备数据通过 MCP 服务器统一管理。
- 预构建服务器支持:Anthropic 提供了针对 Google Drive、Slack、GitHub 和 Postgres 等流行系统的预构建 MCP 服务器,开发者可直接使用,无需从零搭建。
-
上下文管理与交互能力
- 分布式上下文管理:对 “上下文状态” 进行抽象化处理,让上下文状态可通过协议标准化传递,不再局限于 prompt 本身,使交互更轻量化。
- 双向通信:支持数据源与 AI 模型间的双向数据流动,数据源可向 AI 模型传输信息,AI 模型也能将输出反馈给数据源,形成更高效的交互闭环。
-
安全性与可扩展性
- 安全机制完善:提供强访问控制、详细权限设置和审计跟踪,内置安全监测工具,降低数据泄露风险,保障敏感数据安全。
- 灵活扩展:具有良好的扩展性,开发者可轻松为其应用构建新的 plugin 或模块,能方便地添加新数据源或功能,快速适应不同业务需求。
其他问题解答:
1、如果我同时使用多个Claude Code,会启动多个MCP Server吗?
会,每个Claude Code实例都会启动自己的(多个)MCP Server进程,可能导致端口冲突或资源浪费。
- MCP Server是独立的进程(不是线程)
- Claude Code通过子进程方式启动它们
- 每个MCP Server在自己的进程中运行
- 关闭Claude Code工具时,也会关闭所有子进程MCP Server
2、可以远程运行MCP Server吗?
可以,但是Claude Code默认配置的是本地stdio模式。
参考文献:
2026/02/02日编写 - 第一版
更多推荐


所有评论(0)