MCP的妙用

一、什么是MCP?

Model Context Protocol(MCP,模型上下文协议)是由 Anthropic 推出的一个开放标准,用于连接 AI 助手与数据所在的系统,包括内容存储库、业务工具和开发环境。[^1] MCP 提供了一个通用的开放标准,用于连接 AI 系统与数据源,用单一协议取代了碎片化的集成方式。[^2]

参考资料:

MCP 的核心价值

MCP 旨在解决 “M×N” 问题:即将 M 个不同的大语言模型(LLM)与 N 个不同工具集成的组合难题。[^3] 它被形象地称为 “AI 的 USB-C 接口”,使 AI 模型能够安全地与本地和远程资源交互。[^4]

参考资料:

行业采用情况(2025年)

MCP 在 2025 年获得了广泛的行业支持:

  • 2025年3月:OpenAI 正式采用 MCP[^5]
  • 2025年4月:Google DeepMind CEO Demis Hassabis 确认在即将推出的 Gemini 模型中支持 MCP[^5]
  • 2025年5月:Microsoft 在 Build 2025 大会上宣布 Windows 11 将 MCP 作为安全、可互操作的代理计算的基础层[^6]

参考资料:


二、MCP 架构

核心组件

MCP 采用客户端-主机-服务器(Client-Host-Server) 架构,其中每个主机可以运行多个客户端实例。[^7] 该协议基于 JSON-RPC 构建,提供了一个有状态的会话协议,专注于上下文交换和采样协调。

MCP架构图

MCP 架构包含三个核心组件:

1. 主机(Host)

主机进程充当容器和协调器,维护服务器之间的安全边界。[^7] 例如 Claude Desktop、IDE 或其他 AI 工具。

2. 客户端(Clients)

AI 应用程序包含一个 MCP 客户端,该客户端连接到 MCP 服务器,并将上下文/数据中继给 AI 模型。[^7]

3. 服务器(Servers)

MCP 服务器是轻量级程序,通过标准化协议公开特定的功能。[^8] 它与特定的数据源或服务接口,通过 MCP 标准暴露其功能。

参考资料:

技术规范

MCP 规范定义了一组 JSON-RPC 消息,用于客户端和服务器之间的通信。[^9] 这些消息实现了称为原语(Primitives) 的构建块:

  • 服务器支持的原语:Prompts(提示)、Resources(资源)、Tools(工具)
  • 客户端支持的原语:Roots(根目录)、Sampling(采样)

参考资料:

Layers 层次

MCP由两部分组成:

  1. Data Layer:定义基于 JSON-RPC 的客户端-服务器通信协议,包括生命周期管理,以及核心原语,如工具、资源、提示和通知。

  2. Transport layer:定义了使客户端和服务器之间能够进行数据交换的通信机制和通道,包括特定于传输的连接建立、消息帧和授权。


三、MCP 工作原理

通信流程

MCP 的工作流程如下:

  1. 连接建立:MCP 主机(如 Claude Desktop)启动并连接到一个或多个 MCP 服务器
  2. 能力协商:客户端与服务器通过 JSON-RPC 消息协商可用的功能和工具
  3. 上下文交换:当用户发起请求时,客户端从服务器获取相关的上下文信息
  4. 工具调用:AI 模型可以通过 MCP 协议调用服务器提供的工具
  5. 结果返回:服务器执行操作并返回结果给客户端,最终呈现给用户

image-20251031095704772

传输协议

MCP 目前支持两种主要的传输方式:[^10]

  • Stdio(标准输入/输出):用于本地进程通信
  • HTTP + SSE(Server-Sent Events):用于远程服务器连接

参考资料:

安全机制

MCP 协议强调安全性:[^11]

  • 隔离边界:每个服务器在独立的进程中运行,主机维护服务器间的安全边界
  • 权限控制:主机可以控制哪些服务器可以访问哪些资源
  • 审计跟踪:所有操作都可以被记录和审计

参考资料:


四、如何配置 MCP 服务

配置 Claude Desktop

方法一:使用 Desktop Extensions(简化方法)

Desktop Extensions 是一种新的打包格式,让安装 MCP 服务器变得像点击按钮一样简单。[^12]

安装步骤

  1. 打开 Claude Desktop,进入 Settings > Extensions
  2. 点击 “Browse extensions” 查看扩展目录
  3. 在所需的扩展上点击 “Install”
  4. 配置必要的设置(如 API 密钥)
  5. 扩展将自动在对话中可用

参考资料:

方法二:手动配置(高级方法)

