Skip to main content
ClaudeWave
SPOC-App avatar
SPOC-App

spoc-mcp-bridge

Ver en GitHub

Stdio-HTTP bridge for the SPOC MCP server (spoc.com/mcp/rpc). Lets MCP clients like Claude Desktop, Cursor, and Zed talk to SPOC over their standard stdio transport.

MCP ServersRegistry oficial0 estrellas0 forksTypeScriptMITActualizado today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/21/2026
Install in Claude Code / Claude Desktop
Method: NPX · @spocapp/mcp-bridge
Claude Code CLI
claude mcp add spoc-mcp-bridge -- npx -y @spocapp/mcp-bridge
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "spoc-mcp-bridge": {
      "command": "npx",
      "args": ["-y", "@spocapp/mcp-bridge"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# @spocapp/mcp-bridge

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`](https://spoc.com/mcp/rpc).

- **npm:** [`@spocapp/mcp-bridge`](https://www.npmjs.com/package/@spocapp/mcp-bridge)
- **MCP Registry:** [`io.github.SPOC-App/mcp-bridge`](https://registry.modelcontextprotocol.io/v0/servers?search=SPOC-App)
- **Live server:** [`https://spoc.com/mcp/rpc`](https://spoc.com/mcp/rpc) — reports itself as `spoc / 1.27.0`

## What this is (and isn't)

Most 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.

## Install

You don't need to install it — most MCP clients will fetch it on demand with `npx`:

```bash
npx -y @spocapp/mcp-bridge
```

Or install it once and point clients at the binary:

```bash
npm install -g @spocapp/mcp-bridge
which spoc-mcp-bridge
```

## Configure your MCP client

### Claude Desktop

Edit the config file:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```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

`~/.cursor/mcp.json` (or Settings → MCP → Edit `mcp.json`):

```json
{
  "mcpServers": {
    "spoc": {
      "command": "npx",
      "args": ["-y", "@spocapp/mcp-bridge"],
      "env": { "SPOC_BEARER": "spk_live_..." }
    }
  }
}
```

### Zed

`~/.config/zed/settings.json`:

```json
{
  "context_servers": {
    "spoc": {
      "command": {
        "path": "npx",
        "args": ["-y", "@spocapp/mcp-bridge"],
        "env": { "SPOC_BEARER": "spk_live_..." }
      }
    }
  }
}
```

### Windsurf, Continue, etc.

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.

## Environment variables

| 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. |

## Bearer tokens

Generate one at [`https://spoc.com/settings/api-keys`](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.

## Smoke test

Confirm the bridge and the upstream are both healthy:

```bash
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.

## Troubleshooting

**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`](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.

## Testing

```bash
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:

```bash
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.

## Writing your own client

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`.

## Links

- [`https://spoc.com`](https://spoc.com) — the underlying service
- [`https://spoc.com/mcp/manifest`](https://spoc.com/mcp/manifest) — the tool catalogue
- [`https://spoc.com/docs/api`](https://spoc.com/docs/api) — the full HTTP API
- [`CHANGELOG.md`](CHANGELOG.md) — release history and what changed between versions
- [`RELEASING.md`](RELEASING.md) — how to cut a new release

## License

MIT

Lo que la gente pregunta sobre spoc-mcp-bridge

¿Qué es SPOC-App/spoc-mcp-bridge?

+

SPOC-App/spoc-mcp-bridge es mcp servers para el ecosistema de Claude AI. Stdio-HTTP bridge for the SPOC MCP server (spoc.com/mcp/rpc). Lets MCP clients like Claude Desktop, Cursor, and Zed talk to SPOC over their standard stdio transport. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-20.

¿Cómo se instala spoc-mcp-bridge?

+

Puedes instalar spoc-mcp-bridge clonando el repositorio (https://github.com/SPOC-App/spoc-mcp-bridge) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar SPOC-App/spoc-mcp-bridge?

+

Nuestro agente de seguridad ha analizado SPOC-App/spoc-mcp-bridge y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene SPOC-App/spoc-mcp-bridge?

+

SPOC-App/spoc-mcp-bridge es mantenido por SPOC-App. La última actividad registrada en GitHub es del 2026-09-20, con 0 issues abiertos.

¿Hay alternativas a spoc-mcp-bridge?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega spoc-mcp-bridge en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: SPOC-App/spoc-mcp-bridge
[![Featured on ClaudeWave](https://claudewave.com/api/badge/spoc-app-spoc-mcp-bridge)](https://claudewave.com/repo/spoc-app-spoc-mcp-bridge)
<a href="https://claudewave.com/repo/spoc-app-spoc-mcp-bridge"><img src="https://claudewave.com/api/badge/spoc-app-spoc-mcp-bridge" alt="Featured on ClaudeWave: SPOC-App/spoc-mcp-bridge" width="320" height="64" /></a>

Más MCP Servers

Alternativas a spoc-mcp-bridge