loading…
Search for a command to run...
loading…
A bridge server that connects MCP-compatible clients to the OpenClaw (Jarvis) AI assistant for asynchronous task processing and real-time WebSocket communicatio
A bridge server that connects MCP-compatible clients to the OpenClaw (Jarvis) AI assistant for asynchronous task processing and real-time WebSocket communication. It enables users to send intents, execute tasks, and query results using a suite of tools including process_intent, ask_jarvis, and execute_task.
Python 3.9+ MCP Protocol License: MIT
OpenClaw-xiaozhi MCP Server 是一个基于 Model Context Protocol (MCP) 协议的智能桥接服务器,用于将用户意图通过 MCP 转发给 OpenClaw(贾维斯)AI 助手处理。支持异步任务处理、WebSocket 实时通信和任务完成回调通知。
┌─────────────────┐ ┌─────────────────────┐ ┌─────────────────┐
│ 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+ | 运行安装脚本 |
| 包名 | 版本 | 用途 |
|---|---|---|
| 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
复制 .env.example 为 .env:
copy .env.example .env
编辑 .env 文件,设置您的 Token:
# OpenClaw MCP Token
# 从 wss://api.xiaozhi.me/mcp/?token=xxx 中获取
OPENCLAW_TOKEN=your_token_here
token= 后面的值填入 .env编辑 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"
}
}
}
}
{
"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
# 运行测试脚本
python test_mcp_full.py
发送用户意图并立即返回任务 ID(异步处理)。
参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| intent | string | ✅ | 用户意图或请求内容 |
| context | object | ❌ | 可选的上下文信息 |
请求示例:
{
"intent": "帮我写一封邮件",
"context": {
"tone": "formal",
"recipient": "client"
}
}
响应示例:
{
"status": "processing",
"task_id": "task_1",
"message": "意图已接收,正在处理中...",
"intent_preview": "帮我写一封邮件"
}
查询任务处理结果。
参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| task_id | string | ✅ | 任务 ID(由 process_intent 返回) |
请求示例:
{"task_id": "task_1"}
响应示例(完成):
{
"status": "completed",
"result": {
"content": "尊敬的客户,..."
}
}
响应示例(处理中):
{
"status": "processing",
"message": "任务仍在处理中,请稍后查询"
}
向贾维斯提问获取智能回答。
参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| question | string | ✅ | 要问的问题 |
| context | object | ❌ | 可选的上下文信息 |
让贾维斯执行特定任务。
参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| task_description | string | ✅ | 任务描述 |
| parameters | object | ❌ | 任务参数 |
获取贾维斯当前状态。
响应示例:
{
"name": "贾维斯",
"status": "online",
"version": "1.0.0",
"capabilities": [
"自然语言理解",
"任务执行",
"信息查询",
"工具调用"
]
}
特点:
安装步骤:
install-service.ps1管理命令:
# 启动服务
net start JarvisMCPBridge
# 停止服务
net stop JarvisMCPBridge
# 查看状态
sc query JarvisMCPBridge
# 查看日志
Get-Content service.log -Tail 50
# 卸载服务(管理员)
.\uninstall-service.ps1
特点:
安装步骤:
install-task.ps1管理命令:
# 启动任务
Start-ScheduledTask -TaskName JarvisMCPBridge_AutoStart
# 停止任务
Stop-ScheduledTask -TaskName JarvisMCPBridge_AutoStart
# 查看状态
Get-ScheduledTask -TaskName JarvisMCPBridge_AutoStart
步骤:
Win + Rshell:startupstart-service.bat 的快捷方式| 特性 | Windows 服务 | 任务计划 | 启动文件夹 |
|---|---|---|---|
| 管理员权限 | 需要 | 不需要 | 不需要 |
| 开机启动 | ✅ | ✅ (登录时) | ✅ (登录时) |
| 自动重启 | ✅ | ✅ | ❌ |
| 日志管理 | ✅ | ⚠️ | ❌ |
| 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 推荐场景 | 生产环境 | 个人使用 | 临时测试 |
错误信息:
ValueError: 请设置 OPENCLAW_TOKEN 环境变量
解决方案:
.env 文件存在于项目根目录.env 文件中 OPENCLAW_TOKEN 是否正确设置错误信息:
连接失败:...
解决方案:
解决方案:
# 升级 pip
python -m pip install --upgrade pip
# 重新安装依赖
pip install -r requirements.txt --force-reinstall
诊断步骤:
# 查看详细错误
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 路径
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 (贾维斯)
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"openclaw-xiaozhi-mcp-server": {
"command": "npx",
"args": []
}
}
}Read and write pages in your workspace
Issues, cycles, triage — from Claude
Search and read your Drive files
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).