OpenClaw MCP 服务器指南:模型上下文协议集成
了解 OpenClaw 中的 MCP(模型上下文协议)服务器。什么是 MCP、如何连接服务器、可用服务器以及构建自定义 MCP 服务器。
Quick Answer
MCP(模型上下文协议)服务器使 OpenClaw 能够访问外部工具和 API。连接 GitHub、数据库、Notion、Slack 等服务器,以扩展助手的功能。
OpenClaw 的强大之处在于其连接外部工具和服务的能力。虽然技能扩展了 OpenClaw 的功能,但 MCP(模型上下文协议)服务器提供了连接到外部 API、数据库和服务的标准化方法。本指南涵盖了有关 OpenClaw 中 MCP 服务器的所有内容。
什么是 MCP?
MCP(模型上下文协议)是一种允许人工智能助手安全连接到外部工具和数据源的协议。将 MCP 服务器视为 OpenClaw 和外部服务之间的桥梁。
无 MCP:
- OpenClaw只能使用内置功能
- 外部集成需要自定义代码
- 每个集成都是独特且复杂的
使用 MCP:
- 连接外部工具的标准化方式
- 用于公共服务的可重用服务器
- 轻松添加新功能
- 安全且定义明确的界面
为什么 MCP 很重要
MCP 服务器使 OpenClaw 能够:
- 访问外部 API(GitHub、Notion、Slack 等)
- 查询数据库(PostgreSQL、MySQL、MongoDB)
- 与服务交互(电子邮件、日历、云存储)
- 扩展功能,无需修改核心代码
- 在社区中共享集成
您可以使用(或创建)遵循标准协议的 MCP 服务器,而不是为每个服务构建自定义集成。
MCP 的工作原理
架构
MCP 遵循客户端-服务器模型:
- OpenClaw = MCP 客户端(请求操作)
- MCP 服务器 = 服务连接器(执行操作)
- 协议 = 标准化通信
当您要求 OpenClaw 做一些需要外部服务的事情时,OpenClaw:
- 识别哪个MCP服务器可以处理请求
- 向该服务器发送请求
- 服务器执行动作(API调用、数据库查询等)
- 服务器返回结果给OpenClaw
- OpenClaw 向您呈现结果
连接类型
MCP 服务器可以通过以下方式连接:
- stdio:标准输入/输出(本地服务器)
- HTTP:REST API 端点
- WebSocket:实时连接
- SSH:远程服务器连接
大多数MCP服务器使用stdio进行本地连接,简单且安全。
可用的 MCP 服务器
MCP 生态系统包括许多流行服务的服务器:
开发工具
GitHub MCP 服务器
- 访问存储库
- 创建问题并拉取请求
- 管理代码
- 审查变更
GitLab MCP 服务器
- 类似于 GitHub
- GitLab 特定功能
- CI/CD 集成
Jira MCP 服务器
- 管理门票
- 跟踪项目
- 更新问题
生产力工具
概念MCP服务器
- 读取和写入页面
- 查询数据库
- 管理内容
- 同步数据
Slack MCP 服务器
- 发送消息
- 阅读频道
- 管理工作区
- 处理通知
Google Workspace MCP 服务器
- Gmail 访问
- 日历管理
- 驱动集成
- 文档和表格
数据源
PostgreSQL MCP 服务器
- 查询数据库
- 执行SQL
- 管理模式
- 数据分析
MySQL MCP 服务器
- 数据库查询
- 表管理
- 数据操作
MongoDB MCP 服务器
- 文档查询
- 收藏管理
- 聚合管道
云服务
AWS MCP 服务器
- EC2管理
- S3操作
- 拉姆达函数
- CloudWatch 指标
谷歌云MCP服务器
- 计算引擎
- 云存储
- 大查询
- 云功能
安装 MCP 服务器
方法一:内置服务器
一些 MCP 服务器附带 OpenClaw 或易于安装:
openclaw mcp install github
openclaw mcp install notion
openclaw mcp install postgres
方法2:手动安装1. 安装MCP服务器(通常通过npm或包管理器)
- 配置OpenClaw来使用它
- 添加凭据(API 密钥、令牌等)
- 测试连接
~/.openclaw/config.json 中的示例配置:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-token-here"
}
},
"notion": {
"command": "node",
"args": ["/path/to/notion-mcp-server"],
"env": {
"NOTION_API_KEY": "your-key-here"
}
}
}
}
方法 3:社区服务器
浏览 MCP 服务器目录以查找社区维护的服务器:
- GitHub:
github.com/modelcontextprotocol/servers - 社区贡献
- 定制服务器
使用 MCP 服务器
安装后,MCP 服务器将自动可用。 OpenClaw 知道每个服务器提供哪些功能并在适当的时候使用它们。
示例:GitHub 集成
You: "Create a new issue in my openclaw project titled 'Add feature X'"
OpenClaw: [Uses GitHub MCP server to create issue]
OpenClaw:
- 确定 GitHub MCP 服务器可以处理此问题
- 通过MCP服务器连接GitHub API
- 创建问题
- 确认创建
示例:数据库查询
You: "Query my PostgreSQL database and show me all users created this month"
OpenClaw: [Uses PostgreSQL MCP server to query database]
OpenClaw:
- 使用PostgreSQL MCP服务器
- 执行SQL查询
- 格式化结果
- 呈现数据
示例:概念集成
You: "Add a new page to my Notion workspace with today's meeting notes"
OpenClaw: [Uses Notion MCP server to create page]
构建自定义 MCP 服务器
您可以为尚无 MCP 服务器的服务构建自定义 MCP 服务器。
MCP服务器结构
MCP 服务器是一个程序:
- 监听 MCP协议消息
- 执行操作(API调用、查询等)
- 返回 MCP 格式的结果
- 优雅地处理错误
简单 MCP 服务器示例
这是 Node.js 中的最小 MCP 服务器:
#!/usr/bin/env node
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'my-custom-server',
version: '1.0.0',
}, {
capabilities: {
tools: {},
},
});
// Define a tool
server.setRequestHandler('tools/list', async () => ({
tools: [{
name: 'custom_action',
description: 'Performs a custom action',
inputSchema: {
type: 'object',
properties: {
param: {
type: 'string',
description: 'A parameter',
},
},
},
}],
}));
// Handle tool execution
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
if (name === 'custom_action') {
// Perform your custom action here
const result = await performCustomAction(args.param);
return {
content: [{
type: 'text',
text: JSON.stringify(result),
}],
};
}
throw new Error(`Unknown tool: ${name}`);
});
// Start server
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
console.error('MCP server running');
}
main().catch(console.error);
MCP 服务器最佳实践
- 遵循协议:正确实现MCP规范
- 处理错误:返回明确的错误信息
- 验证输入:执行前检查参数
- 文档工具:提供清晰的描述
- 安全凭证:安全地存储 API 密钥
- 彻底测试:确保可靠性
MCP 与技能
您可能想知道:何时使用 MCP 服务器与技能?
在以下情况下使用 MCP 服务器:
- 连接到外部 API/服务
- 需要标准化协议
- 想要可重用的集成
- 供社区使用的建筑
在以下情况下使用技能:
- 创建自定义工作流程
- 结合多种能力
- 需要 OpenClaw 特定的逻辑
- 构建面向用户的功能
通常,技能在幕后使用 MCP 服务器。例如,电子邮件技能可能使用 Gmail MCP 服务器来访问电子邮件。
安全考虑
凭证管理
MCP 服务器需要凭证(API 密钥、令牌等):
- 安全地存储在环境变量中
- 永远不要致力于版本控制
- 使用OpenClaw的凭证管理
- 定期轮换凭证
访问控制
控制 MCP 服务器可以执行的操作:
- 审查服务器功能
- 尽可能限制权限
- 监控服务器使用情况
- 审核服务器操作
网络安全
对于远程 MCP 服务器:
- 使用 HTTPS/WSS 连接
- 验证服务器证书
- 使用身份验证
- 监控网络流量
故障排除
服务器未连接
- 检查服务器是否安装:
openclaw mcp list - 验证
~/.openclaw/config.json中的配置 - 检查凭证是否正确
- 查看日志:
openclaw logs
服务器错误
- 检查服务器日志是否有错误
- 验证API凭证是否有效 3、独立测试服务器
- 检查MCP协议版本兼容性
性能问题
- 监控服务器响应时间
- 检查速率限制
- 优化查询/请求
- 考虑缓存
热门用例
开发工作流程
将 GitHub MCP 服务器连接到:
- 从聊天中创建问题
- 审查拉取请求
- 管理存储库
- 跟踪项目
数据分析
将数据库 MCP 服务器连接到:
- 自然地查询数据
- 生成报告
- 分析趋势
- 导出数据### 生产力
将 Notion/Slack MCP 服务器连接到:
- 通过聊天管理工作区
- 同步信息
- 自动化工作流程
- 协调团队
后续步骤
现在您已经了解了 MCP 服务器:
- 浏览可用服务器:查找您使用的服务的服务器
- 安装服务器:尝试 GitHub 或 Notion MCP 服务器
- 在对话中使用:要求OpenClaw使用MCP功能
- 构建自定义服务器:为您需要的服务创建一个
- 与社区分享:贡献您的服务器
欲了解更多信息:
- OpenClaw 技能指南 - 技能如何使用 MCP 服务器
- OpenClaw 浏览器控制 - 用于 Web 自动化的 MCP 替代方案
- 安装指南 - 设置 OpenClaw
- 集成 - 可用集成
- 常见问题解答 - 常见问题
MCP 服务器以强大的方式扩展了 OpenClaw 的功能。立即开始连接外部工具,为您的人工智能助手开启新的可能性。
> Related Articles
OpenClaw MCP 服务器指南:模型上下文协议集成
了解 OpenClaw 中的 MCP(模型上下文协议)服务器。什么是 MCP、如何连接服务器、可用服务器以及构建自定义 MCP 服务器。
抛弃 Siri:使用 OpenClaw 和 Whisper 设置私有语音控制
彻底改变您与计算机的关系。了解如何使用 OpenClaw 在本地运行 OpenAI 的 Whisper 模型,设置超快、私密的语音控制。
如何使用 OpenClaw 在本地运行 DeepSeek R1
了解如何使用 OpenClaw 和 Ollama 在您的计算机上本地运行强大的 DeepSeek R1 模型。隐私、速度和零成本。
Need help?
Join the OpenClaw community on Discord for support, tips, and shared skills.
Join Discord →