
Coze MCP Server For OpenClaw
配置扣子工作流,然后立刻就可以在OpenClaw中使用它!
通过本项目,你可以快速实现:
- 将你自己的Coze工作流们快速封装为一个MCP服务,并运行在本地
- 通过script中的make_skills脚本快速为你的龙虾配置上使用工作流的技能
本项目旨在通过Coze的工作流提供一种简单、高效的给OpenClaw提供额外技能的方式。相较于直接安装OpenClaw技能,使用Coze工作流进行技能管理主要有以下优势:
- 无环境依赖:目前OpenClaw有很多技能涉及到跑Python脚本或其他脚本,如果要使用这些技能,不可避免地会碰到环境依赖问题,而使用Coze来支持技能,仅需要使用http调用即可,无需对环境进行配置
- 技能测试简单:对于OpenClaw来说,如果要测试某个技能是否可用,要么是得让OpenClaw直接使用该技能,要么是得阅读并跟着技能的内容一步一步操作来测试,整体较为复杂。而通过Coze工作流,用户仅需在Coze中测试该工作流,即可验证该技能是否可用。
Coze配置说明
使用本项目前,请先在Coze中创建一个独立的工作空间,并获取其ID,本项目会扫描该空间下所有的已发布的工作流作为OpenClaw的额外技能。
注意:请务必为每个工作流,以及它的每个输入输出都配置上描述文本,方便调用方能明确地知道什么时候进行调用以及如何调用
功能特性
- 基于MCP标准协议实现,兼容所有支持MCP的AI客户端
- 自动获取指定Workspace中的所有已发布工作流
- 将每个工作流作为一个MCP工具暴露
- 支持工作流列表查询、详情查看和执行
- 提供工作流缓存刷新功能
- 返回调试URL和资源使用情况
- 提供可快速新增/更新/删除技能的脚本,方便OpenClaw用户管理技能
快速开始
1. 安装uv
如果你还没有安装uv,请先安装:
Windows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
2. 创建虚拟环境并安装依赖
uv venv
uv sync
3. 配置环境变量
复制 .env.example 文件为 .env,并填写以下配置:
# Coze API配置
COZE_API_KEY=your_coze_api_key_here
WORKSPACE_ID=your_workspace_id_here
OPENCLAW_SKILLS_DIR=~/.openclaw/skills
COZE_API_KEY:你的Coze API密钥(个人访问令牌)WORKSPACE_ID:你想要加载工作流的Workspace IDOPENCLAW_SKILLS_DIR:OpenClaw技能目录
4. 运行MCP服务器
uv run coze-mcp
或者直接运行Python文件:
uv run python coze_mcp.py
MCP工具说明
本服务器提供以下MCP工具:
1. list_workflows
列出工作空间中所有可用的工作流。
返回示例:
找到 3 个已发布的工作流:
- **workflow_1** (ID: 73505836754923***)
描述: 这是一个示例工作流
- **workflow_2** (ID: 73505836754924***)
描述: 另一个工作流
2. run_workflow_by_name
根据工作流名称执行工作流。
参数:
workflow_name(必需): 工作流名称parameters(可选): 工作流输入参数,JSON字符串格式
示例:
{
"workflow_name": "my_workflow",
"parameters": "{\"input\": \"Hello World\"}"
}
返回示例:
工作流执行成功!
**执行结果:**
{
"output": "处理结果"
}
**资源使用:**
- 输入Token: 50
- 输出Token: 100
- 总Token: 150
**调试链接:** https://www.coze.cn/work_flow?execute_id=xxx
3. get_workflow_info
获取指定工作流的详细信息。
参数:
workflow_name(必需): 工作流名称
返回示例:
**工作流信息**
- **名称:** my_workflow
- **ID:** 73505836754923***
- **描述:** 这是一个示例工作流
- **图标:** https://example.com/icon.png
- **创建时间:** 1752060786
- **更新时间:** 1752060827
4. refresh_workflows
刷新工作流列表缓存。
返回示例:
成功刷新工作流列表,共加载 10 个工作流。
在AI客户端中配置
OpenClaw
通过 mcporter 配置 OpenClaw,在配置文件中添加以下内容:
{
"coze-mcp": {
"baseUrl": "http://localhost:33123/mcp"
}
}
确保 Coze MCP 服务器正在运行,OpenClaw 将自动连接到该服务。
技能生成脚本
本项目提供了一个脚本,用于为所有已发布的工作流生成 OpenClaw 技能文件。
环境变量配置
在 .env 文件中添加以下配置:
OPENCLAW_SKILLS_DIR=C:\Users\你的用户名\.openclaw\skills
OPENCLAW_SKILLS_DIR:技能文件存放目录,脚本会在此目录下为每个工作流创建对应的技能文件夹
运行脚本
# 创建新技能(已存在的文件夹会跳过)
uv run python script/make_skills.py
# 更新已存在的技能文件
uv run python script/make_skills.py --update
# 删除指定技能(支持逗号分隔多个)
uv run python script/make_skills.py --remove workflow1,workflow2
# 删除所有技能
uv run python script/make_skills.py --remove all
脚本功能
- 从
.env读取OPENCLAW_SKILLS_DIR环境变量,如未配置则报错退出 - 调用 Coze API 获取所有已发布的工作流及其参数详情
- 为每个工作流在技能目录下创建以工作流名称命名的文件夹
- 使用
skill_template.md模板生成SKILL.md文件
参数说明
| 参数 | 说明 |
|---|---|
| 无参数 | 创建新技能,已存在的文件夹会跳过 |
--update |
更新已存在的技能文件夹内容 |
--remove NAMES |
删除指定的技能文件夹,支持逗号分隔多个名称,或使用 all 删除全部(删除前需二次确认) |
项目结构
coze-mcp/
├── coze_mcp.py # MCP服务器主文件
├── pyproject.toml # 项目配置文件
├── .python-version # Python版本配置
├── .env # 环境变量配置
├── .env.example # 环境变量示例
├── skill_template.md # 技能文件模板
├── script/
│ └── make_skills.py # 技能生成脚本
└── README.md # 项目说明文档
技术栈
- Python 3.12+
- MCP Python SDK (mcp)
- httpx (异步HTTP客户端)
- python-dotenv (环境变量管理)
- uv (包管理工具)
API说明
获取工作流列表
- 接口:
GET https://api.coze.cn/v1/workflows - 权限:
listWorkflow - 参数:
workspace_id: 工作空间ID(必选)page_num: 页码(必选,最小值为1)page_size: 每页数量(可选,1-30,默认10)publish_status: 发布状态(可选,默认published_online)
执行工作流
- 接口:
POST https://api.coze.cn/v1/workflow/run - 权限:
run - 参数:
workflow_id: 工作流ID(必选)parameters: 工作流输入参数(可选,JSON对象)bot_id: 关联的智能体ID(可选)is_async: 是否异步执行(可选,默认false)
注意事项
- 确保你的Coze API密钥具有访问指定Workspace的权限
- 确保API密钥开通了
listWorkflow和run权限 - 服务启动时会自动获取已发布的工作流列表,并存入内存
- 如果Workspace中的工作流发生变化,可以使用
refresh_workflows工具刷新缓存 - 只有已发布的工作流才会被加载到服务中
- 工作流执行超时时间为10分钟,建议执行时间控制在5分钟以内
- 可以通过返回的
debug_url查看工作流执行的详细过程