MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

O
Openclaw Xiaozhi MCP Server

OpenClaw-xiaozhi MCP Server** 是一个基于 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 协议的智能桥接服务器,用于将用户意图通过 MCP 转发给 OpenClawAI 助手处理。支持异步任务处理、WebSocket 实时通信和任务完成回调通知。

Created 3/13/2026
Updated about 19 hours ago
Repository documentation and setup instructions

OpenClaw--xiaozhi MCP Server

Python 3.9+ MCP Protocol License: MIT

OpenClaw-xiaozhi MCP Server 是一个基于 Model Context Protocol (MCP) 协议的智能桥接服务器,用于将用户意图通过 MCP 转发给 OpenClaw(贾维斯)AI 助手处理。支持异步任务处理、WebSocket 实时通信和任务完成回调通知。

📖 目录

✨ 功能特点

  • 🚀 异步处理 - 立即返回"处理中"状态,不阻塞客户端
  • 🔄 WebSocket 实时通信 - 与小智 MCP 服务器保持长连接
  • 📬 回调通知 - 任务完成后自动通知用户
  • 🛠️ 多工具支持 - 提供多种工具接口(ask_jarvis, execute_task, process_intent 等)
  • 🔌 自动重连 - 连接断开后自动重连,支持指数退避
  • 📊 完整 MCP 协议 - 支持 JSON-RPC 2.0 和 MCP 2024-11-05 协议
  • 💼 生产就绪 - 支持 Windows 服务、任务计划程序等多种部署方式

🏗️ 系统架构

┌─────────────────┐     ┌─────────────────────┐     ┌─────────────────┐
│  MCP 客户端     │────▶│  OpenClaw MCP       │────▶│  小智 MCP       │
│  (Claude 等)    │◀────│  Server (本服务)    │◀────│  WebSocket      │
└─────────────────┘     └─────────────────────┘     └─────────────────┘
                                │
                                ▼
                        ┌─────────────────┐
                        │  OpenClaw       │
                        │  (贾维斯 AI)    │
                        └─────────────────┘

工作流程

1. MCP 客户端发送意图
         │
         ▼
2. MCP Server 立即返回 task_id(状态:processing)
         │
         ▼
3. 异步发送给 OpenClaw 处理
         │
         ▼
4. OpenClaw 处理完成后通过 WebSocket 回调
         │
         ▼
5. 客户端可通过 get_task_result 查询结果

📋 环境要求

必需软件

| 软件 | 版本 | 说明 | |------|------|------| | Python | 3.9+ | 推荐 Python 3.11+ | | pip | 21.0+ | Python 包管理器 |

可选软件(用于生产部署)

| 软件 | 用途 | |------|------| | Windows 10/11 | 运行环境 | | PowerShell 5.1+ | 运行安装脚本 |

Python 依赖

| 包名 | 版本 | 用途 | |------|------|------| | mcp | >=1.0.0 | MCP 协议实现 | | websockets | >=12.0 | WebSocket 通信 | | python-dotenv | >=1.0.0 | 环境变量管理 |

📦 安装指南

方法一:源码安装(推荐)

# 1. 克隆或下载项目
cd C:\Users\user\Desktop\openclaw-mcp-server

# 2. 创建虚拟环境
python -m venv venv

# 3. 激活虚拟环境(Windows)
venv\Scripts\activate

# 4. 安装依赖
pip install -r requirements.txt

方法二:使用 install-startup.bat

# 双击运行或命令行执行
install-startup.bat

⚙️ 配置说明

1. 环境变量配置

复制 .env.example.env

copy .env.example .env

编辑 .env 文件,设置您的 Token:

# OpenClaw MCP Token
# 从 wss://api.xiaozhi.me/mcp/?token=xxx 中获取
OPENCLAW_TOKEN=your_token_here

2. 获取 Token

  1. 访问小智 MCP 平台
  2. 创建您的 Agent
  3. 复制包含 token 的 WebSocket URL
  4. 提取 token= 后面的值填入 .env

3. MCP 客户端配置

