[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-mcp-ruhe-chengwei-ai-jicheng-usb-c-jishu-shendu-fenxi":3},{"article":4,"author":50},{"id":5,"category_id":6,"title":7,"slug":8,"excerpt":9,"content_md":10,"content_html":11,"locale":12,"author_id":13,"published":14,"published_at":15,"meta_title":7,"meta_description":16,"focus_keyword":17,"og_image":18,"canonical_url":18,"robots_meta":19,"created_at":15,"updated_at":15,"tags":20,"category_name":30,"related_articles":31},"d0000000-0000-0000-0000-000000000506","a0000000-0000-0000-0000-000000000036","MCP 如何成为 AI 集成的 USB-C——技术深度分析","mcp-ruhe-chengwei-ai-jicheng-usb-c-jishu-shendu-fenxi","对 Model Context Protocol 的全面技术分析——从它解决的 N x M 集成问题到 JSON-RPC 架构、与替代方案的比较、采用时间线以及 agent 间通信的未来。","## N x M 集成问题\n\n在 Model Context Protocol 出现之前，将 AI 模型连接到外部工具是一个组合爆炸的练习。每个 AI 应用程序（Claude、GPT、Gemini、Copilot）都需要为每个工具（Slack、Jira、GitHub、数据库、API）进行自定义集成。对于 **M** 个 AI 应用程序和 **N** 个工具，行业需要 **M x N** 个自定义适配器——每个都有自己的身份验证流程、数据格式、错误处理和维护负担。\n\n考虑规模：到 2025 年，大约有 20 个主要 AI 应用平台和数百个企业工具。数学是不可持续的。每个新的 AI 平台都必须从头开始重建集成。每个新工具都必须为每个 AI 平台编写适配器。这与硬件行业在 USB 之前面临的问题相同：每个设备都有自己的专有连接器，每台计算机都需要不同的端口。\n\nMCP 以 USB-C 解决连接器问题的方式解决了这个问题：**标准化接口**。使用 MCP，每个 AI 应用程序实现一个 MCP client，每个工具实现一个 MCP server。M x N 问题变为 **M + N**。一个协议，通用兼容性。\n\n## 协议架构：JSON-RPC、Capabilities 和三个原语\n\nMCP 构建在 **JSON-RPC 2.0** 之上，这是支持每个现代代码编辑器的 Language Server Protocol (LSP) 使用的同一轻量级 RPC 协议。这是一个深思熟虑的设计选择：JSON-RPC 简单、广为人知、与语言无关且经过实战检验。\n\n### JSON-RPC 基础\n\n每个 MCP 消息都是一个 JSON-RPC 对象：\n\n```json\n\u002F\u002F Request\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools\u002Fcall\",\n  \"params\": {\n    \"name\": \"query_database\",\n    \"arguments\": {\n      \"sql\": \"SELECT * FROM users LIMIT 10\"\n    }\n  }\n}\n\n\u002F\u002F Response\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"result\": {\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"[{\\\"id\\\": 1, \\\"name\\\": \\\"Alice\\\"}, ...]\"\n      }\n    ]\n  }\n}\n```\n\n三种消息类型：**request**（期望响应）、**response**（回答请求）和 **notification**（即发即忘）。这清晰地映射到 MCP 的通信模式。\n\n### Capability 协商\n\n`initialize` 握手是 client 和 server 就其支持的功能达成一致的地方。这是优雅降级的设计。简单的只提供 tools 的服务器不需要实现 resources 或 prompts。不支持 sampling 的 client 只需省略该 capability。双方都适应对方所支持的内容。\n\n### 三个原语\n\nMCP 定义了服务器可以公开的三种能力类型：\n\n**1. Tools** —— 模型控制的函数\n\nTools 是最常用的原语。它们代表 AI 模型可以调用的操作。模型根据用户请求决定何时以及如何调用它们。\n\n**2. Resources** —— 应用程序控制的数据\n\nResources 提供由 host 应用程序（而非模型）决定包含在上下文中的数据。它们由 URI 标识并以各种 MIME 类型返回内容。\n\n**3. Prompts** —— 用户控制的模板\n\nPrompts 是用户可以选择的可重用模板。它们提供将指令与动态数据相结合的特定领域工作流。\n\n这种三原语设计涵盖了 AI 工具交互的完整范围。Tools 处理操作，resources 处理数据，prompts 处理工作流。\n\n## 与替代方案的比较\n\nMCP 并非在真空中出现。在 MCP 之前，已存在几种将 AI 连接到工具的方法。理解差异解释了为什么 MCP 胜出。\n\n### MCP vs Function Calling\n\n| 方面 | Function Calling | MCP |\n|------|-----------------|-----|\n| 工具定义 | 每请求，在 prompt 中 | 持久的，来自服务器 |\n| 发现 | 静态，开发者定义 | 动态，服务器宣布工具 |\n| 执行 | 应用代码处理 | MCP server 处理 |\n| 可重用性 | 项目间复制粘贴 | 一个服务器服务所有 client |\n| 有状态会话 | 否 | 是 |\n| 标准协议 | 否（厂商特定） | 是（开放规范） |\n| 多模型支持 | 厂商锁定 | 通用 |\n\n### MCP vs OpenAPI \u002F REST API\n\n| 方面 | OpenAPI \u002F REST | MCP |\n|------|---------------|-----|\n| 协议 | HTTP（请求\u002F响应） | JSON-RPC（双向） |\n| 流 | 有限（SSE、WebSocket） | 原生（通知、进度） |\n| AI 专用功能 | 无 | Resources、prompts、sampling |\n| Capability 协商 | 无 | 内置 |\n| 会话管理 | 默认无状态 | 有状态会话 |\n\n### MCP vs LangChain \u002F LlamaIndex Tools\n\n| 方面 | 框架工具 | MCP |\n|------|---------|-----|\n| 框架依赖 | 锁定到一个框架 | 框架无关 |\n| 语言依赖 | Python（主要） | 任何语言 |\n| 部署 | 进程内 | 独立进程\u002F服务 |\n| 共享 | 导入库代码 | 连接到运行的服务器 |\n| 安全边界 | 同一进程 | 进程\u002F网络隔离 |\n\n## 采用时间线：从 Anthropic 实验到行业标准\n\nMCP 从单一公司的实验上升为行业标准的速度超出了所有人的预期。\n\n### 2024：发布\n\n- **2024 年 11 月**：Anthropic 将 MCP 规范作为开放协议发布。TypeScript 和 Python 的初始 SDK。\n- **2024 年 12 月**：Claude Desktop 随 MCP 支持发布。开发者为文件系统、数据库和网页搜索构建首批 MCP server。\n\n### 2025：生态系统增长\n\n- **2025 Q1**：Cursor、Windsurf 和其他 AI 代码编辑器采用 MCP。开发者工具生态系统爆发式增长。\n- **2025 Q2**：OpenAI 宣布在其 Agents SDK 中支持 MCP。Google DeepMind 将 MCP 集成到 Gemini tools。\n- **2025 Q3**：Microsoft 在 Copilot Studio 中添加 MCP 支持。Streamable HTTP transport 被添加到规范中。\n- **2025 Q4**：企业采用加速。Salesforce、ServiceNow 和 Atlassian 为其平台发布官方 MCP server。\n\n### 2026：行业标准\n\n- **2026 Q1**：Gartner 将 MCP 列为 AI agent 的\"关键使能技术\"。MCP Registry（MCP server 公共目录）上线，列出 2,000+ 个服务器。\n- **2026 年 3 月**：Linux Foundation 宣布将托管 MCP 治理。Java、Kotlin、C# 和 Swift SDK 达到 1.0 版本。\n- **预测**：到 2026 年底，40% 的企业应用程序将包含 AI agent 能力，MCP 将成为工具集成的主导协议。\n\n## 使采用成为可能的协议设计决策\n\n几个特定的设计选择使 MCP 在先前标准失败的地方取得了成功：\n\n### 1. Transport 无关性\n\n通过将协议与 transport 分离，MCP 随处可用。相同的服务器逻辑通过 stdio（本地）、SSE（web）或 Streamable HTTP（生产）运行。\n\n### 2. 渐进式复杂性\n\n最小的 MCP server 只需 20 行代码。您可以逐步添加 resources、prompts、身份验证和多租户支持。\n\n### 3. LSP 传承\n\n构建在 JSON-RPC 2.0 之上——与 Language Server Protocol 相同的基础——使 MCP 在开发者工具团队中获得即时信誉。\n\n### 4. 双向通信\n\n与 REST（仅 client 发起）不同，MCP 支持 server 到 client 的通知。这支持实时更新、进度报告和 capability 变更公告，无需轮询。\n\n### 5. 安全设计\n\nMCP 包含 OAuth 2.0 集成、capability 范围界定和敏感操作的人在环确认。\n\n## 未来：Agent 间通信和企业 MCP Gateway\n\n### 通过 MCP 实现 Agent 间通信\n\nMCP 的下一个前沿是 **agent 间通信**。今天，MCP 将 AI 模型连接到工具。明天，MCP server 本身将成为 AI agent，创建 AI 驱动的服务链。\n\n### 企业 MCP Gateway\n\n大型组织将部署 **MCP Gateway**——管理所有 MCP 流量的集中式基础设施：\n\n- **发现**：所有内部 MCP server 及其能力的注册表。\n- **身份验证**：统一的 SSO 集成。\n- **授权**：细粒度的 RBAC 策略。\n- **速率限制**：全局和按用户限制。\n- **审计**：每次工具调用的完整审计跟踪。\n- **版本管理**：MCP server 的蓝绿部署，自动 client 路由。\n\n## 常见问题\n\n**问：MCP 是 REST API 的替代品吗？**\n答：不是。MCP 是现有系统之上的一层。大多数 MCP server 内部调用 REST API。MCP 添加了 REST 原生不提供的 AI 专用能力（工具发现、resources、prompts、双向通信）。\n\n**问：为什么选择 JSON-RPC 而不是 gRPC 或 GraphQL？**\n答：JSON-RPC 是可用的最简单的双向 RPC 协议。它不需要代码生成（不像 gRPC），不需要 schema 自省（不像 GraphQL），并且适用于任何可以解析 JSON 的语言。简单性推动了采用。\n\n**问：MCP 可以离线工作吗？**\n答：可以。使用 stdio transport，MCP 完全在本地工作，无需网络访问。AI 模型和 MCP server 在同一台机器上运行，通过进程管道通信。\n\n**问：MCP 如何处理版本冲突？**\n答：`initialize` 握手包含协议版本协商。如果 client 和 server 支持不同的协议版本，它们协商最高的互相支持版本。\n\n**问：MCP server 在会话中间崩溃会怎样？**\n答：Client 检测到连接丢失并可尝试重连。使用 Streamable HTTP transport，会话状态存储在外部（Redis、数据库），因此新的服务器实例可以恢复会话。\n\n**问：MCP 消息有大小限制吗？**\n答：协议本身没有大小限制。实际限制取决于 transport 和基础设施。对于生产部署，将单个工具响应保持在 10 MB 以下，对大数据集使用分页或流。","\u003Ch2 id=\"n-x-m\">N x M 集成问题\u003C\u002Fh2>\n\u003Cp>在 Model Context Protocol 出现之前，将 AI 模型连接到外部工具是一个组合爆炸的练习。每个 AI 应用程序（Claude、GPT、Gemini、Copilot）都需要为每个工具（Slack、Jira、GitHub、数据库、API）进行自定义集成。对于 \u003Cstrong>M\u003C\u002Fstrong> 个 AI 应用程序和 \u003Cstrong>N\u003C\u002Fstrong> 个工具，行业需要 \u003Cstrong>M x N\u003C\u002Fstrong> 个自定义适配器——每个都有自己的身份验证流程、数据格式、错误处理和维护负担。\u003C\u002Fp>\n\u003Cp>考虑规模：到 2025 年，大约有 20 个主要 AI 应用平台和数百个企业工具。数学是不可持续的。每个新的 AI 平台都必须从头开始重建集成。每个新工具都必须为每个 AI 平台编写适配器。这与硬件行业在 USB 之前面临的问题相同：每个设备都有自己的专有连接器，每台计算机都需要不同的端口。\u003C\u002Fp>\n\u003Cp>MCP 以 USB-C 解决连接器问题的方式解决了这个问题：\u003Cstrong>标准化接口\u003C\u002Fstrong>。使用 MCP，每个 AI 应用程序实现一个 MCP client，每个工具实现一个 MCP server。M x N 问题变为 \u003Cstrong>M + N\u003C\u002Fstrong>。一个协议，通用兼容性。\u003C\u002Fp>\n\u003Ch2 id=\"json-rpc-capabilities\">协议架构：JSON-RPC、Capabilities 和三个原语\u003C\u002Fh2>\n\u003Cp>MCP 构建在 \u003Cstrong>JSON-RPC 2.0\u003C\u002Fstrong> 之上，这是支持每个现代代码编辑器的 Language Server Protocol (LSP) 使用的同一轻量级 RPC 协议。这是一个深思熟虑的设计选择：JSON-RPC 简单、广为人知、与语言无关且经过实战检验。\u003C\u002Fp>\n\u003Ch3>JSON-RPC 基础\u003C\u002Fh3>\n\u003Cp>每个 MCP 消息都是一个 JSON-RPC 对象：\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">\u002F\u002F Request\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools\u002Fcall\",\n  \"params\": {\n    \"name\": \"query_database\",\n    \"arguments\": {\n      \"sql\": \"SELECT * FROM users LIMIT 10\"\n    }\n  }\n}\n\n\u002F\u002F Response\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"result\": {\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"[{\\\"id\\\": 1, \\\"name\\\": \\\"Alice\\\"}, ...]\"\n      }\n    ]\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>三种消息类型：\u003Cstrong>request\u003C\u002Fstrong>（期望响应）、\u003Cstrong>response\u003C\u002Fstrong>（回答请求）和 \u003Cstrong>notification\u003C\u002Fstrong>（即发即忘）。这清晰地映射到 MCP 的通信模式。\u003C\u002Fp>\n\u003Ch3>Capability 协商\u003C\u002Fh3>\n\u003Cp>\u003Ccode>initialize\u003C\u002Fcode> 握手是 client 和 server 就其支持的功能达成一致的地方。这是优雅降级的设计。简单的只提供 tools 的服务器不需要实现 resources 或 prompts。不支持 sampling 的 client 只需省略该 capability。双方都适应对方所支持的内容。\u003C\u002Fp>\n\u003Ch3>三个原语\u003C\u002Fh3>\n\u003Cp>MCP 定义了服务器可以公开的三种能力类型：\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Tools\u003C\u002Fstrong> —— 模型控制的函数\u003C\u002Fp>\n\u003Cp>Tools 是最常用的原语。它们代表 AI 模型可以调用的操作。模型根据用户请求决定何时以及如何调用它们。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Resources\u003C\u002Fstrong> —— 应用程序控制的数据\u003C\u002Fp>\n\u003Cp>Resources 提供由 host 应用程序（而非模型）决定包含在上下文中的数据。它们由 URI 标识并以各种 MIME 类型返回内容。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Prompts\u003C\u002Fstrong> —— 用户控制的模板\u003C\u002Fp>\n\u003Cp>Prompts 是用户可以选择的可重用模板。它们提供将指令与动态数据相结合的特定领域工作流。\u003C\u002Fp>\n\u003Cp>这种三原语设计涵盖了 AI 工具交互的完整范围。Tools 处理操作，resources 处理数据，prompts 处理工作流。\u003C\u002Fp>\n\u003Ch2 id=\"\">与替代方案的比较\u003C\u002Fh2>\n\u003Cp>MCP 并非在真空中出现。在 MCP 之前，已存在几种将 AI 连接到工具的方法。理解差异解释了为什么 MCP 胜出。\u003C\u002Fp>\n\u003Ch3>MCP vs Function Calling\u003C\u002Fh3>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>方面\u003C\u002Fth>\u003Cth>Function Calling\u003C\u002Fth>\u003Cth>MCP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>工具定义\u003C\u002Ftd>\u003Ctd>每请求，在 prompt 中\u003C\u002Ftd>\u003Ctd>持久的，来自服务器\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>发现\u003C\u002Ftd>\u003Ctd>静态，开发者定义\u003C\u002Ftd>\u003Ctd>动态，服务器宣布工具\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>执行\u003C\u002Ftd>\u003Ctd>应用代码处理\u003C\u002Ftd>\u003Ctd>MCP server 处理\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>可重用性\u003C\u002Ftd>\u003Ctd>项目间复制粘贴\u003C\u002Ftd>\u003Ctd>一个服务器服务所有 client\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>有状态会话\u003C\u002Ftd>\u003Ctd>否\u003C\u002Ftd>\u003Ctd>是\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>标准协议\u003C\u002Ftd>\u003Ctd>否（厂商特定）\u003C\u002Ftd>\u003Ctd>是（开放规范）\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>多模型支持\u003C\u002Ftd>\u003Ctd>厂商锁定\u003C\u002Ftd>\u003Ctd>通用\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch3>MCP vs OpenAPI \u002F REST API\u003C\u002Fh3>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>方面\u003C\u002Fth>\u003Cth>OpenAPI \u002F REST\u003C\u002Fth>\u003Cth>MCP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>协议\u003C\u002Ftd>\u003Ctd>HTTP（请求\u002F响应）\u003C\u002Ftd>\u003Ctd>JSON-RPC（双向）\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>流\u003C\u002Ftd>\u003Ctd>有限（SSE、WebSocket）\u003C\u002Ftd>\u003Ctd>原生（通知、进度）\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>AI 专用功能\u003C\u002Ftd>\u003Ctd>无\u003C\u002Ftd>\u003Ctd>Resources、prompts、sampling\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Capability 协商\u003C\u002Ftd>\u003Ctd>无\u003C\u002Ftd>\u003Ctd>内置\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>会话管理\u003C\u002Ftd>\u003Ctd>默认无状态\u003C\u002Ftd>\u003Ctd>有状态会话\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch3>MCP vs LangChain \u002F LlamaIndex Tools\u003C\u002Fh3>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>方面\u003C\u002Fth>\u003Cth>框架工具\u003C\u002Fth>\u003Cth>MCP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>框架依赖\u003C\u002Ftd>\u003Ctd>锁定到一个框架\u003C\u002Ftd>\u003Ctd>框架无关\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>语言依赖\u003C\u002Ftd>\u003Ctd>Python（主要）\u003C\u002Ftd>\u003Ctd>任何语言\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>部署\u003C\u002Ftd>\u003Ctd>进程内\u003C\u002Ftd>\u003Ctd>独立进程\u002F服务\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>共享\u003C\u002Ftd>\u003Ctd>导入库代码\u003C\u002Ftd>\u003Ctd>连接到运行的服务器\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>安全边界\u003C\u002Ftd>\u003Ctd>同一进程\u003C\u002Ftd>\u003Ctd>进程\u002F网络隔离\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"anthropic\">采用时间线：从 Anthropic 实验到行业标准\u003C\u002Fh2>\n\u003Cp>MCP 从单一公司的实验上升为行业标准的速度超出了所有人的预期。\u003C\u002Fp>\n\u003Ch3>2024：发布\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>2024 年 11 月\u003C\u002Fstrong>：Anthropic 将 MCP 规范作为开放协议发布。TypeScript 和 Python 的初始 SDK。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2024 年 12 月\u003C\u002Fstrong>：Claude Desktop 随 MCP 支持发布。开发者为文件系统、数据库和网页搜索构建首批 MCP server。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2025：生态系统增长\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>2025 Q1\u003C\u002Fstrong>：Cursor、Windsurf 和其他 AI 代码编辑器采用 MCP。开发者工具生态系统爆发式增长。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025 Q2\u003C\u002Fstrong>：OpenAI 宣布在其 Agents SDK 中支持 MCP。Google DeepMind 将 MCP 集成到 Gemini tools。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025 Q3\u003C\u002Fstrong>：Microsoft 在 Copilot Studio 中添加 MCP 支持。Streamable HTTP transport 被添加到规范中。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025 Q4\u003C\u002Fstrong>：企业采用加速。Salesforce、ServiceNow 和 Atlassian 为其平台发布官方 MCP server。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2026：行业标准\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>2026 Q1\u003C\u002Fstrong>：Gartner 将 MCP 列为 AI agent 的“关键使能技术“。MCP Registry（MCP server 公共目录）上线，列出 2,000+ 个服务器。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2026 年 3 月\u003C\u002Fstrong>：Linux Foundation 宣布将托管 MCP 治理。Java、Kotlin、C# 和 Swift SDK 达到 1.0 版本。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>预测\u003C\u002Fstrong>：到 2026 年底，40% 的企业应用程序将包含 AI agent 能力，MCP 将成为工具集成的主导协议。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"\">使采用成为可能的协议设计决策\u003C\u002Fh2>\n\u003Cp>几个特定的设计选择使 MCP 在先前标准失败的地方取得了成功：\u003C\u002Fp>\n\u003Ch3>1. Transport 无关性\u003C\u002Fh3>\n\u003Cp>通过将协议与 transport 分离，MCP 随处可用。相同的服务器逻辑通过 stdio（本地）、SSE（web）或 Streamable HTTP（生产）运行。\u003C\u002Fp>\n\u003Ch3>2. 渐进式复杂性\u003C\u002Fh3>\n\u003Cp>最小的 MCP server 只需 20 行代码。您可以逐步添加 resources、prompts、身份验证和多租户支持。\u003C\u002Fp>\n\u003Ch3>3. LSP 传承\u003C\u002Fh3>\n\u003Cp>构建在 JSON-RPC 2.0 之上——与 Language Server Protocol 相同的基础——使 MCP 在开发者工具团队中获得即时信誉。\u003C\u002Fp>\n\u003Ch3>4. 双向通信\u003C\u002Fh3>\n\u003Cp>与 REST（仅 client 发起）不同，MCP 支持 server 到 client 的通知。这支持实时更新、进度报告和 capability 变更公告，无需轮询。\u003C\u002Fp>\n\u003Ch3>5. 安全设计\u003C\u002Fh3>\n\u003Cp>MCP 包含 OAuth 2.0 集成、capability 范围界定和敏感操作的人在环确认。\u003C\u002Fp>\n\u003Ch2 id=\"agent-mcp-gateway\">未来：Agent 间通信和企业 MCP Gateway\u003C\u002Fh2>\n\u003Ch3>通过 MCP 实现 Agent 间通信\u003C\u002Fh3>\n\u003Cp>MCP 的下一个前沿是 \u003Cstrong>agent 间通信\u003C\u002Fstrong>。今天，MCP 将 AI 模型连接到工具。明天，MCP server 本身将成为 AI agent，创建 AI 驱动的服务链。\u003C\u002Fp>\n\u003Ch3>企业 MCP Gateway\u003C\u002Fh3>\n\u003Cp>大型组织将部署 \u003Cstrong>MCP Gateway\u003C\u002Fstrong>——管理所有 MCP 流量的集中式基础设施：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>发现\u003C\u002Fstrong>：所有内部 MCP server 及其能力的注册表。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>身份验证\u003C\u002Fstrong>：统一的 SSO 集成。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>授权\u003C\u002Fstrong>：细粒度的 RBAC 策略。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>速率限制\u003C\u002Fstrong>：全局和按用户限制。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>审计\u003C\u002Fstrong>：每次工具调用的完整审计跟踪。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>版本管理\u003C\u002Fstrong>：MCP server 的蓝绿部署，自动 client 路由。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"\">常见问题\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>问：MCP 是 REST API 的替代品吗？\u003C\u002Fstrong>\n答：不是。MCP 是现有系统之上的一层。大多数 MCP server 内部调用 REST API。MCP 添加了 REST 原生不提供的 AI 专用能力（工具发现、resources、prompts、双向通信）。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>问：为什么选择 JSON-RPC 而不是 gRPC 或 GraphQL？\u003C\u002Fstrong>\n答：JSON-RPC 是可用的最简单的双向 RPC 协议。它不需要代码生成（不像 gRPC），不需要 schema 自省（不像 GraphQL），并且适用于任何可以解析 JSON 的语言。简单性推动了采用。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>问：MCP 可以离线工作吗？\u003C\u002Fstrong>\n答：可以。使用 stdio transport，MCP 完全在本地工作，无需网络访问。AI 模型和 MCP server 在同一台机器上运行，通过进程管道通信。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>问：MCP 如何处理版本冲突？\u003C\u002Fstrong>\n答：\u003Ccode>initialize\u003C\u002Fcode> 握手包含协议版本协商。如果 client 和 server 支持不同的协议版本，它们协商最高的互相支持版本。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>问：MCP server 在会话中间崩溃会怎样？\u003C\u002Fstrong>\n答：Client 检测到连接丢失并可尝试重连。使用 Streamable HTTP transport，会话状态存储在外部（Redis、数据库），因此新的服务器实例可以恢复会话。\u003C\u002Fp>\n\u003Cp>\u003Cstrong>问：MCP 消息有大小限制吗？\u003C\u002Fstrong>\n答：协议本身没有大小限制。实际限制取决于 transport 和基础设施。对于生产部署，将单个工具响应保持在 10 MB 以下，对大数据集使用分页或流。\u003C\u002Fp>\n","zh","b0000000-0000-0000-0000-000000000001",true,"2026-03-28T10:44:38.549860Z","Model Context Protocol 技术分析：架构、JSON-RPC 基础、与 function calling 和 OpenAPI 的比较、采用时间线以及 AI agent 通信的未来。","model context protocol mcp",null,"index, follow",[21,26],{"id":22,"name":23,"slug":24,"created_at":25},"c0000000-0000-0000-0000-000000000008","AI","ai","2026-03-28T10:44:21.513630Z",{"id":27,"name":28,"slug":29,"created_at":25},"c0000000-0000-0000-0000-000000000001","Rust","rust","工程",[32,38,44],{"id":33,"title":34,"slug":35,"excerpt":36,"locale":12,"category_name":30,"published_at":37},"d0000000-0000-0000-0000-000000000668","为什么Bali在2026年正在成为东南亚的影响力科技中心","weishenme-bali-2026-zhengzai-chengwei-dongnanya-yingxiangli-keji-zhongxin","Bali在东南亚创业生态系统中排名第16位。随着Web3构建者、AI可持续发展初创公司和生态旅游科技公司的集中，该岛正在打造区域影响力科技之都的独特定位。","2026-03-28T10:44:48.898750Z",{"id":39,"title":40,"slug":41,"excerpt":42,"locale":12,"category_name":30,"published_at":43},"d0000000-0000-0000-0000-000000000667","ASEAN数据保护拼图：开发者合规清单","asean-shuju-baohu-pintu-kaifazhe-heguiqingdan","七个ASEAN国家现已拥有全面的数据保护法律，各自具有不同的同意模型、本地化要求和处罚结构。这是一份为构建多国应用程序的开发者准备的实用合规清单。","2026-03-28T10:44:48.893467Z",{"id":45,"title":46,"slug":47,"excerpt":48,"locale":12,"category_name":30,"published_at":49},"d0000000-0000-0000-0000-000000000666","Indonesia 290亿美元数字化转型：软件公司的机遇","indonesia-290yi-meiyuan-shuzihua-zhuanxing-ruanjian-gongsi-jiyu","Indonesia IT服务市场预计在2026年达到290.3亿美元，高于2025年的243.7亿美元。云基础设施、AI、电子商务和数据中心正在推动东南亚最快的增长。","2026-03-28T10:44:48.875457Z",{"id":13,"name":51,"slug":52,"bio":53,"photo_url":18,"linkedin":18,"role":54,"created_at":55,"updated_at":55},"Open Soft Team","open-soft-team","The engineering team at Open Soft, building premium software solutions from Bali, Indonesia.","Engineering Team","2026-03-28T08:31:22.226811Z"]