教程 MCP

OpenClaw MCP 服务器指南:模型上下文协议集成

了解 OpenClaw 中的 MCP(模型上下文协议)服务器。什么是 MCP、如何连接服务器、可用服务器以及构建自定义 MCP 服务器。

Updated: 2026年2月1日 10 分钟阅读

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:

  1. 识别哪个MCP服务器可以处理请求
  2. 向该服务器发送请求
  3. 服务器执行动作(API调用、数据库查询等)
  4. 服务器返回结果给OpenClaw
  5. 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或包管理器)

  1. 配置OpenClaw来使用它
  2. 添加凭据(API 密钥、令牌等)
  3. 测试连接

~/.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:

  1. 确定 GitHub MCP 服务器可以处理此问题
  2. 通过MCP服务器连接GitHub API
  3. 创建问题
  4. 确认创建

示例:数据库查询

You: "Query my PostgreSQL database and show me all users created this month"
OpenClaw: [Uses PostgreSQL MCP server to query database]

OpenClaw:

  1. 使用PostgreSQL MCP服务器
  2. 执行SQL查询
  3. 格式化结果
  4. 呈现数据

示例:概念集成

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 服务器是一个程序:

  1. 监听 MCP协议消息
  2. 执行操作(API调用、查询等)
  3. 返回 MCP 格式的结果
  4. 优雅地处理错误

简单 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 服务器最佳实践

  1. 遵循协议:正确实现MCP规范
  2. 处理错误:返回明确的错误信息
  3. 验证输入:执行前检查参数
  4. 文档工具:提供清晰的描述
  5. 安全凭证:安全地存储 API 密钥
  6. 彻底测试:确保可靠性

MCP 与技能

您可能想知道:何时使用 MCP 服务器与技能?

在以下情况下使用 MCP 服务器:

  • 连接到外部 API/服务
  • 需要标准化协议
  • 想要可重用的集成
  • 供社区使用的建筑

在以下情况下使用技能:

  • 创建自定义工作流程
  • 结合多种能力
  • 需要 OpenClaw 特定的逻辑
  • 构建面向用户的功能

通常,技能在幕后使用 MCP 服务器。例如,电子邮件技能可能使用 Gmail MCP 服务器来访问电子邮件。

安全考虑

凭证管理

MCP 服务器需要凭证(API 密钥、令牌等):

  • 安全地存储在环境变量中
  • 永远不要致力于版本控制
  • 使用OpenClaw的凭证管理
  • 定期轮换凭证

访问控制

控制 MCP 服务器可以执行的操作:

  • 审查服务器功能
  • 尽可能限制权限
  • 监控服务器使用情况
  • 审核服务器操作

网络安全

对于远程 MCP 服务器:

  • 使用 HTTPS/WSS 连接
  • 验证服务器证书
  • 使用身份验证
  • 监控网络流量

故障排除

服务器未连接

  1. 检查服务器是否安装:openclaw mcp list
  2. 验证~/.openclaw/config.json中的配置
  3. 检查凭证是否正确
  4. 查看日志:openclaw logs

服务器错误

  1. 检查服务器日志是否有错误
  2. 验证API凭证是否有效 3、独立测试服务器
  3. 检查MCP协议版本兼容性

性能问题

  1. 监控服务器响应时间
  2. 检查速率限制
  3. 优化查询/请求
  4. 考虑缓存

热门用例

开发工作流程

将 GitHub MCP 服务器连接到:

  • 从聊天中创建问题
  • 审查拉取请求
  • 管理存储库
  • 跟踪项目

数据分析

将数据库 MCP 服务器连接到:

  • 自然地查询数据
  • 生成报告
  • 分析趋势
  • 导出数据### 生产力

将 Notion/Slack MCP 服务器连接到:

  • 通过聊天管理工作区
  • 同步信息
  • 自动化工作流程
  • 协调团队

后续步骤

现在您已经了解了 MCP 服务器:

  1. 浏览可用服务器:查找您使用的服务的服务器
  2. 安装服务器:尝试 GitHub 或 Notion MCP 服务器
  3. 在对话中使用:要求OpenClaw使用MCP功能
  4. 构建自定义服务器:为您需要的服务创建一个
  5. 与社区分享:贡献您的服务器

欲了解更多信息:

MCP 服务器以强大的方式扩展了 OpenClaw 的功能。立即开始连接外部工具,为您的人工智能助手开启新的可能性。

Need help?

Join the OpenClaw community on Discord for support, tips, and shared skills.

Join Discord →