@calibress/curl-mcp-bridge
v0.1.1
Published
Local MCP stdio bridge that proxies to Calibress hosted /mcp over HTTP
Readme
curl-mcp-bridge
A local MCP stdio bridge that proxies MCP JSON-RPC to a Calibress hosted /mcp HTTP endpoint.
This lets any MCP client that supports stdio (Claude Desktop, Roo, etc.) talk to the hosted multi-tenant MCP gateway.
Requirements
- Node.js >= 18
Usage
Set these env vars:
CALIBRESS_ENDPOINT(required) — Hosted MCP URL (e.g.https://enterprise-plan.dev.calibress.com/mcp)CALIBRESS_API_KEY(required) — Tenant/project API key (Bearer). Prefer project-scoped keys so “project selection” is implicit.
Then run:
CALIBRESS_ENDPOINT="https://enterprise-plan.dev.calibress.com/mcp" \
CALIBRESS_API_KEY="cmcp_..." \
node ./bin/curl-mcp-bridge.jsCLI overrides are also available (--endpoint, --api-key, --session-id).
The bridge reads MCP messages from stdin and writes MCP responses to stdout (1 JSON object per line).
Run via npx (npm)
CALIBRESS_ENDPOINT="https://enterprise-plan.dev.calibress.com/mcp" \
CALIBRESS_API_KEY="cmcp_..." \
npx -y @calibress/curl-mcp-bridge@latestIf you need to run an unpublished build, you can still run from GitHub:
CALIBRESS_ENDPOINT="https://enterprise-plan.dev.calibress.com/mcp" \
CALIBRESS_API_KEY="cmcp_..." \
npx -y github:calibress/curl-mcp-bridgeMCP client configuration
Example (Roo / Claude Desktop style):
{
"curl-mcp-bridge": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@calibress/curl-mcp-bridge@latest"],
"env": {
"CALIBRESS_ENDPOINT": "https://YOUR-TENANT.dev.calibress.com/mcp",
"CALIBRESS_API_KEY": "cmcp_REPLACE_ME"
},
"alwaysAllow": [
"mcp_version",
"getting_started",
"list_surfaces",
"list_connections",
"list_operations",
"get_operation_spec",
"execute_operation",
"curl_request"
]
}
}Session handling
- The hosted MCP endpoint issues
Mcp-Session-Idoninitialize. - The bridge caches that session id in-process and automatically sends it on subsequent requests.
- If a client sends a request before
initialize, the bridge will bootstrap a session and retry once.
Extensibility
The bridge forwards all JSON-RPC methods as-is.
When the hosted MCP gateway adds new tools (e.g. list_connections), existing clients automatically see them via tools/list without changing the bridge.
Notes
- To publish, bump
package.jsonversion and runnpm publish(public access is configured).
License
MIT.