对于自定义 MCP 服务器,需要手动编辑配置文件:[^13]

步骤

  1. 启动 Claude Desktop 应用
  2. 点击设置图标,选择 Developer 标签
  3. 点击 Edit Config 按钮,打开 claude_desktop_config.json 文件

配置文件位置

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

配置示例

{
"mcpServers": {
"my-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@some/package"],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}
  1. 保存文件并完全退出并重启 Claude Desktop
  2. 重启后,检查右下角是否出现锤子/工具图标,表示 MCP 服务器已被识别

参考资料:

配置 Claude Code

Claude Code 提供了两种配置 MCP 服务器的方法:[^14]

方法一:CLI 向导(官方方法)

使用命令行向导添加 MCP 服务器:

claude mcp add --transport stdio my-server -- npx -y @some/package

添加带环境变量的服务器:

claude mcp add digitalocean-mcp-local \
-e DIGITALOCEAN_API_TOKEN=YOUR_TOKEN \
-- npx "@digitalocean/mcp"

方法二:直接编辑配置文件(推荐)

许多用户推荐直接编辑配置文件以获得更多控制和灵活性。[^15]

配置文件位置~/.claude.json

配置示例

{
"mcpServers": {
"server-name": {
"type": "stdio",
"command": "npx",
"args": ["-y", "package-name"],
"env": {
"API_KEY": "your-key-here"
}
}
}
}

配置作用域

MCP 服务器可以在三个不同的作用域级别进行配置:[^16]

  • Local(本地):存储在项目特定的用户设置中,仅在当前项目目录中可访问
  • Global(全局):对所有项目可用
  • Workspace(工作区):针对特定工作区的配置

Windows 用户注意事项
在原生 Windows(非 WSL)上,使用 npx 的本地 MCP 服务器需要 cmd /c 包装器:

claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

参考资料:


五、各领域常见的 MCP 服务

官方参考服务器

Anthropic 提供了一系列官方参考 MCP 服务器:[^17]

服务器名称 功能描述
Everything 参考/测试服务器,包含提示、资源和工具
Fetch 网页内容抓取和转换
Filesystem 具有可配置访问控制的安全文件操作
Git 读取、搜索和操作 Git 仓库的工具
Memory 基于知识图谱的持久化内存系统
Sequential Thinking 通过思维序列进行动态和反思性问题解决

参考资料:

按领域分类的热门 MCP 服务器

1. 开发工具类

服务器 描述 链接
GitHub MCP Server 代码管理和自动化,可以提问"这个功能是什么时候添加的?" GitHub
Context7 帮助 AI 编码助手查找超过 21,000 个库和框架的最新文档和代码示例 文档
Playwright 浏览器自动化,允许 AI 代理与网页交互、执行爬取和自动化基于浏览器的工作流,GitHub 星标 12K+ 详情
Run Python 允许在沙箱中安全执行任意 Python 代码 详情

2. 数据库和数据分析类

服务器 描述 链接
PostgreSQL MCP Server 让模型运行只读 SQL 查询,用户可以询问"上季度的总销售额是多少?" 文档
Supabase MCP Server 连接边缘函数和 Postgres,向 LLM 流式传输上下文数据 详情

3. 协作和通信工具

服务器 描述 链接
Slack MCP Server 捕获实时对话线程、元数据和工作流,使其可供 LLM 用于企业机器人和助手 详情
Notion MCP Server 将 Notion 数据(页面、数据库、任务)作为上下文暴露给 LLM,允许 AI 代理实时引用工作区数据 详情

4. 云服务和基础设施

服务器 描述 链接
Google Maps MCP Server 基于位置的服务 详情
Microsoft Graph API 企业集成,访问 Microsoft 365 服务 详情
DigitalOcean MCP Server 管理云基础设施和资源 详情

5. 专业领域服务

服务器 描述 链接
Stripe MCP Server 发出 Stripe 发票并生成链接发送给客户 详情
WolframAlpha 在对话中直接使用 WolframAlpha 的数学求解能力 详情
Stormglass API 通过分析潮汐模式找到最佳冲浪条件 详情
Xero MCP Server 会计和财务管理,可以请求从 Xero 获取最近 5 张发票 详情

参考资料:


六、热门 MCP 工具和生态系统

MCP 市场和目录

2025 年,多个 MCP 市场和目录涌现,帮助开发者发现 MCP 服务器:[^18]

