MCP指南
两个互联领域的重大挑战:
第一、Agent 与 Tools(工具)的交互
Agent 需要调用外部工具和API、访问数据库、执行代码等。MCP
第二、Agent 与 Agent(其他智能体或用户)的交互
Agent 需要理解其他 Agent 的意图、协同完成任务、与用户进行自然的对话。A2A
MCP就是大模型连接世界的标准、桥梁!

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


1. MCP能干什么?对于程序员来说
举例1:开发部署
开发者通过自然语言指令“部署新版本到测试环境”,触发 MCP 链式调用 GitLab API
(代码合并)、Jenkins API(构建镜像)、Slack API(通知团队)。
举例2:SQL查询
开发者通过自然语言输入,比如“查询某集团部门上个季度销售额”,就能查询出数
据库的数据,并结合大模型进行回答,不再需要编写 SQL,MCP 自动转换为精准 SQL
语句并执行。
借助 MCP,只要支持了该协议,就能轻松将各种数据源和工具连接到 LLM。
2. MCP是什么?
2.1 MCP的理解
MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由
Anthropic 推出的一种开放标准。旨在为大语言模型(LLM)提供统一的、
标准化方式与外部数据源和工具之间进行通信。

传统AI集成的问题:这种为每个数据源构建独立连接的方式,可以被视为一个M*N问题。
问题:架构碎片化,难以扩展,限制了AI获取必要上下文信息的能力
MCP解决方案:提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。

MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。
官方文档:https://modelcontextprotocol.io/introduction

大模型是与mcp-client进行交互的,这个交互不属于mcp协议的内容。mcp协议规定的是mcp-client与mcp-server之间的交互,而大模型与mcp-client的交互是编辑Function Call,Function Call规定了交互的数据形式等,而具体api调用每个语言都不同,比如Java使用spring ai,其他的还有langchain,这都不属于mcp的范畴。
没有个大模型function call的实现机制不一样;你如果要适配多个大模型,一个工具就需要写n次,mcp你就只需要写一次。
2.3 哪些平台支持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
这里有两点要说的:
第1,随着越来越多的Server接入MCP协议,未来AI能够直接调用的工具将呈
现指数级增长,这能从根源上打开Agent能力的天花板。未来 AI 生态系统将
变得更加开放和强大。
第2,目前社区的 MCP Server 还是比较混乱,有很多缺少教程和文档,很多
的代码功能也有问题,大家只能凭经验和参考官方文档了。
3. 程序员如何使用MCP
3.1 MCP应用场景

3.2 使用前的准备工作
① 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
第2种:在Windows下可以通过PowerShell运行命令来安装uv。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex”
验证:重启终端并运行以下命令检查是否正常:
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 )
4.1 MCP的C/S架构
① 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
② MCP Client
有哪些常用的Clients
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
• “算一下 37% 折扣后多少钱” → 它运行计算器函数
作用:让 LLM 不仅能“说”,还能“做”(执行代码、查询数据等)。
MCP Server 的本质
本质是运行在电脑上的一个nodejs或python程序。可以理解为客户端用命令行调用了
电脑上的nodejs或python程序。
• 使用 TypeScript 编写的 MCP server 可以通过 npx 命令来运行
• 使用 Python 编写的 MCP server 可以通过 uvx 命令来运行。
4.1 MCP的C/S架构
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)
案例需求
本项目旨在构建一个本地智能舆情分析系统,通过自然语言处理与多工具协作,
实现用户查询意图的自动理解、新闻检索、情绪分析、结构化输出与邮件推送。
具体参考《手动开发MCP项目(CS架构).md》