Claude Desktop 配置

编辑 Claude Desktop 配置文件(通常位于 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "openclaw": {
      "command": "python",
      "args": ["C:/Users/user/Desktop/openclaw-mcp-server/server.py"],
      "env": {
        "OPENCLAW_TOKEN": "your_token_here"
      }
    }
  }
}

其他 MCP 客户端

{
  "mcpServers": {
    "openclaw": {
      "command": "path/to/your/python",
      "args": ["path/to/openclaw-mcp-server/server.py"],
      "env": {
        "OPENCLAW_TOKEN": "your_token"
      }
    }
  }
}

🚀 使用方法

启动服务器

# 激活虚拟环境
venv\Scripts\activate

# 运行服务器
python server.py

使用 run.bat 脚本

# 直接运行
run.bat

测试连接

# 运行测试脚本
python test_mcp_full.py

📡 API 参考

工具列表

1. process_intent

发送用户意图并立即返回任务 ID(异步处理)。

参数: | 参数 | 类型 | 必需 | 说明 | |------|------|------|------| | intent | string | ✅ | 用户意图或请求内容 | | context | object | ❌ | 可选的上下文信息 |

请求示例:

{
  "intent": "帮我写一封邮件",
  "context": {
    "tone": "formal",
    "recipient": "client"
  }
}

响应示例:

{
  "status": "processing",
  "task_id": "task_1",
  "message": "意图已接收,正在处理中...",
  "intent_preview": "帮我写一封邮件"
}

2. get_task_result

查询任务处理结果。

参数: | 参数 | 类型 | 必需 | 说明 | |------|------|------|------| | task_id | string | ✅ | 任务 ID(由 process_intent 返回) |

请求示例:

{"task_id": "task_1"}

响应示例(完成):

{
  "status": "completed",
  "result": {
    "content": "尊敬的客户,..."
  }
}

响应示例(处理中):

{
  "status": "processing",
  "message": "任务仍在处理中,请稍后查询"
}

3. ask_jarvis

向贾维斯提问获取智能回答。

参数: | 参数 | 类型 | 必需 | 说明 | |------|------|------|------| | question | string | ✅ | 要问的问题 | | context | object | ❌ | 可选的上下文信息 |

4. execute_task

让贾维斯执行特定任务。

参数: | 参数 | 类型 | 必需 | 说明 | |------|------|------|------| | task_description | string | ✅ | 任务描述 | | parameters | object | ❌ | 任务参数 |

5. get_status

获取贾维斯当前状态。

响应示例:

{
  "name": "贾维斯",
  "status": "online",
  "version": "1.0.0",
  "capabilities": [
    "自然语言理解",
    "任务执行",
    "信息查询",
    "工具调用"
  ]
}

🖥️ 部署选项

方案一:Windows 服务(推荐用于生产环境)

特点:

  • ✅ 最稳定,系统级服务
  • ✅ 开机自动启动
  • ✅ 进程崩溃自动重启
  • ✅ 完善的日志管理
  • ⚠️ 需要管理员权限

安装步骤:

  1. 右键点击 install-service.ps1
  2. 选择 "以管理员身份运行"
  3. 按提示完成安装

管理命令:

# 启动服务
net start JarvisMCPBridge

# 停止服务
net stop JarvisMCPBridge

# 查看状态
sc query JarvisMCPBridge

# 查看日志
Get-Content service.log -Tail 50

# 卸载服务(管理员)
.\uninstall-service.ps1

方案二:任务计划程序(适合个人使用)

特点:

  • ✅ 无需管理员权限
  • ✅ 用户登录时自动启动
  • ✅ 进程崩溃自动重启

安装步骤:

  1. 双击运行 install-task.ps1
  2. 按提示完成安装

管理命令:

# 启动任务
Start-ScheduledTask -TaskName JarvisMCPBridge_AutoStart

# 停止任务
Stop-ScheduledTask -TaskName JarvisMCPBridge_AutoStart

# 查看状态
Get-ScheduledTask -TaskName JarvisMCPBridge_AutoStart