平台 描述 网址
MCP Market MCP 服务器和客户端的目录,连接 AI 代理与喜爱的工具 mcpmarket.com
MCP.so 第三方 MCP 市场,收录了 16,901+ 个 MCP 服务器 mcp.so
LobeHub MCP Marketplace 基于活动度、稳定性和社区评价等多维度评级,快速找到值得信赖的 API、插件和服务器 lobehub.com/mcp
Awesome MCP Servers 社区策划的 MCP 服务器集合 mcpservers.org
GitHub - punkpeye/awesome-mcp-servers 精选的 MCP 服务器列表 GitHub

参考资料:

热门 MCP 客户端

MCP 客户端是连接到 MCP 服务器的应用程序或 AI 聊天机器人,允许用户或 AI 代理从单一界面访问数千个工具和服务:[^19]

客户端 描述
Claude Desktop Anthropic 的官方桌面应用,原生支持 MCP
Cline VS Code 的自主编码代理,连接 MCP 服务器
LibreChat 开源聊天客户端,支持多个 LLM 和 MCP 集成
Cursor AI 驱动的代码编辑器,支持 MCP
Warp 现代终端,集成 MCP 支持

参考资料:

MCP SDK 和工具包

官方提供了多种语言的 SDK:[^20]

  • TypeScript SDK: 适合 Node.js 和浏览器环境
  • Python SDK: 适合 Python 开发者
  • 其他社区 SDK: Rust、Go、Java 等

工具包:

  • MCP Toolkit (Docker): 简化 MCP 服务器的添加和管理,与 Claude Code 无缝集成 [^21]

参考资料:


七、MCP 与 Claude Code、Codex 的集成

MCP 与 Claude Code 的集成

Claude Code 是 Anthropic 推出的命令行工具,原生支持 MCP 协议。[^22]

集成优势

  1. 无缝工具访问:Claude Code 可以直接访问配置的 MCP 服务器提供的所有工具
  2. 多作用域支持:支持本地、全局和工作区级别的 MCP 配置
  3. 开发者友好:提供 CLI 向导和配置文件两种配置方式

典型工作流

# 1. 添加 MCP 服务器
claude mcp add github-server -- npx -y @modelcontextprotocol/server-github

# 2. 配置环境变量
claude mcp add github-server -e GITHUB_TOKEN=your_token -- npx -y @modelcontextprotocol/server-github

# 3. 在 Claude Code 中使用
# 现在可以在对话中直接请求 GitHub 相关操作

实际应用场景

  • 代码审查:Claude Code 可以通过 GitHub MCP Server 获取 PR 信息并进行代码审查
  • 文件操作:通过 Filesystem MCP Server 直接读写项目文件
  • 数据库查询:通过 PostgreSQL MCP Server 查询数据库并生成报告

参考资料:

MCP 与其他 AI 编码工具的集成

OpenAI Codex / OpenAI Agents SDK

2025 年 3 月,OpenAI 正式采用 MCP,并在其 Agents SDK 中集成了 MCP 支持。[^23] 这意味着使用 OpenAI 模型的应用也可以利用 MCP 生态系统。

示例集成

from openai import OpenAI
from openai_agents import AgentSDK

# 配置 MCP 服务器
agent = AgentSDK.create(
model="gpt-4",
mcp_servers=[
{"name": "github", "url": "..."},
{"name": "postgres", "url": "..."}
]
)

Cursor

Cursor 是一款 AI 驱动的代码编辑器,支持 MCP 集成。[^24] 开发者可以在 Cursor 中配置 MCP 服务器,让 AI 助手访问更多上下文和工具。

配置位置:Cursor Settings > Model Context Protocol

Warp Terminal

Warp 是一款现代化的终端工具,支持 MCP 集成,使终端中的 AI 助手能够访问外部工具和数据源。[^25]

参考资料:


八、实践案例

案例 1:软件开发 - GitHub 代码审查自动化

场景:软件团队希望自动化代码审查流程,让 AI 助手能够分析 PR、提供反馈并回答关于代码历史的问题。

实现步骤

  1. 配置 GitHub MCP Server
{
"mcpServers": {
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your_github_token"
}
}
}
}
  1. 使用场景

开发者可以在 Claude Desktop 或 Claude Code 中提问:

  • “这个功能是什么时候添加的?”
  • “谁一直在开发认证模块?”
  • “分析 PR #123 并提供代码审查意见”

GitHub MCP Server 将这些自然语言问题转换为 API 调用,获取相关信息并返回结果。[^26]

效果

  • 减少手动代码审查时间 40%
  • 自动识别常见代码问题
  • 提供历史上下文辅助决策

