弥合差距:深入探讨 Model Context Protocol (MCP)

发布: (2026年2月5日 GMT+8 15:32)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我会按照要求保留链接、格式和技术术语,仅将文本翻译为简体中文。

什么是 MCP?

MCP 提供了模型与“外部世界”之间的统一桥梁,使 AI 拥有超越简单聊天界面的“超能力”。通过标准化模型访问信息和执行任务的方式,MCP 使 AI 工具更加集成、功能更强大且更易于构建。

架构概览

  • MCP 主机 – 想要使用外部资源的应用程序(例如 VS Code、Claude Desktop)。
  • MCP 服务器 – 提供数据或功能的本地或远程程序。
  • MCP 客户端 – 主机内部为每个特定服务器创建的专用连接。

当主机连接到服务器时,它会为该连接实例化一个 MCP 客户端对象。多个客户端对象可以共存(例如,一个用于 Jira 服务器,另一个用于本地文件系统)。

协议层

数据层

定义 说了什么。基于 JSON‑RPC,处理连接生命周期和核心原语(工具、资源和提示)。

传输层

定义 信息如何到达

传输方式用例特点
Stdio 传输同一机器上的本地进程(例如 VS Code ↔ 本地文件)闪电般快速,零网络开销
可流式 HTTP 传输远程服务器(例如官方 Jira MCP 服务器)使用 HTTP POST + Server‑Sent Events (SSE);支持安全认证(OAuth)

核心原语

一旦主机连接到服务器,AI 就可以使用以下三类主要原语:

Tools (Executable Functions)

AI 能够执行操作。

{
  "method": "create_issue",
  "params": {
    "title": "Bug in login flow",
    "description": "Steps to reproduce..."
  }
}

示例: create_issue 用于创建 Jira 任务;add_comment 用于更新任务。

Resources (Data Sources)

为 AI 提供所需的上下文。

示例: 项目模式帮助 AI 将 “Priority Highest” 映射为 “Blocker”;用户档案将姓名映射到 ID。

Prompts (Templates)

可复用的指令模板,用于结构化交互。

示例: Bug Reporter 提示会强制 AI 在创建工单前询问 “复现步骤”。

服务器到客户端的交互

MCP 不是单向的。服务器可以向客户端请求帮助:

交互描述
采样服务器请求 AI 主机完成任务(例如,将 10 条工单总结为发布说明段落)。
信息获取服务器提示用户提供缺失信息(例如,“此工单应归入哪个项目?”)。
日志记录服务器向客户端发送调试信息以进行监控。

Source:

通知系统

在动态环境中,工具和数据源会不断变化。MCP 通过基于 JSON‑RPC 2.0 的 通知系统 处理这些变化,使服务器能够 推送 更新给客户端,而无需等待请求。

JSON‑RPC(JavaScript 对象表示法‑远程过程调用)是一种基于 JSON 的远程过程调用协议。它支持通知(发送的数据不需要响应)和异步多调用。
如需了解 JSON‑RPC 规范的更多信息,请点击此处

客户端只需等待被告知变化——例如数据库离线或新工具可用时,AI 能立即获悉。

为什么 MCP 很重要

随着大型语言模型变得更加强大,它们的实用性越来越依赖于上下文。MCP 标准化了模型获取上下文的方式,简化了开发,并使 AI 应用更加丰富且功能更强大。

入门

越来越多的公司每天都在发布官方 MCP 服务器。 在 Anthropic MCP Gallery 中探索最受欢迎的服务器。

Back to Blog

相关文章

阅读更多 »

当 AI 给你一巴掌

当 AI 给你当头一棒:在 Adama 中调试 Claude 生成的代码。你是否曾让 AI “vibe‑code” 一个复杂功能,却花了数小时调试细微的 bug……