6. 大众用户如何使用MCP
6.1 Cherry Studio的MCP说明
Cherry Studio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的
全能 AI 助手平台。支持 Windows,Linux 和 Mac。
同时,CherryStudio提供了一个简洁便于操作的可视化页面,通过简单的配置即可
开启MCP服务。非常适合大众用户用于构建“低代码智能流程”。
Cherry Studio的下载地址:https://cherry-ai.com/
6.2 使用案例
具体详情,见《Cherry Studio中使用MCP案例.md》
6.3 准备工作:安装uv、bun
Cherry Studio 目前只使用内置的 uv(https://github.com/oven-sh/bun/releases) 和
bun(https://github.com/astral-sh/uv/releases),不会复用系统中已经安装的 uv 和 bun。
7. 热门MCP Servers推荐
推荐1:文件系统 filesystem
Filesystem MCP 旨在为大型语言模型(LLM)和 AI 助手提供对本地文件系统的安全、受控访问。
主要功能:
- 文件读写:允许读取和写入文件内容,支持创建新文件或覆盖现有文件。
- 目录管理:支持创建、列出和删除目录,以及移动文件或目录。
- 文件搜索:能够在指定路径中搜索匹配特定模式的文件或目录。
- 元数据获取:提供获取文件或目录的详细元数据,包括大小、创建时间、修改时间、访问时间、
类 型和权限等信息。
推荐2:数据库 mysqldb-mcp-server
一种模型上下文协议 (MCP) 实现,支持与 MySQL 数据库进行安全交互。此服务
器组件可促进 AI 应用程序(主机/客户端)与 MySQL 数据库之间的通信,提供安
全的 MySQL 数据库操作,通过受控接口使数据库探索和分析更安全、更有条理。
推荐3:高德地图 amap-maps
高德地图是一个支持任何 MCP 协议客户端的服务器,允许用户轻松地利用高德地图 MCP 服务
器进行各种基于位置的服务。
高德地图的主要特点
• 支持多种位置服务,包括地理编码、天气和距离测量
• 提供步行、驾车、公交等多种交通方式的 API
• 允许根据关键字或位置详细搜索兴趣点 (POI)
推荐4:网页数据采集 Firecrawl
Firecrawl MCP 工具是一款基于模型上下文协议(MCP)的企业级网页数据采集服务器。能够为
大型语言模型(LLM)提供强大的网页抓取能力。
主要功能:
• JavaScript 渲染:能够处理动态网页内容,突破传统抓取工具的局限,获取更全面的数据。
• 批量处理:支持并行处理和队列管理,提高数据抓取效率。
• 智能限速:根据网络状况和任务需求智能调整抓取速度,避免对目标网站造成过大压力。
• 多种输出格式:支持将抓取的内容转换为 Markdown、HTML 等格式,满足不同场景的需求。
说明:去firecrawl官网注册后即可查看自己的api_key
推荐5:Github
GitHub MCP 服务器是一个模型上下文协议 (MCP) 提供与 GitHub API 无缝集成的服务器,从
而实现面向开发人员的高级自动化工具和交互功能。
使用案例:
• 自动化 GitHub 工作流程和流程。
• 从 GitHub 存储库中提取和分析数据。
• 构建与 GitHub 生态系统交互的 AI 驱动的工具和应用程序。
说明:去https://github.com/settings/tokens 申请自己的token
推荐6:Git
用于 Git 存储库交互和自动化的模型上下文协议服务器。
直接的Git仓库操作,包括读取、搜索和分析本地仓库
推荐7:记忆图谱 memory
基于知识图谱的长期记忆系统用于维护上下文
使用本地知识图谱的持久内存的基本实现。这使 Claude 可以在聊天中记住有关
用户的信息。
推荐8:控制台 desktop-commander
在计算机上无缝执行终端命令和管理流程。使用强大的命令执行和文件作工具简化您的开
发任务。
推荐9:社交软件 Slack
用于 Slack API 的 MCP 服务器,使 LLM 能够与 Slack 工作区进行交互,用于频道
管理和消息传递。
说明:去https://app.slack.com/intl/zh-cn注册并获取自己的team id
8. A2A协议:开启Agent间自然协作
8.1 A2A的发布
谷歌,25年4月10日发布开源的、应用层协议 A2A(Agent-to-Agent 协议),即
Agent-to-Agent。其设计目的是使智能体(Agent)间能够以一种自然的模态进行协
作,类似于人与人之间的互动。
Github 地址:https://github.com/google/A2A
8.2 A2A的设计意义
基于不同底层框架和供应商平台创建的 AI Agent 之间可以实现通信、发现彼此的能力、协商任务并开展合作,企业可以通过专业的智能体团队处理复杂的工作流程。这无疑是其最为突出的贡献。


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

MCP 未来应用场景和潜力:
企业级集成: MCP 可以被广泛应用于企业级场景,通过 AI 自动化操作云服务、数据库、安全审计等,提高生产力与安全性。
个人 AI 助手: 结合 MCP,AI 助手可以直接访问用户的本地文件系统、日历、笔记等资源,提供个性化服务。
开发者效率提升: MCP 可以帮助开发者自动化项目管理、代码分析、容器管理等工作,减少重复性任务。
数据科学与分析: AI 可以通过 MCP 访问分布式数据库、实时监控系统,实现数据的多元化分析与决策支持。
智能家居与物联网: MCP 服务器可以集成智能家居设备(如 Home Assistant),实现语音控制、场景联动等功能。
教育与研究: 教育领域的 AI 可以通过 MCP 管理学习资源,研究人员也可以使用它进行论文搜索、实验数据管理。
跨语言协作: MCP 的翻译服务和多语言支持可以应用于跨国团队协作与内容生成。
