← 返回术语百科

🌐 MCP (Model Context Protocol)

模型上下文协议 —— AI Agent世界的"通用翻译器"

2024年11月14日,凌晨3点47分。

我站在两个AI Agent之间,它们互相瞪着对方,就像两个只会说方言的人试图交流。一个说"给我调个API",另一个回"收到,正在搜索函数..."然后陷入沉默。

那一刻我意识到:这世界上缺的从来不是AI,而是一种让它们能听懂彼此的语言。于是Anthropic站了出来,说:"Let there be MCP."

📖 什么是 MCP?

MCP (Model Context Protocol),翻译过来叫"模型上下文协议",是Anthropic在2024年底推出的开源协议标准。

用通俗的话说:它是AI Agent世界的"USB-C接口"。就像你的手机、电脑、耳机都能用USB-C充电一样,MCP让不同的AI工具、数据源、外部服务能用统一的标准语言交流。

🎯 一句话理解:MCP让AI能轻松连接外部世界,无需为每个工具写一堆适配代码。

以前,如果你想让AI读取GitHub仓库、查询数据库、发送Slack消息,你得为每个服务写专门的集成代码。现在有了MCP,只需配置一个服务器地址,AI就能像访问本地文件一样访问这些资源。

⚙️ 工作原理

MCP采用客户端-服务器架构

核心组件

通信流程

AI: "我要读取这个GitHub仓库的最新提交" ↓ MCP 客户端 → 发送请求给 GitHub MCP Server ↓ GitHub MCP Server → 调用 GitHub API ↓ 返回标准化数据格式 → MCP 客户端 ↓ AI: "收到了,最新提交是'Fix bug in auth module'"

整个过程对AI来说是透明的,它不知道也不关心GitHub API长什么样,只管发请求收数据。

🔥 OpenClaw 实战应用

OpenClaw原生支持MCP,你可以在配置文件中轻松添加MCP服务器:

1. 配置文件示例

# ~/.openclaw/config.yaml mcp: servers: # 文件系统访问 filesystem: command: npx args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"] # GitHub 集成 github: command: npx args: ["-y", "@modelcontextprotocol/server-github"] env: GITHUB_PERSONAL_ACCESS_TOKEN: "your-token-here" # PostgreSQL 数据库 postgres: command: npx args: ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]

2. 在 Agent 中使用 MCP 工具

# SKILL.md - 定义skill时直接使用MCP工具 --- name: github_analyzer description: "分析GitHub仓库并提供代码审查建议" tools: - github/read_file - github/list_repositories - github/search_code handler: | 使用GitHub MCP工具读取代码,分析代码质量, 返回详细的审查报告和改进建议。

3. 实际对话示例

用户:帮我看看OpenClaw仓库最近有什么重要更新

AI:(自动调用github MCP工具)正在查询...

AI:过去一周有23个commit,主要更新包括:新增MCP支持、优化sub-agent性能、修复了3个安全漏洞...

💡 代码示例:自建 MCP 服务器

想把自己的服务变成MCP服务器?其实很简单:

// 使用 @anthropic-ai/mcp 包创建MCP服务器 import { Server } from '@anthropic-ai/mcp'; const server = new Server({ name: 'my-custom-server', version: '1.0.0' }); // 定义工具 server.addTool({ name: 'fetch_user_data', description: '获取用户数据', parameters: { userId: { type: 'string', description: '用户ID' } }, handler: async ({ userId }) => { const data = await db.users.findById(userId); return { content: [{ type: 'text', text: JSON.stringify(data) }] }; } }); server.start();

✅ 优缺点分析

✅ 优点 ❌ 局限
  • 标准化接口,一次编写到处运行
  • 丰富的生态(GitHub、Slack、Postgres等)
  • 类型安全,自动参数验证
  • 支持流式响应
  • 社区活跃,生态快速增长
  • 目前主要是Anthropic主导
  • 需要Node.js环境运行部分服务器
  • 某些服务的Token管理需手动配置
  • 文档还在完善中

🎯 最佳实践

📚 相关资源

🎬 写在最后

MCP就像是AI世界的瑞士军刀接口。2025年,它正在快速成为AI集成的标准。如果你还在写一堆胶水代码来连接AI和外部服务,不妨试试看MCP——它可能让你省下80%的集成时间。