参考资料:

案例 2:数据库分析 - PostgreSQL 数据查询

场景:业务分析师需要快速查询公司数据库以生成报告,但不想编写复杂的 SQL 查询。

实现步骤

  1. 配置 PostgreSQL MCP Server
{
"mcpServers": {
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:pass@localhost:5432/dbname"
}
}
}
}
  1. 使用场景

分析师在 Claude Desktop 中提问:

  • “上季度的总销售额是多少?”
  • “列出销售额前 10 的产品”
  • “比较本月和上月的用户增长”

AI 助手通过 MCP 服务器执行只读 SQL 查询,并返回实际数据。[^27]

安全性

  • 只读权限确保数据安全
  • 查询日志可追溯
  • 敏感数据可通过配置过滤

参考资料:

案例 3:会计自动化 - Xero 发票管理

场景:会计人员希望快速访问 Xero 中的发票数据,无需频繁切换应用。

实现步骤

  1. 配置 Xero MCP Server
  2. 在 Claude Desktop 中请求:“请从 Xero 获取最近 5 张发票”
  3. 确认访问权限后,MCP Server 检索并显示发票信息[^28]

优势

  • 减少应用切换次数
  • 自然语言交互更直观
  • 可与其他 MCP 服务器(如 Slack)组合使用,自动通知团队

参考资料:

案例 4:网页研究 - 医生评论深度分析

场景:患者希望在选择医生前,深入研究在线评论和评分。

实现步骤

  1. 配置 Web Research MCP Server(如 Fetch 或自定义爬虫)
  2. 用户提示:“我正在考虑看这些医生治疗脚踝受伤。你能否搜索每位医生的详细评分和评论信息?”
  3. MCP Server 执行
    • 网页爬取
    • 内容提取
    • 数据组织和汇总[^29]

结果

  • 获得结构化的医生评分报告
  • 节省数小时的手动搜索时间
  • 提供数据支持的决策依据

参考资料:

案例 5:开发工作流优化 - GraphQL 模式验证

场景:开发者需要确保生成的 GraphQL 查询与最新的 API 模式匹配。

实现步骤

  1. 配置包含以下工具的 MCP Server

    • fetch_supergraph: 获取最新的 GraphQL Schema
    • verify_query_against_remote_schema: 验证查询是否有效
  2. 工作流

    • 开发者:请生成一个查询用户数据的 GraphQL 查询
    • AI 通过 MCP 获取最新 Schema
    • AI 生成查询
    • MCP 自动验证查询有效性
    • 如果无效,AI 自动修正[^30]

影响

  • 单次提示完成完整功能实现
  • 消除手动 Schema 检查步骤
  • 减少 API 调用错误

参考资料:

案例 6:云基础设施管理 - DigitalOcean 资源自动化

场景:DevOps 团队需要通过自然语言管理云基础设施。

实现步骤

  1. 配置 DigitalOcean MCP Server
claude mcp add digitalocean \
-e DIGITALOCEAN_API_TOKEN=your_token \
-- npx "@digitalocean/mcp"
  1. 使用场景
    • “列出所有正在运行的 Droplets”
    • “创建一个新的 2GB 内存的 Droplet”
    • “显示本月的账单摘要”[^31]

效果

  • 减少命令行操作复杂度
  • 提高资源管理效率
  • 降低操作错误风险

参考资料:


九、总结与展望

MCP 的核心优势

  1. 标准化:统一的协议减少了 M×N 集成问题
  2. 安全性:隔离边界和权限控制确保数据安全
  3. 可扩展性:开放的生态系统支持快速添加新工具
  4. 互操作性:跨平台、跨模型的兼容性

生态系统现状(2025年)

  • 16,000+ 个 MCP 服务器可供选择[^32]
  • 主流 AI 平台均已采用(OpenAI、Anthropic、Google)
  • 企业级支持:Microsoft、DigitalOcean 等大厂提供官方 MCP 服务器

未来展望

MCP 正在成为 AI 应用的基础设施层,未来可能出现:

  • 更多垂直领域的专业 MCP 服务器(医疗、法律、金融等)
  • 改进的安全和隐私机制
  • 更智能的上下文管理和缓存策略
  • 跨 MCP 服务器的编排和工作流自动化

MCP 的愿景是成为 AI 时代的"USB-C"接口,让 AI 助手能够无缝连接到所有数据源和工具,真正实现"AI 可以为我做任何事"的目标。

参考资料:


参考资源

官方文档

学习资源

社区和市场