MCP 是什么?AI 世界的 USB-C 接口详解

0 阅读6分钟

合集:MCP(模型上下文协议)系列 · 初级篇(一)


前言

2024 年 11 月,Anthropic 发布了一个开放标准:MCP(Model Context Protocol,模型上下文协议)

它解决了一个所有 AI 开发者都面临的痛点:AI 模型如何标准化地连接到外部工具和数据源?

本篇是 MCP 系列的第一篇,带你彻底搞懂 MCP 的本质、架构和价值,以及为什么它被称为"AI 世界的 USB-C 接口"。国内使用Claude Code 访问ccAiHub.com


一、MCP 解决的问题

1.1 没有 MCP 时的世界

假设你要为你的 AI 助手接入三个工具:GitHub、Notion、Slack。

没有统一标准时,每个接入都是一套独立的方案:

AI 应用
├── GitHub 接入 → 自定义 API 封装 → GitHub REST API
├── Notion 接入 → 自定义 API 封装 → Notion API  
└── Slack 接入  → 自定义 API 封装 → Slack API

问题

  • 每个集成都要从头写,维护成本高
  • 换一个 AI 模型,所有集成都要重写
  • 不同应用之间的集成方案无法复用
  • 安全策略缺乏统一标准

1.2 MCP 带来的变化

MCP 主机(Claude Desktop/Claude Code/自定义应用)
    ↓ 统一的 MCP 协议
MCP 服务器(通用组件,可任意组合)
├── GitHub MCP Server   → GitHub API
├── Notion MCP Server   → Notion API
└── Slack MCP Server    → Slack API

核心价值

  • 构建一次,到处运行:一个 MCP Server 可以被任意支持 MCP 的 AI 应用使用
  • 标准化接口:不再有 N×M 的集成复杂度问题
  • 生态复用:社区贡献的 MCP Server 可以直接安装使用

二、USB-C 类比:为什么这个比喻准确

USB-C 标准化了设备连接:任何 USB-C 设备都可以连接任何 USB-C 接口,无需了解内部实现。

MCP 做了同样的事:

USB-CMCP
连接硬件设备连接数据源和工具
统一物理接口标准统一 JSON-RPC 通信协议
设备厂商实现驱动服务提供商实现 MCP Server
主机识别并使用设备AI 应用发现并调用 MCP 能力

三、MCP 的三层架构

┌─────────────────────────────┐
│         MCP 主机             │  Claude Desktop、Claude Code
│    (Host / MCP Client)      │  VS CodeCursor、你自己的应用
└──────────────┬──────────────┘
               │ MCP 协议(JSON-RPC 2.0)
               │ via stdio 或 HTTP
┌──────────────┴──────────────┐
│         MCP 服务器           │  你构建或安装的服务
│      (MCP Server)           │
└──────────────┬──────────────┘
               │ 正常的 API 调用
┌──────────────┴──────────────┐
│      外部服务 / 数据源         │  GitHub、数据库、文件系统...
└─────────────────────────────┘

3.1 MCP 主机(Host)

发起 MCP 连接的应用程序,内置 MCP Client 来管理连接。

当前主流 MCP 主机:

  • Claude Desktop:Anthropic 官方桌面应用
  • Claude Code:命令行工具
  • VS Code(Copilot 扩展支持 MCP)
  • Cursor
  • Zed 编辑器
  • 自定义开发的 AI 应用

3.2 MCP 服务器(Server)

提供能力的服务,通过 MCP 协议暴露:

  • 工具(Tools):AI 可以调用的函数
  • 资源(Resources):AI 可以读取的数据
  • 提示模板(Prompts):预定义的工作流模板

MCP Server 可以是:

  • 本地进程(通过 stdio 通信)
  • 远程 HTTP 服务
  • 任何能通过 JSON-RPC 2.0 通信的程序

四、MCP 的三大原语

4.1 Tools(工具):AI 能做什么

工具是 AI 可以调用执行的函数,类似"API 接口"。

示例:

{
  "name": "create_github_issue",
  "description": "在指定仓库创建 GitHub Issue",
  "inputSchema": {
    "type": "object",
    "properties": {
      "repo": { "type": "string", "description": "仓库名(格式:owner/repo)" },
      "title": { "type": "string", "description": "Issue 标题" },
      "body": { "type": "string", "description": "Issue 正文(支持 Markdown)" },
      "labels": { "type": "array", "items": {"type": "string"}, "description": "标签列表" }
    },
    "required": ["repo", "title"]
  }
}

