一、MCP和A2A的理解

1.1 MCP

首先Agent 与 Tools(工具)的交互:Agent 需要调用外部工具和API、访问数据库、执行代码等。

1.2 A2A

Agent 与 Agent(其他智能体或用户)的交互 Agent 需要理解其他 Agent 的意图、协同完成任务、与用户进行自然的对话。

二、如何理解MCP

对于开发者

对于大众用户

有了DeepSeek,你就有了一个"智能助理"。但是,我们期望 LLM 能够承担更多功能,不
仅限于简单对话,还能与外部的多种数据、工具进行交互。有了MCP,成为了现实

三、如何理解LLM与MCP

四、MCP实战

1、MCP能干什么?

对于程序员来说
举例1:开发部署


开发者通过自然语言指令“部署新版本到测试环境”,触发 MCP 链式调用 GitLab API
(代码合并)、Jenkins API(构建镜像)、Slack API(通知团队)。


举例2:SQL查询


开发者通过自然语言输入,比如“查询某集团部门上个季度销售额”,就能查询出数
据库的数据,并结合大模型进行回答,不再需要编写 SQL,MCP 自动转换为精准 SQL 
语句并执行。

举例3:manus智能体

Manus的每一次任务处理都至少需要调用网页搜索、网页访问、网页信息获取、本地

文件创建、代码解释器等几十个外部工具。

这里就暴露了两个问题。
问题1:可供大模型调用的工具不足。
问题2:调用工作量很大。
借助 MCP,只要支持了该协议,就能轻松将各种数据源和工具连接到 LLM。
对于大众用户
举例1:旅游规划
当我要去旅行时,旅行规划助手通过 MCP 同时调用天气 API(获取目的地气象)、交
通 API(查询航班动态)、地图 API(规划路线),AI 自动生成带实时数据的行程方案。
举例2:联网搜索
我们在与 LLM 交互时,经常需要联网搜索最新信息以减少幻觉。然而,这里也存在问
题:
1、并非所有聊天机器人都支持联网功能
2、即使支持联网,也可能不包含你习惯使用的搜索引擎。

2、MCP 是什么?

MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由
Anthropic 推出的一种开放标准。旨在为大语言模型(LLM)提供统一的、
标准化方式与外部数据源和工具之间进行通信。
传统AI集成的问题:
这种为每个数据源构建独立连接的方式,可以被视为一个M*N问题。
问题:架构碎片化,难以扩展,限制了AI获取必要上下文信息的能力
MCP解决方案:
提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。
MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一
的方式为 AI 应用添加各种能力。
哪些平台支持MCP查询服务

github查看:
• MCP官方资源:https://github.com/modelcontextprotocol/servers
• MCP热门资源:https://github.com/punkpeye/awesome-mcp-servers
其它平台:
• Glama:https://glama.ai/mcp/servers
• Smithery:https://smithery.ai
• cursor:https://cursor.directory
• MCP.so:https://mcp.so/zh
• 阿里云百炼:https://bailian.console.aliyun.com/?tab=mcp#/mcp-market

3、程序员如何使用MCP

MCP的通信机制
根据 MCP 的规范,当前支持两种通信机制(传输方式):
• stdio(标准输入输出):主要用在本地服务上,操作你本地的软件或者本地的文
件。比如 Blender 这种就只能用 Stdio 因为他没有在线服务。 MCP默认通信方式
• SSE(Server-Sent Events):主要用在远程通信服务上,这个服务本身就有在线
的 API,比如访问你的谷歌邮件,天气情况等。
MCP的通信机制:stdio方式

优点

• 这种方式适用于客户端和服务器在同一台机器上运行的场景,简单。

• stdio模式无需外部网络依赖,通信速度快,适合快速响应的本地应用。

• 可靠性高,且易于调试

缺点

• Stdio 的配置比较复杂,我们需要做些准备工作,你需要提前安装需要的命令行工具。

• stdio模式为单进程通信,无法并行处理多个客户端请求,同时由于进程资源开销较大,不适合

在本地运行大量服务。(限制了其在更复杂分布式场景中的使用)

MCP的通信机制:SSE方式

场景

• SSE方式适用于客户端和服务器位于不同物理位置的场景。

