Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Local MCP broker that exposes one compact entry for many upstream servers.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"broker": {
"command": "uvx",
"args": [
"mcp-broker"
]
}
}
}ターミナルでこれを実行します
claude mcp add broker -- uvx mcp-brokerプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"broker": {
"command": "uvx",
"args": [
"mcp-broker"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"broker": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-broker"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント doricstack で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.1.1)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, dotnet-mcp
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
MCP server for .NET symbols, XAML, source generators, and restricted workspace edit
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
mcp-broker is a local Model Context Protocol process broker for MCP clients.
Think PgBouncer for MCP: one stable local endpoint in front of many upstream MCP servers. The broker owns upstream startup, reuse, cleanup, profile exposure, status, and safe tool routing.
The core idea is simple: do not make every agent session load every upstream tool definition before the user asks a task.
AI coding sessions with many MCP servers tend to accumulate the same problems:
mcp-broker puts a small broker facade in front of those upstreams. It is not a hosted workflow builder; it is local infrastructure for keeping MCP clients small, predictable, and under one config contract.
Client profile
| | one local MCP entry v mcp-broker-client | | Unix socket v mcp-broker-daemon | | profile gates, namespace routing, status, cleanup v upstream MCP servers
The client sees a small set of broker tools:
broker_search_tools
broker_describe_tool broker_call_tool broker_status broker_close_session
The upstream MCPs still exist. They are discovered and called through the broker when a task needs them.
On 2026-05-24, the measured Codex setup went from many raw MCP and hosted app tool definitions to one broker facade plus a pruned codex_apps cache.
| Surface | Before | After | Reduction |
|---|---|---|---|
| Direct Codex MCP server entries | 11 | 1 | 90.91% |
| MCP tool definitions | 414 | 4 | 99.03% |
Hosted codex_apps tool definitions | 195 | 39 | 80.00% |
| Combined always-loaded tool definitions | 609 | 43 | 92.94% |
| Combined serialized tool payload bytes | 1,026,171 | 185,877 | 81.89% |
Combined o200k_base tool tokens | 276,989 | 45,281 | 83.65% |
The 92.94% number is a tool-definition count reduction. The 83.65% number is a token reduction for canonical serialized tool payloads measured with tiktoken o200k_base.
See docs/context-reduction-measurement.md for evidence and caveats.
$HOME/mcp/mcp-broker, outside the repo.Core differentiators:
Use mcp-broker if you:
This repo is not an enterprise MCP control plane. It is local desktop infrastructure for developer-agent workflows.
Implemented:
config/broker.private.yaml, created from config/broker.example.yaml.config/broker.schema.json.runtime.root..gemini/config/mcp_config.json, including its MCP allowed-server policy.Wiring status:
/mcp acceptance..gemini/config/mcp_config.json.Public release status:
make release-version-check; publication proof is tracked in docs/distribution.md.mcpb/manifest.json for local directory review.See ROADMAP.md for public-facing release work.
mcp-broker has three runtime layers:
| Layer | Responsibility |
|---|---|
| Client shim | Presents one stdio MCP server entry to each MCP client and forwards JSON-RPC over the broker socket. |
| Broker daemon | Owns profile gates, namespace routing, upstream lifecycle, status, logging, and cleanup. |
| Upstream MCP servers | Run as configured stdio, HTTP, streamable HTTP, or SSE connectors with shared or per-session process policy. |
The config file is the contract. Profiles decide exposure, upstreams define transport and lifecycle behavior, and smoke probes define safe read calls for validation.
| Approach | Best fit | Tradeoff |
|---|---|---|
| Raw MCP client config | Small setups with a few tools. | Every session loads the full tool list and each client repeats config. |
| Simple MCP proxy | Forwarding one server to one client. | Does not own upstream lifecycle, profile budgets, or cross-client cleanup. |
| Hosted app connectors | SaaS tools managed by the client provider. | Local MCP state and cross-client parity remain outside user control. |
mcp-broker | Local developers with many upstream MCPs across MCP clients. | Adds a local daemon and config contract that must be installed and monitored. |
The quickstart flow should look like this:
make config-init
make config-validate make broker-status make codex-facade-smoke
In an MCP client, /mcp should show one mcp-broker entry. Use broker_status to inspect profile-visible upstream state.
Prerequisites:
launchctl for LaunchAgent use.python3.make.npx for npm-based upstream MCP servers.Package installs:
pipx install mcp-broker
uv tool install mcp-broker brew tap ${HOMEBREW_TAP_REF} brew install mcp-broker
Homebrew installs the same console scripts as the Python package. Package installs do not write MCP client config; client wiring stays an explicit Makefile action.
Docker is for container-friendly configs:
docker build -t mcp-broker:local .
docker run --rm -i mcp-broker:local
Local stdio clients and MCPB-style installs use the package-owned lifecycle:
mcp-broker stdio --init-if-missing
Create the local venv, install dependencies, and verify runtime layout:
make setup
Create private config from the public template:
make config-init
config-init creates the destination directory when needed and copies the public template as the starting point. It does not import local MCP inventory, user paths, or secrets.
Edit config/broker.private.yaml for local upstreams. Keep secret values out of config. Use environment variable names or files under:
$HOME/mcp/mcp-broker/secrets/
Run the quality gate:
make quality-gate
Validate the configured YAML contract:
make config-validate
Start the broker:
make broker-start
Check status:
make broker-status
For the full install flow, see docs/install.md. For a clone-to-running adoption flow, see docs/adoption-guide.md#clone-to-running-path. For shared-runtime boundaries, see docs/shared-runtime-guardrails.md. P3.8 E2E proof covers tenant isolation, authz denial, quota denial, session affinity, audit events, rollback, degraded mode, local-only routing, and shared-eligible routing. Hosted execution remains unsupported in the public local broker.
Default runtime root:
$HOME/mcp/mcp-broker/
|- backups/ |- logs/ |- renders/ |- run/ |- secrets/ |- sockets/ - state/ - upstreams/
Runtime files are not repo files. Upstream OAuth state, browser state, secret files, sockets, logs, rendered client configs, backups, and daemon state belong under the runtime root.
See docs/runtime-layout.md.
Back up a client config:
make config-backup CLIENT=codex
Dry-run render:
make config-render CLIENT=codex CONFIG_RENDER_APPLY=0
Apply after reviewing the rendered file under $HOME/mcp/mcp-broker/renders/:
make config-render CLIENT=codex CONFIG_RENDER_APPLY=1
Rollback:
make config-rollback CLIENT=codex
Use CLIENT=claude or CLIENT=agy after that profile smoke passes and that client is intended to use the broker. For new JSON-based MCP clients, generate a starter block:
make profile-snippet NEW_PROFILE=local-client NEW_CLIENT_FORMAT=mcp-settings-json
See docs/add-profile.md for the full new-profile flow.
The compact facade keeps chat-facing profiles small:
| Tool | Purpose |
|---|---|
broker_search_tools | Search configured upstream tools by query. Results carry name, description, upstream, purpose, tags, and mutating flag; the heavy inputSchema is omitted and fetched on demand from broker_describe_tool. |
broker_describe_tool | Return schema and metadata for one upstream tool. |
| broker_call_tool | Call one upstream tool through br
冒頭だけを表示しています。続きはリポジトリで読めます