AI 的视角:我有一个叫 create_github_issue 的工具,我知道它需要什么参数,我可以在需要时调用它。

4.2 Resources(资源):AI 能知道什么

资源是 AI 可以读取的数据,通过 URI 标识。

file:///home/user/project/README.md    ← 本地文件
postgres://localhost/mydb/schema       ← 数据库 schema
https://api.github.com/repos/me/proj   ← 远程资源
memory://conversation-history          ← 内存中的数据

资源支持订阅:AI 客户端可以订阅某个资源,当资源变化时自动收到通知。

4.3 Prompts(提示模板):AI 能怎么用

提示模板是预定义的工作流,帮助用户高效使用 MCP Server 的能力。

{
  "name": "code_review",
  "description": "对指定 PR 进行代码审查",
  "arguments": [
    { "name": "pr_number", "description": "PR 编号", "required": true },
    { "name": "focus", "description": "重点关注方面(安全/性能/规范)", "required": false }
  ]
}

用户选择这个提示模板后,AI 会自动获取 PR 详情并按模板执行审查。


五、通信协议:JSON-RPC 2.0

MCP 的底层通信格式是 JSON-RPC 2.0,这是一个成熟的轻量级 RPC 协议。

5.1 请求格式

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_file_contents",
    "arguments": {
      "path": "/src/main.ts"
    }
  }
}

5.2 响应格式

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "// main.ts\nimport express from 'express';\n..."
      }
    ]
  }
}

5.3 两种传输方式

Stdio(本地进程)

主机 ──stdin/stdout──► 本地 MCP Server 进程

适合:本地文件系统访问、本地数据库、开发工具

Streamable HTTP(网络)

主机 ──HTTP POST──► 远程 MCP Server
        ◄── SSE 流式响应 ──

适合:SaaS 服务、团队共享服务器、云端数据源


六、为什么 MCP 会成为标准?

6.1 生态飞轮效应

更多 AI 应用支持 MCP
        ↓
更多服务商实现 MCP Server
        ↓
用户安装 MCP Server 就能让 AI 用上各种工具
        ↓
更多 AI 应用支持 MCP(因为用户需求)

6.2 已经形成的生态

截至 2025 年,MCP 生态已经包括:

  • 官方参考实现:10+ 个官方 MCP Server(文件系统、GitHub、Google Drive 等)
  • 社区 Server:awesome-mcp-servers 列表超过 500 个
  • 主机支持:Claude Desktop、Claude Code、VS Code Copilot、Cursor 等主流工具均支持
  • SDK:TypeScript、Python、Go、Java 等多语言 SDK

6.3 开放标准,非专有技术

MCP 是开放标准,代码托管在 GitHub,任何人可以实现兼容的客户端或服务器。这与历史上各家自搞一套的"插件系统"有本质区别。


七、MCP 的适用场景

场景不用 MCP用 MCP
让 AI 访问公司数据库每个 AI 工具单独写 DB 集成一个 DB MCP Server,所有工具共用
让 AI 操作 GitHub每次都要自定义 prompt + 手动操作GitHub MCP Server,AI 直接调 API
让 AI 搜索内部文档复制粘贴文档内容给 AI文件系统 MCP Server,AI 直接读取
让 AI 发送通知手动复制 AI 输出到 SlackSlack MCP Server,AI 直接发送

八、总结

概念一句话
MCPAI 连接外部世界的开放标准协议
MCP 主机发起 MCP 连接的 AI 应用(Claude Desktop 等)
MCP 服务器提供能力的服务,暴露工具/资源/提示模板
ToolsAI 可以调用的函数
ResourcesAI 可以读取的数据
Prompts预定义的工作流模板
JSON-RPC 2.0底层通信协议

下一篇我们进入实战:5 分钟安装你的第一个 MCP Server,让 Claude 直接操作你的文件系统和 GitHub 仓库


系列导航

  • 初级篇(一):MCP 是什么?AI 世界的 USB-C 接口详解 ← 当前
  • 初级篇(二):5 分钟上手:安装你的第一个 MCP Server
  • 初级篇(三):MCP 生态地图:工具、数据库、搜索全覆盖
  • 中级篇(一):动手构建 MCP Server:Python & TypeScript 实战
  • 中级篇(二):深入三大原语:Resources、Tools 和 Prompts
  • 中级篇(三):MCP + RAG:构建企业知识库问答系统
  • 高级篇(一):企业级 MCP 架构:安全、认证与高可用
  • 高级篇(二):MCP OAuth 2.1 实战:标准化身份认证
  • 高级篇(三):MCP + 多智能体编排:下一代 AI 工作流