• 适用于实时数据更新、消息推送、轻量级监控和实时日志流等场景

• 对于分布式或远程部署的场景,基于 HTTP 和 SSE 的传输方式则更为合适。

优点

• 配置方式非常简单,基本上就一个链接就行,直接复制他的链接填上就行

stdio的本地环境安装
stdio的本地环境有两种:
一种是Python 编写的服务,
一种用TypeScript 编写的服务。
分别对应着uvx 和 npx 两种指令。
stdio的本地环境安装:uvx

两种安装方式:
第1种:若已配置Python环境,可使用以下命令安装:
pip install uv
验证:重启终端并运行以下命令检查是否正常:
uv --version
uvx --help
stdio的本地环境安装:npx

Node.js下载的官网:https://nodejs.org/zh-cn

4、MCP的工作原理

4.1 MCP的C/S架构

5个核心概念
MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:
• MCP 主机(MCP Hosts)
• MCP 客户端( MCP Clients )
• MCP 服务器( MCP Servers )
• 本地资源( Local Resources )
• 远程资源( Remote Resources )

MCP Host
作为运行 MCP 的主应用程序,例如 Claude Desktop、Cursor、Cline 或 AI 工具。
为用户提供与LLM交互的接口,同时集成 MCP Client 以连接 MCP Server

MCP Client
MCP client 充当 LLM 和 MCP server 之间的桥梁,嵌入在主机程序中,主要负责:
• 接收来自LLM的请求;
• 将请求转发到相应的 MCP server
• 将 MCP server 的结果返回给 LLM
有哪些常用的Client