方案三:开机启动文件夹(简单测试)

步骤:

  1. Win + R
  2. 输入 shell:startup
  3. 创建 start-service.bat 的快捷方式

部署方案对比

| 特性 | Windows 服务 | 任务计划 | 启动文件夹 | |------|-------------|---------|-----------| | 管理员权限 | 需要 | 不需要 | 不需要 | | 开机启动 | ✅ | ✅ (登录时) | ✅ (登录时) | | 自动重启 | ✅ | ✅ | ❌ | | 日志管理 | ✅ | ⚠️ | ❌ | | 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | | 推荐场景 | 生产环境 | 个人使用 | 临时测试 |

🐛 故障排除

常见问题

1. OPENCLAW_TOKEN 未设置

错误信息:

ValueError: 请设置 OPENCLAW_TOKEN 环境变量

解决方案:

  • 确保 .env 文件存在于项目根目录
  • 检查 .env 文件中 OPENCLAW_TOKEN 是否正确设置

2. WebSocket 连接失败

错误信息:

连接失败:...

解决方案:

  • 检查网络连接
  • 验证 Token 是否有效
  • 检查防火墙设置

3. 依赖安装失败

解决方案:

# 升级 pip
python -m pip install --upgrade pip

# 重新安装依赖
pip install -r requirements.txt --force-reinstall

4. 服务无法启动

诊断步骤:

# 查看详细错误
sc qc JarvisMCPBridge

# 手动测试运行
cd C:\Users\user\Desktop\openclaw-mcp-server
venv\Scripts\activate
python bridge.py

日志查看

# 查看服务日志
Get-Content service.log -Tail 100

# 持续跟踪日志
Get-Content service.log -Wait -Tail 20

检查 Python 环境

# 确认 Python 路径
where python

# 确认虚拟环境激活
echo %VIRTUAL_ENV%

# 检查已安装的包
pip list | Select-String "websockets|mcp|dotenv"

📁 项目结构

openclaw-mcp-server/
├── server.py                 # MCP 服务器主程序
├── bridge.py                 # 小智桥接器(完整 MCP 协议)
├── openclaw_client.py        # OpenClaw WebSocket 客户端
├── tools.py                  # MCP 工具定义
├── config.py                 # 配置管理
├── requirements.txt          # Python 依赖
├── .env                      # 环境变量(需自行创建)
├── .env.example              # 环境变量示例
├── manifest.json             # 项目清单
├── mcp-client-config.json    # MCP 客户端配置示例
│
├── run.bat                   # 快速运行脚本
├── start-service.bat         # 服务启动脚本
├── install-service.ps1       # 安装 Windows 服务
├── uninstall-service.ps1     # 卸载服务
├── install-task.ps1          # 安装任务计划
├── install-startup.bat       # 快速安装脚本
│
├── test_client.py            # 客户端测试
├── test_mcp_full.py          # 完整 MCP 测试
│
├── README.md                 # 本文档
├── SERVICE_GUIDE.md          # 服务部署指南
├── SETUP_COMPLETE.md         # 安装完成说明
└── TEST_REPORT.md            # 测试报告

🔧 开发指南

添加新工具

tools.py 中添加新的工具定义:

@mcp.tool()
def your_new_tool(param1: str, param2: int = 0) -> dict:
    """
    工具描述
    
    Args:
        param1: 参数 1 说明
        param2: 参数 2 说明
    
    Returns:
        返回结果
    """
    # 实现逻辑
    return {"result": "success"}

调试模式

# 启用详细日志
python -u server.py 2>&1 | tee debug.log

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📞 支持

如有问题,请提交 Issue 或联系维护者。


🤖 Powered by OpenClaw (贾维斯)

Quick Setup
Installation guide for this server

Install Package (if required)

uvx openclaw--xiaozhi-mcp-server

Cursor configuration (mcp.json)

{ "mcpServers": { "19147951441-openclaw-xiaozhi-mcp-server": { "command": "uvx", "args": [ "openclaw--xiaozhi-mcp-server" ] } } }