什么是 MCP?
Model Context Protocol (MCP) 是 Anthropic 推出的开放协议,为 AI Agent 提供了标准化的外部工具集成方式。截至 2026 年 6 月,MCP 已有 97M+ 下载量,成为 Agent 工具集成的事实标准。
┌─────────────┐ MCP Protocol ┌──────────────┐
│ OpenClaw │ ◄──────────────────► │ MCP Server │
│ Agent │ JSON-RPC 2.0 │ (GitHub/DB) │
└─────────────┘ └──────────────┘
│ │
▼ ▼
用户对话 外部服务/API
│ OpenClaw │ ◄──────────────────► │ MCP Server │
│ Agent │ JSON-RPC 2.0 │ (GitHub/DB) │
└─────────────┘ └──────────────┘
│ │
▼ ▼
用户对话 外部服务/API
MCP 与 OpenClaw Skills 的关系
| 特性 | OpenClaw Skills | MCP Servers |
|---|---|---|
| 定义方式 | SKILL.md 文件 | JSON-RPC 协议 |
| 运行位置 | Agent 内部 | 独立进程 |
| 适用场景 | 工作流、模板、知识 | 外部 API、数据库、工具 |
| 生态规模 | 70K+ Skills | 200+ Servers |
| 组合使用 | 可以调用 MCP | 可以被 Skill 调用 |
💡 最佳实践:Skills 定义"做什么",MCP 提供"怎么做"。两者配合使用效果最佳。例如:SEO Skill 定义分析流程,通过 GitHub MCP 获取仓库数据。
常用 MCP Server 推荐
| MCP Server | 用途 | 下载量 |
|---|---|---|
| GitHub MCP | 仓库管理、Issue、PR | 15M+ |
| PostgreSQL MCP | 数据库查询 | 8M+ |
| Slack MCP | 消息发送、频道管理 | 6M+ |
| AWS MCP | 云服务管理 | 5M+ |
| Stripe MCP | 支付集成 | 4M+ |
| Notion MCP | 文档管理 | 7M+ |
OpenClaw 配置 MCP Server
方法一:配置文件
# ~/.openclaw/config.yaml
mcp:
servers:
github:
command: "npx"
args: ["@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}"
postgres:
command: "npx"
args: ["@modelcontextprotocol/server-postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"
方法二:通过 Gateway 命令
# 添加 MCP Server
openclaw mcp add github \
--command npx \
--args @modelcontextprotocol/server-github \
--env GITHUB_TOKEN=$GITHUB_TOKEN
# 查看已配置的 MCP Servers
openclaw mcp list
# 测试连接
openclaw mcp test github
方法三:在 Skill 中调用 MCP
# 在 SKILL.md 中引用 MCP 工具
## 获取仓库信息
使用 GitHub MCP 的 `list_repos` 工具:
```
mcp github list_repos --owner octocat
```
## 创建 Issue
使用 GitHub MCP 的 `create_issue` 工具:
```
mcp github create_issue \
--repo my-repo \
--title "Bug Report" \
--body "描述问题..."
```
实战示例:构建数据分析流水线
# SKILL.md - Data Pipeline Skill
## 数据分析流水线
### 步骤 1: 从数据库获取数据
使用 PostgreSQL MCP 查询数据:
```
mcp postgres query "SELECT * FROM sales WHERE date > '2026-01-01'"
```
### 步骤 2: 数据处理
使用 exec 工具运行 Python 脚本:
```
exec "python3 scripts/analyze.py --input data.json"
```
### 步骤 3: 生成报告
使用 write 工具生成 HTML 报告。
### 步骤 4: 发送通知
使用 Slack MCP 发送结果:
```
mcp slack send_message --channel #reports --text "报告已生成"
```
安全注意事项
⚠️ 安全建议:
- 永远不要在配置文件中硬编码 API Key,使用环境变量
- 为 MCP Server 配置最小权限原则
- 定期轮换 API Token
- 启用 MCP Server 的日志审计
故障排查
MCP Server 连接失败
# 检查 MCP Server 状态
openclaw mcp status github
# 查看日志
openclaw mcp logs github
# 重启 MCP Server
openclaw mcp restart github
工具调用超时
# 调整超时配置
mcp:
timeout: 30000 # 30秒
retry: 3 # 重试3次