|
一、背景 1、大模型应用中两个互联领域的重大挑战 (1)Agent 与 Tools(工具)的交互 Agent 需要调用外部工具和API、访问数据库、执行代码等。 (2)Agent 与 Agent(其他智能体或用户)的交互 Agent 需要理解其他 Agent 的意图、协同完成任务、与用户进行自然的对话。 
二、核心概念 MCP 定义:MCP(Model Context Protocol,模型上下文协议)是 Anthropic 于 2024 年 11 月推出的开放标准,旨在为大语言模型(LLM)提供统一、标准化的方式与外部数据源和工具通信,解决传统 AI 集成架构碎片化、扩展困难的问题。 1、核心价值 官网: https://modelcontextprotocol.io/introduction github: https://github.com/modelcontextprotocol 
2、如何理解LLM与MCP? 
看到这张图,大概可以联想到前段时间特别火的Manus智能体,掌握了MCP,感觉自己也可以轻松做出一个Manus了。 借助 MCP,只要支持了该协议,就能轻松将各种数据源和工具连接到 LLM。 3、 MCP的理解 传统AI集成的问题:这种为每个数据源构建独立连接的方式,可以被视为一个M*N问题。 问题:架构碎片化,难以扩展,限制了AI获取必要上下文信息的能力 MCP解决方案:提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。 
MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。 
4、哪些平台支持MCP查询(MCP Server) github查看:
各种平台: 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
注意: 5、MCP应用场景 
三、MCP的通信机制 根据 MCP 的规范,当前支持两种通信机制(传输方式): 1、Stdio方式 优点
缺点 Stdio 的配置比较复杂,我们需要做些准备工作,你需要提前安装需要的命令行工具。 stdio模式为单进程通信,无法并行处理多个客户端请求,同时由于进程资源开销较大,不适合 在本地运行大量服务。(限制了其在更复杂分布式场景中的使用)。
可能大家还有一个疑问,Stdio方式是一种典型的C/S架构, 我们使用大模型基本都是直接使用在线(API)方式,为啥还需要用到Stdio方式呢?这种方式重要吗? 答:联想上面的一个机器人的图,MCP的Server端就是机器人的 机械臂、眼睛等设备,Client在机器人的大脑里靠近LLM大模型,Server与Client必须在一个设备里(机器人)。 再联系下,让LLM操作自己电脑里的文件(比如打开某个目录打开某个文件)、执行本机的cmd命令,连接内网的数据库等(Server端)操作,都需要Server端放在本地电脑里,Client端需要桥接LLM与Server端,所以也要放本地电脑里,LLM可以不在本地电脑里。 因此,Stdio是非常重要的MCP通信机制。本文也大都基于Stdio方式讲解。 
2、SSE方式 场景 SSE方式适用于客户端和服务器位于不同物理位置的场景。 适用于实时数据更新、消息推送、轻量级监控和实时日志流等场景 对于分布式或远程部署的场景,基于 HTTP 和 SSE 的传输方式则更为合适。
优点 配置方式非常简单,基本上就一个链接就行,直接复制他的链接填上就行。
3、 stdio的本地环境安装 stdio的本地环境有两种:Python 编写的服务和TypeScript 编写的服务。分别对应着uvx 和npx 两种指令,这两种指令一般都需要安装。 (1)安装uvx powershell-ExecutionPolicyByPass-c"irmhttps://astral.sh/uv/install.ps1|iex” 验证:重启终端并运行以下命令检查是否正常: (2)安装npx 只需要安装node.js即可,安装包从官网下载。 https://nodejs.org/zh-cn 四、Stdio方式的架构 1、5个核心概念 MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念: MCP 主机(MCP Hosts) MCP 客户端( MCP Clients ) MCP 服务器( MCP Servers ) 本地资源( Local Resources ) 远程资源( Remote Resources )

(1)MCP Host 作为运行MCP 的主应用程序,例如Claude Desktop、Cursor、Cline或AI 工具。为用户提供与LLM交互的接口,同时集成MCP Client 以连接MCP Server。 
(2)MCP Client MCP client 充当 LLM 和 MCP server 之间的桥梁,嵌入在主机程序中,主要负责: 接收来自LLM的请求; 将请求转发到相应的 MCP server 将 MCP server 的结果返回给 LLM

有哪些常用的Clients? MCP 官网 列出来一些支持 MCP 的 Clients。 https://modelcontextprotocol.io/clients 分为两类:
更多的Client参考这里: MCP Clients: https://www.pulsemcp.com/clients Awesome MCP Clients: https://github.com/punkpeye/awesome-mcp-clients/ (3)MCP Server 每个 MCP 服务器都提供了一组特定的工具,负责从本地数据或远程服务中检索信息。是 MCP 架构中的关键组件。 
与传统的远程 API 服务器不同,MCP 服务器既可以作为本地应用程序在用户设备上运行(Stdio方式),也可部署至远程服务器(SSE方式)。 比如你让助手:
| 作用:让 LLM 不仅能“说”,还能“做”(执行代码、查询数据等)。 |
MCP Server 的本质 本质是运行在电脑上的一个nodejs或python程序。可以理解为客户端用命令行调用了电脑上的nodejs或python程序。 
2、工作流程 API 主要有两个 
数据流向图 
|