MCP 官网(https://modelcontextprotocol.io/clients) 列出来一些支持 MCP 的 Clients。
分为两类:
• AI编程IDE:Cursor、Cline、Continue、Sourcegraph、Windsurf 等
• 聊天客户端:Cherry Studio、Claude、Librechat、Chatwise等
更多的Client参考这里:
MCP Clients:https://www.pulsemcp.com/clients
Awesome MCP Clients:https://github.com/punkpeye/awesome-mcp-clients/
MCP Server
每个 MCP 服务器都提供了一组特定的工具,负责从本地数据或远程服务中检索信息。
是 MCP 架构中的关键组件。
与传统的远程 API 服务器不同,MCP 服务器既可以作为本地应用程序在用户设备上运
行,也可部署至远程服务器。
比如你让助手:
• “帮我查航班信息” → 它调用航班查询 API
• “算一下 37% 折扣后多少钱” → 它运行计算器函数
作用:让 LLM 不仅能“说”,还能“做”(执行代码、查询数据等)

MCP Server 的本质

本质是运行在电脑上的一个nodejs或python程序。可以理解为客户端用命令行调用了
电脑上的nodejs或python程序。
• 使用 TypeScript 编写的 MCP server 可以通过 npx 命令来运行
• 使用 Python 编写的 MCP server 可以通过 uvx 命令来运行。
4.2 MCP工作流程
API 主要有两个
• tools/list:列出 Server 支持的所有工具
• tools/call:Client 请求 Server 去执行某个工具,
并将结果返回

4.3 Cursor中使用MCP
在MCP的概念中,Cursor属于一个MCP的宿主应用(Host-app),而Cursor之所以
能使用MCP服务,是因为它内置安装了MCP Client。
我们目前在配置Cursor中的MCP时,本质是在配置MCP Server,这些Server是由
不同的开发者提供的,他们基于标准化的MCP协议,做了个小的服务,这些服
务可能在本地也可能在云端,而我们实际上也完全可以按自己的需要去制作
MCP Server。

5、手动开发MCP项目(C/S)

6、大众用户如何使用MCP

Cherry Studio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的
全能 AI 助手平台。支持 Windows,Linux 和 Mac。
同时,CherryStudio提供了一个简洁便于操作的可视化页面,通过简单的配置即可
开启MCP服务。非常适合大众用户用于构建“低代码智能流程”。
Cherry Studio的下载地址:https://cherry-ai.com/

7、热门MCP Servers推荐

推荐1:文件系统 filesystem
Filesystem MCP 旨在为大型语言模型(LLM)和 AI 助手提供对本地文件系统的安全、受控访问。
主要功能:
- 文件读写:允许读取和写入文件内容,支持创建新文件或覆盖现有文件。
- 目录管理:支持创建、列出和删除目录,以及移动文件或目录。
- 文件搜索:能够在指定路径中搜索匹配特定模式的文件或目录。
- 元数据获取:提供获取文件或目录的详细元数据,包括大小、创建时间、修改时间、访问时间、
类 型和权限等信息。
网页数据采集 Firecrawl
Firecrawl MCP 工具是一款基于模型上下文协议(MCP)的企业级网页数据采集服务器。能够为
大型语言模型(LLM)提供强大的网页抓取能力。
主要功能:
• JavaScript 渲染:能够处理动态网页内容,突破传统抓取工具的局限,获取更全面的数据。
• 批量处理:支持并行处理和队列管理,提高数据抓取效率。
• 智能限速:根据网络状况和任务需求智能调整抓取速度,避免对目标网站造成过大压力。
• 多种输出格式:支持将抓取的内容转换为 Markdown、HTML 等格式,满足不同场景的需求。
说明:去firecrawl官网注册后即可查看自己的api_key
Github
GitHub MCP 服务器是一个模型上下文协议 (MCP) 提供与 GitHub API 无缝集成的服务器,从
而实现面向开发人员的高级自动化工具和交互功能。
使用案例:
• 自动化 GitHub 工作流程和流程。
• 从 GitHub 存储库中提取和分析数据。
• 构建与 GitHub 生态系统交互的 AI 驱动的工具和应用程序。
说明:去https://github.com/settings/tokens 申请自己的token
Git
用于 Git 存储库交互和自动化的模型上下文协议服务器。
直接的Git仓库操作,包括读取、搜索和分析本地仓库
记忆图谱 memory
基于知识图谱的长期记忆系统用于维护上下文
使用本地知识图谱的持久内存的基本实现。这使 Claude 可以在聊天中记住有关
用户的信息。
控制台 desktop-commander
在计算机上无缝执行终端命令和管理流程。使用强大的命令执行和文件作工具简化您的开
发任务。

8、A2A协议:开启Agent间协作

在 AI Agent 的世界里,主要解决两大互联领域的挑战:
第一、Agent 与 Tools(工具)的交互
Agent 需要调用外部 API、访问数据库、执行代码等。
第二、Agent 与 Agent(其他智能体或用户)的交互
Agent 需要理解其他 Agent 的意图、协同完成任务、
与用户进行自然的对话。
A2A的发布
谷歌,25年4月10日发布开源的、应用层协议 A2A(Agent-to-Agent 协议),即
Agent-to-Agent。其设计目的是使智能体(Agent)间能够以一种自然的模态进行协
作,类似于人与人之间的互动。
Github 地址:https://github.com/google/A2A

 

举例1:阿里云 & 火山云
阿里云上创建的 AI Agent,通过A2A协议,可以与火山云上创建的 AI
Agent 进行无缝的通信与协作。
举例2:修理汽车
用户(或代表用户的智能体)对修理店智能体说:“给我看看左前轮的照片,似
乎漏液了,这种情况多久了?”
• A2A 协议使得人与智能体之间这种更自然、多轮次的对话式互动成为可能。
修理店智能体在诊断出问题后,可能需要向零件供应商智能体查询某个零件的库
存和价格。
• 这种智能体与智能体之间的协作同样需要 A2A 协议来支持。
举例3:人才招聘
利用 A2A 协议,招聘流程可以如此高效:
在谷歌的 Agentspace 统一界面中,招聘经理可以向自己的智能体下达任务,
让其寻找与职位描述、工作地点和技能要求相匹配的候选人。
然后,该智能体立即与其他专业智能体展开互动,寻找潜在候选人。
用户会收到推荐人选,之后可以指示自己的智能体安排进一步的面试,面试
环节结束后,还可以启动另一个智能体来协助进行背景调查。
谷歌已经与超过 50 家技术合作伙伴(例如 Atlassian、Box、Salesforce、SAP 等)和服务提供商建立了
合作关系。这表明了行业对这些协议的认可和采用,对于 AI 学习者来说,也意味着这些协议可能会
成为未来职业发展中的关键技能。

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