Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Auditable multi-agent coordination: fleets, P2P messaging, witnessed receipts, quorum.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"agent-mesh": {
"command": "npx",
"args": [
"-y",
"meshfleet"
]
}
}
}ターミナルでこれを実行します
claude mcp add agent-mesh -- npx -y meshfleetプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"agent-mesh": {
"command": "npx",
"args": [
"-y",
"meshfleet"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"agent-mesh": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"meshfleet"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント johnmwhitman で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.22.0)がレジストリに届いたのは39 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Reelsaw
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Auditable multi-agent coordination for OpenCode. Spawn parallel agents as independent OS processes. Route work to specialists. Let agents collaborate peer-to-peer — with witnessed receipts and quorum ratification, so you can answer: *who saw this, who approved it, prove it.* The core is MIT and free.
Website: meshfleet.app · Source version: 0.22.0 · npm · CI
*Maintained: current source and Git tags are visible in the repository; a tag is an intent to ship and the registry is the only record of what shipped · issues answered within 48h · no download-count theater.*
Project status — deliberately pre-1.0, actively maintained. Releases are intentionally
infrequent (we cut versions when something is worth shipping, not on a calendar); the repo
carries a monthly maintenance heartbeat and issues get a first response within 48 hours.
The boundary, as a covenant: the mechanisms are free and stay free — coordination,
receipts, councils, provider-neutral advisory interfaces, and the ability to *run*
verification are MIT, forever. Cryptographic signing and auditor-grade
attestation are a separate paid layer
(meshfleet-pro). Account-specific provider operations
and managed policy are also outside this core. No existing core mechanism moves
behind a paywall. The core neither owns nor independently controls provider-account
credentials, balances, reset policy, spend authority, or external publication.
Host portability: this is an agent audit trail, OpenCode first — not an
OpenCode-only idea. The core is a standard MCP server; broader host support tracks
real demand.
OpenCode is a single-agent runtime. You talk to it, it does things. The moment you need multiple specialists running in parallel — explore, then review, then implement — you hit the 30-minute background-task timeout.
Meshfleet adds the missing layer: a fleet of agents that run in parallel, message each other, hand off work, and self-organize. As independent OS processes, not background tasks. No artificial ceiling.
The following is a source/operator-configured example, not a claim that every runtime shown ships in the current npm package:
const { fleet_id } = await callTool("spawn_fleet", {
agents: [ { role: "Explorer", prompt: "Map the auth layer", agent: "codebase-onboarding-engineer" }, { role: "Analyst", prompt: "Review the architecture", agent: "oracle" }, { role: "Engineer", prompt: "Implement JWT refresh", agent: "backend-architect", model: "opencode-go/minimax-m3" }, { role: "Reviewer", prompt: "Review the resulting diff", runtime: "claude-cli", workspace_binding: "review-worktree" }, ], });
Four specialists. Four independent processes. They hand off, ask questions, alert on problems. You read the result.
Each OpenCode agent accepts an optional model (provider/model) selector. When set, Meshfleet persists it as the immutable request (Agent.requested_model) and launches opencode run --model for that agent; the observed runtime banner lands in Agent.runtime_model, and a complete agent whose banner is missing or contradicts the request fails closed. Omitting model keeps the old argv exactly. The selector is data, not shell text, and the banner is observed evidence — not authentication, billing, provider availability, or attestation.
spawn_fleet also accepts an optional per-agent runtime. The default remains opencode-cli; non-default runtimes are available only when the operator configures them. claude-cli requires an absolute command, a configured version label, and an operator-admitted opaque workspace binding. The caller must repeat that binding as workspace_binding, and must omit OpenCode-specific agent and model selectors. minimax-cli and grok-cli are separate explicit-only text lanes. Each requires its own absolute MESHFLEET_ _COMMAND plus configured MESHFLEET_ _VERSION; accepts no model/agent selector, workspace authority, or artifact expectation; declares its outcome through a structured final-text envelope; withholds raw diagnostics; and is never an automatic failover target. The Grok adapter additionally forces the configured wrapper's source-blind text-only boundary. Each wrapper owns its own authentication; Meshfleet passes a scrubbed environment, never reads or serializes credentials, and exposes no account, credential, effective-model, quota, or availability claim. This outbound worker adapter is separate from the offline static Grok configuration translation, which launches no runtime. See the adapter contract for exact permission and evidence limits. Local smoke tests for any account remain environment-local. The separate pure recommend_route advisory may opt in to a caller-evidenced near-reset tie-break, but it never polls an account, grants provider authority, or executes a paid service.
And when an agent's action matters, Meshfleet can prove what happened. Every message writes per-recipient receipts (delivered, seen, acked). Decisions can go through councils — quorum-based ratification with required sign-offs, recorded on the same ledger. The design is a port of a bus that ran a 10+ agent fleet in production for 40 days and 18,404 messages, including quorum-ratified decisions.
From npm (the package is meshfleet; the agent-mesh npm name is squatted by a placeholder):
npm install -g meshfleet
Or from source:
git clone https://github.com/johnmwhitman/agent-mesh.git \
~/.config/opencode/mcp-servers/agent-mesh cd ~/.config/opencode/mcp-servers/agent-mesh npm install && npm run build
Add to ~/.config/opencode/opencode.jsonc (npm install):
{
"mcp": { "meshfleet": { "type": "local", "enabled": true, "command": ["npx", "-y", "meshfleet"] } } }
For noncanonical development-only source-checkout usage (not the recommended release config):
{
"mcp": { "meshfleet": { "type": "local", "enabled": true, "command": ["node", "~/.config/opencode/mcp-servers/agent-mesh/dist/index.js"] } } }
Restart OpenCode. Spawn a fleet. Wiring it into your client →
The published meshfleet package's no-key walkthrough is a scripted ledger demonstration: it proves that the package and inspector run, not that a model-backed worker completed a real task.
npx -y --package=meshfleet -- agent-mesh demo
That published walkthrough runs entirely against a throwaway temp ledger (nothing under ~/.config/opencode is touched) and prints its demonstration audit, then a next-step inspector command. To inspect your own configured MCP ledger later, bind the package explicitly — running the agent-mesh bin through npx without --package=meshfleet resolves npm's unrelated reserved agent-mesh@0.0.1 package, not this one:
npx -y --package=meshfleet -- agent-mesh inspect --verify
If that (or the MCP server itself) exits with CRASH ... unsupported newer storage schema version, it found a pre-existing ledger at the default path (~/.config/opencode/agent-mesh.db) written by a newer meshfleet build than the one you're running — common on a dev machine that already ran OpenCode/meshfleet, not on a fresh install. Point at a different ledger file with MESHFLEET_DB_FILE=/path/to/other.db (same variable your MCP client config can set) and it will not touch the existing file.
The newer source checkout documented on this page includes a local-demo runtime — the current Node executable running a deterministic worker. It is not in the published package. After building this source checkout, ask your MCP host to spawn with it:
spawn_fleet with agents [{ role: "scout", prompt: "Count the receipts.", runtime: "local-demo" }]
The spawn, lifecycle events, receipts, and collect_results are all real; only the worker is synthetic, and it says so in its output ("model": null, no invented text). local-demo is never used for automatic failover — a real agent that fails is never silently replaced by an echo.
Prerequisite: OpenCode is already installed and configured for an account you are authorized to use. Meshfleet does not create credentials, choose billing scope, or make provider calls until you ask it to spawn a worker. Through your MCP host:
spawn_fleet with agents: [{ role: "explorer", prompt: "Read this repository's README and list its three main sections. Do not edit files." }]. Omit runtime so the published default opencode-cli adapter is used.fleet_id to collect_results, then inspect the local evidence with npx -y --package=meshfleet -- agent-mesh inspect --verify.complete and the local consistency report as recorded claims, not proof that the answer or code is correct. Review the worker's result yourself.Then share voluntary first-use feedback and say whether the path was useful, not useful, or blocked, plus the first step where you got stuck. Please do not upload source code, prompts, credentials, secrets, or raw ledger files. If it helped, try the same evidence check on a different meaningful task another day; rerunning the scripted demo is not return use.
Meshfleet is a standard stdio MCP server. The invocation is always the same — npx -y meshfleet (the meshfleet bin in package.json points at the server, dist/index.js) — only the config file around it changes per client.
Honesty labels. "Tested" means verifiable from this repo itself. Client-specific shapes below follow each client's documented config format — we haven't wired CI to every editor, so those are marked "per \ docs — verification welcome."
mcp.json{
"mcpServers": { "meshfleet": { "command": "npx", "args": ["-y", "meshfleet"] } } }
meshfleet server identity~/.config/opencode/opencode.jsonc:
{
"mcp": { "meshfleet": { "type": "local", "enabled": true, "command": ["npx", "-y", "meshfleet"] } } }
CLI form:
claude mcp add meshfleet -- npx -y meshfleet
Or project-scoped .mcp.json at the repo root:
{
"mcpServers": { "meshfleet": { "command": "npx", "args": ["-y", "meshfleet"] } } }
Configure Codex's MCP server entry with the same command and arguments:
{
"mcpServers": { "meshfleet": { "command": "npx", "args": ["-y", "meshfleet"] } } }
These Claude Code, Codex, OpenCode, and generic MCP configurations all call the same inbound stdio server. This proves client interoperability at the MCP boundary only. Workers default to OpenCode's opencode run; an operator may separately register a non-default runtime such as claude-cli. The subscribe_inbox SSE endpoint is optional acceleration; it is not required for compatibility, and clients can use get_inbox polling.
If any block above doesn't work in your client, open an issue —
冒頭だけを表示しています。続きはリポジトリで読めます