OpenCode MCP Server
中文 | English
通过 MCP 协议将 OpenCode CLI 的 全部 AI 编码能力暴露为标准化工具服务,支持 oh-my-opencode 多代理编排和 superpower skill 技能系统。
架构
OpenClaw (MCP Client) → [MCP Protocol / stdio] → opencode-mcp-server (适配器) → [子进程] → opencode CLI → LLM
设计模式:适配器模式 + 注册表模式 + 策略模式 + 开闭原则
快速开始
前置条件
安装与构建
cd d:\mcp\opencode-mcp-server
npm install
npm run build
22 个 MCP 工具
核心(3)
| 工具 |
说明 |
opencode_run |
执行 AI 编码 prompt(非交互模式) |
opencode_models |
列出可用 LLM 模型 |
opencode_auth |
查看认证状态 |
Session 管理(4)
| 工具 |
说明 |
opencode_session_list |
列出所有会话 |
opencode_session_continue |
继续已有会话 |
opencode_session_export |
导出会话记录 |
opencode_session_fork |
分叉会话 |
Agent 管理(3)
| 工具 |
说明 |
opencode_agent_list |
列出所有代理 |
opencode_agent_create |
创建自定义代理 |
opencode_agent_run |
用指定代理执行 |
自定义命令(1)
| 工具 |
说明 |
opencode_command_run |
执行 slash 命令 |
服务模式(2)
| 工具 |
说明 |
opencode_serve_start |
启动 HTTP/Web 服务器 |
opencode_serve_status |
检测服务器运行状态 |
oh-my-opencode 多代理(4)
| 工具 |
说明 |
opencode_sisyphus |
Sisyphus 编排(规划→委派→执行→验证) |
opencode_prometheus |
Prometheus 咨询(分析→规划) |
opencode_subagent |
异步子代理调用 |
opencode_brainstorm_ralph |
使用 brainstorm 技能写出 plan,然后交给 ralph 去逐步执行 |
superpower skill(2)
| 工具 |
说明 |
opencode_skill_list |
列出可用技能 |
opencode_skill_use |
激活并使用技能 |
Stop Hook 任务回调(3)
| 工具 |
说明 |
opencode_hook_dispatch |
派发 OpenCode 任务(自动回调) |
opencode_hook_result |
读取 Stop Hook 结果(latest.json) |
opencode_hook_wake |
读取/处理唤醒文件(pending-wake.json) |
OpenClaw 配置
{
"mcpServers": {
"opencode-adapter": {
"type": "stdio",
"command": "node",
"args": ["D:/mcp/opencode-mcp-server/dist/index.js"],
"env": {
"OPENCODE_TIMEOUT_MS": "120000",
"OPENCODE_WORKSPACE": "D:/projects"
}
}
}
}
环境变量
| 变量 |
默认值 |
说明 |
OPENCODE_PATH |
opencode |
CLI 路径 |
OPENCODE_TIMEOUT_MS |
120000 |
超时(毫秒) |
OPENCODE_WORKSPACE |
. |
默认工作目录 |
OPENCODE_MODEL |
(空) |
默认模型 |
OPENCODE_MAX_OUTPUT |
10485760 |
最大输出(字节) |
HOOK_RESULT_DIR |
~/opencode-data/hook-results |
Hook 结果文件目录 |
项目结构
opencode-mcp-server/
├── src/
│ ├── index.ts # MCP Server 入口
│ ├── config.ts # 配置管理
│ ├── executor.ts # 命令执行器(适配器核心)
│ ├── tool-definition.ts # 工具接口定义
│ ├── tool-registry.ts # 工具注册表
│ ├── tools/
│ │ ├── index.ts # 工具索引(集中注册)
│ │ ├── opencode-run.ts # 核心:AI 编码
│ │ ├── opencode-models.ts # 核心:模型列表
│ │ ├── opencode-auth.ts # 核心:认证
│ │ ├── opencode-session-*.ts # Session 管理(4个)
│ │ ├── opencode-agent-*.ts # Agent 管理(3个)
│ │ ├── opencode-command-run.ts # 自定义命令
│ │ ├── opencode-serve.ts # 服务模式(2个)
│ │ ├── opencode-omoc.ts # oh-my-opencode(3个)
│ │ ├── opencode-skills.ts # superpower(2个)
│ │ └── opencode-hooks.ts # Stop Hook 任务回调(3个)
│ └── __tests__/ # 单元测试
├── skills/
│ └── opencode-mcp-adapter/ # OpenClaw Agent Skill
│ ├── SKILL.md # 技能定义(21 个工具指南)
│ └── examples/ # 配置示例
├── claude-code-hooks/ # Claude Code Stop Hook 脚本
├── package.json
├── tsconfig.json
└── README.md
OpenClaw Agent Skill
本项目包含一个 OpenClaw Agent Skill,位于 skills/opencode-mcp-adapter/。
将 skills/opencode-mcp-adapter/ 目录复制到 OpenClaw 的技能目录,代理即可自动发现并使用所有 22 个 MCP 工具。
详见 SKILL.md。
开发
npm run dev # 监听模式构建
npm test # 运行测试
npm run lint # 类型检查
Author: shichao.han | Version: 1.1.0 | License: MIT