workbuddy-mcp
workbuddy-mcp
あらゆる AI コーディングエージェントが WorkBuddy をサブエージェントとして操值できるようにします — 1 コマンドでインストールでき、4 つのクライアントに対応します。 あらゆる AI プログラミングアシスタント(Claude Code / Codex / Cursor / OpenCode)が WorkBuddy を「サブエージェント」として呼び出せます — 1 コマンドでセットアップ完了、4 大クライアントで利用可能です。
[(LICENSE)
[
(https://github.com/LinHaiJ/workbuddy-mcp)
[
(package.json)
[
(https://github.com/LinHaiJ/workbuddy-mcp/actions/workflows/smoke.yml)
English · 简体中文
機能概要 / 何をするか
workbuddy-mcp は、公式の WorkBuddy CLI(codebuddy) をラップする小さな MCP(Model Context Protocol)サーバーです。単一のツール run_workbuddy_task を公開するだけで、MCP 対応エージェントならどれでも、アプ間でコピーペーストせずに実作業を WorkBuddy に委任できます。
workbuddy-mcp は、極小な MCP(モデルコンテキストプロトコル)サーバーであり、公式の WorkBuddy CLI(codebuddy) をラップしています。単一のツール run_workbuddy_task だけを公開し、MCP をサポートするあらゆるエージェントが、複数のアプ間でコピーペーストすることなしに、実タスクを WorkBuddy に委任できます。
MCP を理解する必要はありません: npx -y workbuddy-mcp --install がインストール済みのエージェントを検出してサーバーを登録してくれます。
MCP を理解する必要はありません: 一つの npx -y workbuddy-mcp --install で、インストール済みのエージェントを自動検出して登録してくれます。
Related MCP server: all-agents-mcp
目次 / 目次
アーキテクチャ / アーキテクチャ
Your agent (Claude Code / Codex / Cursor / OpenCode)
│ calls MCP tool: run_workbuddy_task(prompt)
▼
workbuddy-mcp (this server, stdio MCP)
│ shells out:
▼
codebuddy -p "<prompt>" --dangerously-skip-permissions
│
▼
WorkBuddy (does the actual work, returns text)機能 / 特性
Feature | Why it matters |
1 コマンドインストール |
|
4 クライアント、1 サーバー | Claude Code、Codex、Cursor、OpenCode が同しツールを共有します。 |
公式 CLI をラップ |
|
| 各呼び出しで作業ディレクトリを指定できるため、WorkBuddy はファイルを希望の場所に正確に書き込みます。 |
設定可能 |
|
ビルド不要 | プレーンな ESM JavaScirpt、Node 18+。TypeScirpt のコンパイルは不要。 |
特性 | 価値 |
1 コマンドインストール |
|
1 つのサーバー、4 つのクライアント | Claude Code、Codex、Cursor、OpenCode が同しツールを共有します。 |
公式 CLI をラップ |
|
制御可能な作業ディレクトリ | 呼び出しごとに |
設定可能 |
|
ビルド不要 | 純粋な ESM JavaScript、Node 18+。TypeScript のコンパイルは不要です。 |
クイックスタート / クイックスタート
前提条件: WorkBuddy CLI を一度だけインストールしてログインしてください(対話形式のログインフローが開きます)。 前提: 先に WorkBuddy CLI をインストールして一度だけログインします(1 回だけで、ログインフローが開きます)。
# 1. Install & log in the WorkBuddy CLI
npm install -g @tencent-ai/codebuddy-code
codebuddy -p "hello" --dangerously-skip-permissions # first run opens a login flow
# 2. Install the MCP server into every agent you have
npx -y workbuddy-mcp --installその後、任意のエージェントで「workbuddy を使って data.csv を読み、週次レポートを下書きして」のように言うだけで、エージェントが代わりに run_workbuddy_task を呼び出します。
そして、任意の Agent で「workbuddy に data.csv を読ませて週報を書かせる」と言うだけで、Agent が自動的に run_workbuddy_task を呼び出します。
インストール / インストール
オプション A — 1 コマンド(推奨)
npx -y workbuddy-mcp --installマシン上の Claude Code / Codex / Cursor / OpenCode を検出して、サーバーを登録します。新しいエージェントをインストールしたら再実行してください。
オプション B — npm から取得してからインストール
npm install -g workbuddy-mcp
workbuddy-mcp --installオプション C — 手動(任意の MCP クライアント)
クライアントを node <path>/server.js に指定します。例:
Claude Code
claude mcp add -s user workbuddy -- node /abs/path/to/workbuddy-mcp/server.jsCodex
codex mcp add workbuddy -- node /abs/path/to/workbuddy-mcp/server.jsCursor — ~/.cursor/mcp.json に書き込む:
{ "mcpServers": { "workbuddy": { "command": "node", "args": ["/abs/path/to/workbuddy-mcp/server.js"] } } }OpenCode — opencode.json に書き込む(プロジェクトルートまたは ~/.config/opencode/opencode.json):
{ "mcp": { "workbuddy": { "type": "local", "command": ["node", "/abs/path/to/workbuddy-mcp/server.js"], "enabled": true } } }cwd / WB_* 環境変数が設定済みですぐ使えるテンプレートは、opencode.json.example を参照してください。
使い方 / 使い方
サーバーは1 つのツールを公開します。エージェントが代わりに呼び出しますが、直接呼び出すこともできます。
// Tool: run_workbuddy_task
{
prompt: "读取 ./reports 下的 CSV,生成一份中文月度总结", // required 必填
cwd: "/path/to/your/project", // optional 可选: where WorkBuddy reads/writes files
model: "sonnet", // optional 可选: model alias
json: true // optional 可选: request --output-format json
}エージェントに渡すような指示の例:
「workbuddy にリポジトリのルートディレクトリでテストを実行させ、失敗ログを Markdown にまとめさせて」
「workbuddy を使って src/utis.ts をリファクタリングし、変更内容を説明して」
ファイルはどこに保存される? テキストでの回答はチヤットに返ってきます。WorkBuddy が書き込むファイルは、その
cwd(呼び出しのcwd→ なければWB_CWD→ なければエージェントの作業フォルダ)に置かれます。エージェントのコンテキストには自動追加されないので、ディスクから読み取ってください。
設定 / 設定
すべての調整は環境変数で行います。エージェントの MCP 設定の environment ブロックに設定してください。
Variable | Default | Meaning |
|
| 駆動する CLI。 |
|
|
|
|
| タスクごとのタイムアウト(ms、10 分)。超過したタスクは強制終了されます。 |
| (unset) | 呼び出しが |
| (unset) | 呼び出しが |
| (unset) | プライマリが過負荷/レート制限のときに自動で切リ替えるモデル( |
モデル切リ替え / モデル切リ替え
codebuddy CLI は --model <id> と --fallback-model <id> を公開しています(後者は --print のときのみ有効で、このサーバーは常に --print を使います)。このサーバーはその両方を利用可能にします:
呼び出しごと —
run_workbuddy_taskにmodelまたはfallbackModelを渡します。グローバル — エージェントの MCP
environmentブロックでWB_MODEL/WB_FALLBACK_MODELを設定します。呼び出しで渡されない場合に適用されます。
利用可能なモデル(codebuddy --help より): auto、hy3、hy3-x、glm-5.3、glm-5.2、glm-5.1、glm-5v-turbo、minimax-m3、kimi-k3-1、kimi-k2.7、kimi-k2.6、deepsek-v4-flah、deepsek-v4-pro。
無料モデルでレート制限に遭った? ハードに切リ替えず、フォールバックを追記してください。hy3 をプライマリに保ちつつ、過負荷時に自動復帰します:
// opencode.json / claude mcp config environment
{
"WB_MODEL": "hy3",
"WB_FALLBACK_MODEL": "deepseek-v4-flash"
}または呼び出しごと: run_workbuddy_task({ promt: "...", fallbackModel: "deepsek-v4-flah" })。
モデル切リ替え / モデル切リ替え
codebuddy は --model <id> と --fallback-model <id> を備えています(--fallback-model は --print のときのみ有効で、本サービスは常に - を使うため利用可能です)。本サービスはその両方を公開しています:
単回呼び出し:
run_workbuddy_taskにmodelやfallbackModelを渡します。グローバルデフォルト: Agent の MCP
environmentでWB_MODEL/WB_FALLBACK_MODELを設定し、呼び出しで渡されない場合に使います。
無料モデルがレート制限を受けた場合は、無理に切リ替えずフォールバックを追記することをおすすめします。hy3 を引き続き優先し、過負荷時には deepsek-v4-flah などに自動で切リ替え、レート制限が回復すると再び hy3 に自動で戻ります。
セキュリティ注意 / セキュリティ注意
デフォルトでは WB_SKIP_PERMISSIONS=true で、codebuddy は対話的な権限プロンプとなしで実行されます。これによりエージェントが無人で操值できるようになりますが、エージェントが要求した操值がすべて自動的に実行されることも意味します。個人用の信頼できる自動化では問題ありませんが、人間の確認を挟みたい場合は、MCP 設定で WB_SKIP_PERMISSIONS=false に設定してください。
デフォルトでは WB_SKIP_PERMISSIONS=true、つまり codebuddy は対話的な承認をスキップして自動実行します。これは「エージェントに無人で操作させる」ために必要なことです。しかし、エージェントが要求したあらゆる操作が自動実行されることも意味します。個人の信頼できる自動化シナリオでは問題ありませんが、人間の確認を残したい場合は WB_SKIP_PERMISSIONS を false に設定してください。
なぜ / なぜこれを作ったのか
WorkBuddy は高性能なエージェントですが、各プロダクト(Claude Code、Codex、Cursor、OpenCode…)はそれぞれ別の箱の中にあります。それらのプロダクトが WorkBuddy をサブエージェントとして利用できるようにする公式の「リバース MCP」は存在しません。このプロジェクトはその薄い接着剤です。WorkBuddy 自身の CLI を標準的な MCP ツールの背後にパッケージし、4 つの最も人気のあるコーディングエージェントが 1 つの WorkBuddy を共有できるようにします。
WorkBuddy 自体の能力は非常に高いですが、Claude Code、Codex、Cursor、OpenCode はそれぞれ孤立しており、公式にはこれらの製品が WorkBuddy を子エージェントとして呼び出すための「リバース MCP」は提供されていません。このプロジェクトはまさにその薄い接着剤です。WorkBuddy 自身のコマンドラインを標準的な MCP ツールにラップし、最も主流なプログラミングエージェントが同じ WorkBuddy を共有できるようにします。
FAQ
WorkBuddy デスクトップアプリの実行は必要ですか?
いいえ。スタンドアロンの codebuddy CLI(同じエンジンのターミナル版)を操作します。デスクトップでのログインが 1 回あれば十分です。
オフラインで動作しますか?
MCP サーバーはローカルですが、codebuddy の呼び出しは WorkBuddy のサービスに到達するため、実際のタスクにはインターネット接続が必要です。
WorkBuddy デスクトップのチャットにエージェントが依頼した内容は表示されますか?
codebuddy は独自のセッションとして実行されるため、会話がデスクトップアプリの履歴に表示されない場合があります。これは想定どおりです。
ロードマップ / ロードマップ
Claude Code / Codex / Cursor / OpenCode 向けの自動インストール
ストリーミング出力(完全な結果を待たずに進捗を表示)
オプションの構造化 JSON 結果の解析
codebuddyが見つからない場合 → ガイド付きインストールのヒント
コントリビューション / 貢献
PR やアイデアを歓迎します! good first issue ラベルの付いた Issue が始めやすいです。CONTRIBUTING.md を参照してください。
すべての push / PR でスモークテスト(.github/workflows/smoke.yml)が実行され、Node 18/20/22 での構文チェックと、サーバーが MCP の initialize → tools/list ハンドシェイクを完了できることを検証します。ローカルで実行するには:
push / PR のたびにスモークテスト(.github/workflows/smoke.yml)が実行され、Node 18/20/22 で構文をチェックし、サーバーが MCP の initialize → tools/list ハンドシェイクを完了できることを検証します。ローカルでの自測:
npm install
node test/smoke.mjsPR やアイデアを歓迎します! good first issue ラベルの付いたイシューから始められます。
ライセンス / ライセンス
MIT © LinHaiJ。詳細は LICENSE を参照してください。
Available Tools
1 toolrun_workbuddy_taskA
委托 WorkBuddy(codebuddy CLI)以非交互方式执行一个任务,返回结果文本。
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | 可选:codebuddy 的工作目录(它在此目录读写文件)。不传则用 WB_CWD 或当前目录 | |
| json | No | 可选:true 时追加 --output-format json(取决于 codebuddy 版本是否支持) | |
| model | No | 可选:指定本次会话模型,如 hy3 / hy3-x / deepseek-v4-flash / glm-5.3 / kimi-k3-1 / auto。不传则用 WB_MODEL 或 codebuddy 默认 | |
| prompt | Yes | 交给 WorkBuddy 执行的任务描述 / 提示词。可包含多行内容(通过 stdin 传递,不会被截断) | |
| timeoutMs | No | 可选:本次调用的超时毫秒数。不传则用 WB_TIMEOUT(当前 900000ms)。长调研任务建议 1800000(30 分钟) | |
| fallbackModel | No | 可选:过载/限流时自动回退的模型(接到 --fallback-model,仅 --print 生效)。不传则用 WB_FALLBACK_MODEL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无注解,描述需承担行为披露。描述说明任务以非交互方式执行、返回结果文本,并通过 schema 提及 stdin 传 prompt 不会截断,但这些细节主要来自 schema 而非描述本身。缺少如权限、副作用、失败模式等行为信息。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述只有一句话,直接说明工具做什么、如何调用(非交互)以及输出类型。信息密度高,无冗余。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
无输出 schema,描述只提到返回结果文本,未说明返回格式/错误结构。但 6 个参数都在 schema 中充分解释了,整体对调用而言基本足够。缺少返回值细节和退出码/错误提示。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
schema 覆盖 100%,每个参数在 schema 中已有详细中文说明,描述本身无需补充参数含义。描述未重复 schema,因此可以给予基线 3。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述包含明确的动词“委托/执行”和资源“WorkBuddy(codebuddy CLI)”,并指出返回结果文本。虽然无兄弟工具,但“以非交互方式”等限定语使其与其他可能的 CLI 工具区分开。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述隐含了使用场景(委托 WorkBuddy 非交互执行任务),但没有明确说明何时不使用它,也没有指出替代工具或前置条件。无兄弟工具且参数如 cwd/model/timeout 提供了运行时选择上下文。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.2.0- First observed
run_workbuddy_task
TDQS
Scored across 1 tool
With only one tool, there is no possibility of overlapping purposes. The single action is clearly scoped to running a WorkBuddy task and cannot be confused with anything else.
The tool name follows a clear verb_noun convention: run_workbuddy_task. It accurately describes the action and is easily predictable.
A single tool is functional but feels thin for a server, even though it directly covers its stated purpose. There is no secondary surface for configuration, status, or task management, placing it at the borderline of acceptable scope.
The server covers its core workflow: executing a non-interactive WorkBuddy task and returning result text. It lacks lifecycle or management operations, but for a one-shot CLI delegation tool these are not necessarily required, so only minor gaps exist.
Maintenance
Related MCP Connectors
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables the creation and execution of task-specific AI sub-agents defined in markdown across any MCP-compatible tool like Cursor or Claude Desktop. It integrates with execution engines such as Claude Code, Cursor CLI, and Gemini CLI to provide portable and reusable specialized agent workflows.1377 npmMIT
- AlicenseBqualityFmaintenanceEnables orchestrating multiple AI CLI agents (Claude Code, Codex, Gemini CLI, Copilot CLI) through a unified MCP interface for task delegation, cross-agent comparison, and specialized tools like code review and debugging.149 npm14MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI chat clients to delegate self-contained coding tasks to opencode's free-tier models as a one-shot subagent through a native MCP tool, without requiring shell commands or API keys.MIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP clients like Claude Code to delegate coding tasks to a local model through a configurable coding-agent CLI backed by any OpenAI-compatible endpoint, with tools for health checks, task execution, and context-aware file modifications.-