Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
stdio bridge for the SPOC MCP server — for Claude Desktop, Cursor, Zed
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
SPOC_BEARER, SPOC_ENDPOINT, SPOC_EVENTS_ENDPOINT, SPOC_TIMEOUT_MS, SPOC_DISABLE_SSE, SPOC_DEBUG「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"bridge": {
"command": "npx",
"args": [
"-y",
"@spocapp/mcp-bridge"
],
"env": {
"SPOC_BEARER": "your-value",
"SPOC_ENDPOINT": "your-value",
"SPOC_EVENTS_ENDPOINT": "your-value",
"SPOC_TIMEOUT_MS": "your-value",
"SPOC_DISABLE_SSE": "your-value",
"SPOC_DEBUG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add bridge --env SPOC_BEARER=your-value --env SPOC_ENDPOINT=your-value --env SPOC_EVENTS_ENDPOINT=your-value --env SPOC_TIMEOUT_MS=your-value --env SPOC_DISABLE_SSE=your-value --env SPOC_DEBUG=your-value -- npx -y @spocapp/mcp-bridge動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"bridge": {
"command": "npx",
"args": [
"-y",
"@spocapp/mcp-bridge"
],
"env": {
"SPOC_BEARER": "your-value",
"SPOC_ENDPOINT": "your-value",
"SPOC_EVENTS_ENDPOINT": "your-value",
"SPOC_TIMEOUT_MS": "your-value",
"SPOC_DISABLE_SSE": "your-value",
"SPOC_DEBUG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"bridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@spocapp/mcp-bridge"
],
"env": {
"SPOC_BEARER": "your-value",
"SPOC_ENDPOINT": "your-value",
"SPOC_EVENTS_ENDPOINT": "your-value",
"SPOC_TIMEOUT_MS": "your-value",
"SPOC_DISABLE_SSE": "your-value",
"SPOC_DEBUG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
SPOC_ENDPOINT envSPOC_EVENTS_ENDPOINT envSPOC_TIMEOUT_MS envSPOC_DISABLE_SSE envSPOC_DEBUG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント SPOC-App で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:SPOC_BEARER
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Starreel
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Small stdio bridge that lets Claude Desktop, Cursor, Zed, Windsurf and other stdio-only MCP clients talk to the SPOC MCP server at spoc.com/mcp/rpc.
@spocapp/mcp-bridgeio.github.SPOC-App/mcp-bridgehttps://spoc.com/mcp/rpc — reports itself as spoc / 1.27.0Most current MCP clients only speak the stdio transport — JSON-RPC over a subprocess's stdin/stdout. SPOC's MCP server speaks HTTP+SSE so it can serve many clients at once. This bridge is the shim between the two: install it, point your MCP client at it, and SPOC's tools appear in the client's tool picker.
It is not a rewrite of the MCP protocol, and it doesn't cache, batch, or reinterpret requests. Every JSON-RPC frame goes through unchanged. If you need behaviour that differs from what the bridge does today, it's usually easier to fix in SPOC itself than in the shim.
You don't need to install it — most MCP clients will fetch it on demand with npx:
npx -y @spocapp/mcp-bridge
Or install it once and point clients at the binary:
npm install -g @spocapp/mcp-bridge
which spoc-mcp-bridge
Edit the config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "spoc": { "command": "npx", "args": ["-y", "@spocapp/mcp-bridge"], "env": { "SPOC_BEARER": "spk_live_..." } } } }
Restart Claude Desktop. SPOC's tools should appear in the tool picker within a few seconds.
~/.cursor/mcp.json (or Settings → MCP → Edit mcp.json):
{
"mcpServers": { "spoc": { "command": "npx", "args": ["-y", "@spocapp/mcp-bridge"], "env": { "SPOC_BEARER": "spk_live_..." } } } }
~/.config/zed/settings.json:
{
"context_servers": { "spoc": { "command": { "path": "npx", "args": ["-y", "@spocapp/mcp-bridge"], "env": { "SPOC_BEARER": "spk_live_..." } } } } }
Any client that speaks the MCP stdio transport works the same way. Set the command to npx -y @spocapp/mcp-bridge and pass a bearer via environment.
| Variable | Default | Notes |
|---|---|---|
SPOC_BEARER | _(unset)_ | Token sent as Authorization: Bearer …. Omit for anonymous access. Required for tools that need a principal (e.g. spoc.harness.issue). |
SPOC_ENDPOINT | https://spoc.com/mcp/rpc | HTTP JSON-RPC endpoint. |
SPOC_EVENTS_ENDPOINT | https://spoc.com/mcp/events | SSE endpoint for server-initiated notifications. |
SPOC_TIMEOUT_MS | 30000 | HTTP request timeout in milliseconds. |
SPOC_DISABLE_SSE | _(unset)_ | Set to 1 to skip the SSE event stream. Notifications become unavailable; everything else still works. |
SPOC_DEBUG | _(unset)_ | Set to 1 to log to stderr. Useful when your MCP client swallows errors silently. |
Generate one at https://spoc.com/settings/api-keys. Make sure the `harness:issue` scope is checked or SPOC will reject calls that need to issue harnesses.
Anonymous access works for read-only tools that don't need a principal. Bearer is only required for tools that act on behalf of an identity.
Confirm the bridge and the upstream are both healthy:
npx -y @spocapp/mcp-bridge <<< '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}'
You should get a single JSON line back that includes "name":"spoc" and "version":"1.27.0". If you see that, MCP-aware clients will work.
Tools don't appear in the client after restart. Run the smoke test above in a plain terminal. If it returns an error frame, the error.data field will tell you why. If it returns nothing at all, check the client's log for a spawn error — the usual cause is npx not being on the client's PATH.
`ERR_INTERNAL` on tool calls. Almost always an upstream issue rather than a bridge issue. Set SPOC_DEBUG=1 and re-run — the bridge will log the raw upstream response.
401 errors. The bearer token is missing, wrong, or lacks scope. Verify at https://spoc.com/settings/api-keys.
SSE won't connect. Notifications are optional. Set SPOC_DISABLE_SSE=1 and everything except server-initiated notifications continues to work.
npm ci
npm run build npm test # unit + client-integration suites (offline, no network)
The client-integration suite spawns spoc-mcp-bridge as a real subprocess and drives it through the same stdio protocol that Claude Desktop, Cursor, Zed, and Windsurf use — initialize, notifications/initialized, tools/list, tools/call, concurrent in-flight calls, mixed-type ids, SSE notifications, upstream errors, and timeouts. If it passes, MCP clients that speak stdio will work.
To also exercise the real production endpoint:
SPOC_LIVE_TEST=1 npm test # anonymous only
SPOC_LIVE_TEST=1 SPOC_BEARER=spk_live_... npm test # + tools/call
CI runs the offline suite on Node 18 / 20 / 22 for every push and PR; the live suite runs on main only.
If you're implementing SPOC's report-event HMAC signing directly (rather than going through this bridge), one thing to watch out for: SPOC's canonical form matches JavaScript JSON.stringify behaviour, which leaves non-ASCII characters as themselves rather than escaping them to \uXXXX. Python's default json.dumps(...) escapes non-ASCII — you'll get a bad_signature 401 the first time you include an em-dash, curly quote, or accented character. Pass ensure_ascii=False.
https://spoc.com — the underlying servicehttps://spoc.com/mcp/manifest — the tool cataloguehttps://spoc.com/docs/api — the full HTTP APICHANGELOG.md — release history and what changed between versionsRELEASING.md — how to cut a new releaseMIT