大家好,我是玄姐。
随着 Manus 推动 Agent 应用的火爆,MCP(模型上下文协议)成为众多社区热议的焦点。今天,我们将深入解析 MCP 并提供实操应用指南。相信读完这篇文章,你就能立刻上手 MCP。
—1—
MCP 架构设计全剖析
第一、为什么会出现 MCP?
如果你开发了一个 AI 应用,无论是 ChatBot 还是复杂的 Agent,都不会仅限于简单的 LLM 对话。很多时候,你需要与外部世界连接,以访问数据源或使用工具。例如:
操控浏览器实现自动化;
访问本地文件;
访问数据库结构,以便更好地让 AI 参与编程;
调用 CRM 的 API 以驱动智能客服流程。
在这种情况下,你需要连接不同的对象,使用不同的接口协议。你可能需要熟悉 SQL、HTTP 调用、Playwright 等接口,甚至还需要使用搜索引擎、访问云存储、调用第三方开放API等。这些都涉及大量的“粘合”工作。
MCP(模型上下文协议)正是为了解决这一问题。它允许 LLM 应用通过统一的协议连接外部资源,而无需逐个适配。MCP 通过增加一个中间层来实现这一点:LLM 应用通过统一的 MCP 协议连接到中间层(称为 MCP Server),而中间层则负责处理与外部资源的对接。
那么,为什么在 Agent 应用火热之后,大家才开始关注 MCP 呢?原因很简单:Agent 是最需要对接外部资源和工具的 LLM 应用类型。
第二、MCP 有哪些好处?
这种设计范式在软件系统中其实很常见,比如:一些大模型 API 网关会将不同厂家的大模型协议转化为统一的 OpenAI 兼容协议,方便应用接入。它的具体意义主要体现在以下几点:
简化 LLM 应用:无需适配各种私有协议,只需学会连接 MCP Server 即可。
快速扩展 LLM 应用:随时可以“插拔”新的 MCP Server,需要更多功能时,简单添加即可。
快速适应变化:如果外部资源的接口发生变化,只需在对应的 MCP Server 上进行修改,所有连接的 LLM 应用都能无缝适应。
构建新的 AI 能力共享生态:通过共享 MCP Server,新的 LLM 应用能够快速获得各种工具,形成一种新的合作体系,从而提升整体的效用。
例如,MCP 的提出者 Anthropic 旗下的 Claude Desktop,就可以通过这种方式轻松扩充自身的能力。
第三、基于 MCP 的 Agent 架构设计
以下是基于 MCP 将 LLM 应用(Agent)与外部资源集成的架构设计图:
与 LLM 应用直接连接外部资源的方式相比,这里主要增加了一个中间层(MCP Server)以及用于连接该中间层的(MCP Client)。理解了这两个组件,你就基本掌握了 MCP 的核心。
1、MCP Server
这里的 “Server” 并非传统意义上的集中式服务器,更像是一个服务插件。
MCP Server 部署位置
MCP Server可以部署在 LLM 应用所在的本机上,也可以远程部署(Remote)。不过目前远程部署方式尚未完善,暂时不考虑。以下内容仅针对本地部署模式。
MCP Server 提供的“服务”
Tools:为 LLM 应用,尤其是 Agent 提供各种工具。
Resources:为 LLM 应用提供额外的结构化数据。
Prompts:为 LLM 应用提供 Prompt模板。例如,如果你的应用是一个Chatbot,可以从 MCP Server 中获取这些模板供用户选择使用。
获取 MCP Server 的方式
自己使用 MCP SDK 创建后,供个人或企业内部共享使用。
从他人创建的 MCP Servers 中“挑选”,然后下载使用。例如,可以从以下链接获取。
MCP Server 的启动方式
在本地模式下,通过在 LLM 应用中配置启动命令后,MCP Server 会自动启动。
需要注意的是,不同的 MCP Server 可能有不同的启动命令,具体请查看 MCP Server 的说明书。
部分 MCP Server 可能需要先安装依赖项;而对于通过 npx 或 uvx 运行的 MCP Server,则会自动下载缓存并临时运行。
启动后,MCP Server 在物理形式上是一个独立的进程。
MCP Server 与 Client 应用的通信方式
在本地模式下,MCP Server 与客户端应用之间通过 stdio/stdout(标准输入输出)进行进程间通信,交换消息。这种通信方式你可能已经很熟悉了,例如:
cat file.txt | grep "error" | sort > result.txt
创建 MCP Server 的编程语言
目前支持使用 TS(TypeScript)、Python、Java SDK 来编写 MCP Server。
2、MCP Client
MCP Client 是由客户端 LLM 应用使用 Client SDK 创建并维护的一个 Server 会话,就像你在程序中维护一个数据库的 Connection 一样。一般长这样:
async with stdio_client(server_params) as (read, write): async with ClientSession( read, write, sampling_callback=None ) as session:、......
借助 Client SDK 你可以与 MCP Server 通信。比如查看 Server 的 Tools:
tools = await session.list_tools()
本地模式下,Client 与 Server 是一对一的关系。如果需要连接多个MCP Server,需要自行维护多个 Session。
—2—
动手做一个 MCP
让我们通过一个简单的 Client + Server 的完整案例来加深对 MCP 的理解。
首先,使用以下命令安装 SDK:
pip install mcp
安装完成后,按照以下步骤进行操作:
第一、创建 MCP Server
这个 MCP Server 仅具备一个功能:提供一个计算器工具。具体实现如下:
#server_demo.pyfrom mcp.server.fastmcp import FastMCP# 创建一个MCP服务器mcp = FastMCP("演示")# 添加一个工具@mcp.tool()def calculate(expression: str) -> float: """计算四则运算表达式 参数: expression: 数学表达式字符串,如 "1 + 2 * 3" 返回: 计算结果 """ ...省略计算器代码... if __name__ == "__main__": mcp.run(transport='stdio')
注意这里必须要有启动代码,但现在你不需要启动它。
第二、创建 MCP Client
接下来,创建一个客户端应用,用于连接上述 MCP Server 并调用其中的计算器功能:
#client_demo.pyfrom mcp.client.stdio import stdio_clientfrom mcp import ClientSession, StdioServerParameters, typesimport asyncio#Client会使用这里的配置来启动本地 MCP Serverserver_params = StdioServerParameters( command="python", args=["./server_demo.py"], env=None ) async def main(): async with stdio_client(server_params) as (read, write): async with ClientSession( read, write, sampling_callback=None ) )as session: await session.initialize() print('\n正在调用工具...') result = await session.call_tool("calculate",{ "expression": "188*23-34" }) print(result.content) asyncio.run(main())
现在直接运行这个 Client,就可以看到如下输出:
第三、如何调试 MCP Server
如果只是单纯开发 MCP Server,如何快速进行测试呢?对于用 Python 编写的 Server,可以通过 MCP Inspector 来进行调试。运行以下命令:
mcp dev server_demo.py
随后,访问 http://localhost:5173,即可进入可视化调试界面,在这里可以直观地测试刚才的计算器工具。
PS:
推荐大家加入《3天 基于 MCP 的 Agent 项目实战直播训练营》,为了帮助大家快速和低成本掌握 AI Agent 智能体技术,我和团队落地大模型项目3年,帮助60多家企业落地近100个项目,根据我们企业级实战的项目经验,打造基于 MCP、Manus、DeepSeek 的 AI Agent 项目实战直播训练营,截至今天已经报名2万名学员,如此火爆!原价199元,为了回馈粉丝的支持,价格直接降到 19元,点击以下报名。
—3—
3天 Agent 智能体项目实战直播课
3天的直播课,带你快速掌握基于 MCP、Manus、DeepSeek 的AI Agent 智能体核心技术和企业级项目实践经验。
模块一:AI Agent 智能体技术原理篇
全面拆解 AI Agent 智能体技术原理,深度掌握基于 MCP、Manus、DeepSeek 的 AI Agent 智能体三大能力及其运行机制。
模块二:AI Agent 智能体应用开发实战篇
深度讲解基于 MCP、Manus、DeepSeek 的 AI Agent 智能体技术选型及开发实践,学会开发 AI Agent 智能体核心技术能力。
模块三:AI Agent 智能体企业级案例实战篇
基于 MCP、Manus、DeepSeek,从需求分析、架构设计、架构技术选型、硬件资料规划、核心代码落地、服务治理等全流程实践,深度学习企业级 AI Agent 智能体项目全流程重点难点问题解决。
3天时间,你能学会什么?
在真实项目实践中,你会获得4项硬核能力:
第一、全面了解 DeepSeek 大模型、MCP、Manus、AI Agent 智能体的原理、架构和实现方法,掌握核心技术精髓。
第二、熟练使用 Dify/Coze 平台、MCP、Manus、DeepSeek、LangChain、AutoGen 等开发框架,为企业级技术实践打下坚实基础。
第三、通过企业级项目实战演练,能够独立完成基于 MCP、Manus、DeepSeek 的 AI Agent 智能体的设计开发和维护,学会解决企业级实际问题的能力。
第四、为职业发展提供更多可能性,无论是晋升加薪还是转行跳槽,提升核心技术竞争力。
限时优惠:
原价199元,回馈粉丝们支持,现在报名只需19元!赶快加入把~~
—4—
添加助教直播学习
购买后,一定记得添加助理,否则无法进行直播学习👇
参考来源:
https://mp.weixin.qq.com/s/QDmbNoixP4awOeZMAvxrlA
⬇戳”阅读原文“,立即报名!
END