{"_id":"@calibress/curl-mcp-bridge","_rev":"2-3a453a075e16d7d6d58b3b5692b3bafc","name":"@calibress/curl-mcp-bridge","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@calibress/curl-mcp-bridge","version":"0.1.0","keywords":["mcp","stdio","bridge","calibress"],"_id":"@calibress/curl-mcp-bridge@0.1.0","maintainers":[{"name":"craigyp","email":"prescottc@btinternet.com"}],"homepage":"https://github.com/calibress/curl-mcp-bridge#readme","bugs":{"url":"https://github.com/calibress/curl-mcp-bridge/issues"},"bin":{"curl-mcp-bridge":"bin/curl-mcp-bridge.js"},"dist":{"shasum":"d3b6db7c6c5f03b13bdcadf352b8d2202cc4ac9c","tarball":"https://registry.npmjs.org/@calibress/curl-mcp-bridge/-/curl-mcp-bridge-0.1.0.tgz","fileCount":3,"integrity":"sha512-Kj961skeK6fUPs7fMfL5fUKoxjGGuLPY27fCzVYCED8Tn2XgQgqWeWKbjpAn8AbZtrvQY5URalxqn9lqgOVjtQ==","signatures":[{"sig":"MEUCIFBEUzVUzilFisfGu4DVpcmtwSv+xhGbTRVtV8Tn4kmFAiEA5Ni0NhqOQUv0opy7q+cqTxUKH7SWJHo0CmZFyajPqSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10695},"type":"module","engines":{"node":">=18"},"gitHead":"9a3c35b883f19aec17d018945e85fcd8c8d4ecd6","scripts":{"start":"node ./bin/curl-mcp-bridge.js"},"_npmUser":{"name":"craigyp","email":"prescottc@btinternet.com"},"repository":{"url":"git+https://github.com/calibress/curl-mcp-bridge.git","type":"git"},"_npmVersion":"10.5.0","description":"Local MCP stdio bridge that proxies to Calibress hosted /mcp over HTTP","directories":{},"_nodeVersion":"21.7.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/curl-mcp-bridge_0.1.0_1766439091008_0.8504402157689188","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@calibress/curl-mcp-bridge","version":"0.1.1","type":"module","description":"Local MCP stdio bridge that proxies to Calibress hosted /mcp over HTTP","license":"MIT","keywords":["mcp","stdio","bridge","calibress"],"repository":{"type":"git","url":"git+https://github.com/calibress/curl-mcp-bridge.git"},"bugs":{"url":"https://github.com/calibress/curl-mcp-bridge/issues"},"homepage":"https://github.com/calibress/curl-mcp-bridge#readme","publishConfig":{"access":"public"},"bin":{"curl-mcp-bridge":"bin/curl-mcp-bridge.js"},"scripts":{"start":"node ./bin/curl-mcp-bridge.js"},"engines":{"node":">=18"},"_id":"@calibress/curl-mcp-bridge@0.1.1","gitHead":"53679260554f0e6e56c98fb0f2bdd006324ea553","_nodeVersion":"21.7.3","_npmVersion":"10.5.0","dist":{"integrity":"sha512-ZdlcFnu9yMiqRf6zOebfftb+1uHzj/TqEhdkYA+EujqwktSnv/NRBXdpOpVoFDoy0b9IzesjoZmqrNi10Ymi3g==","shasum":"95d9ed521e43b69bbd504d92f0772142946721a5","tarball":"https://registry.npmjs.org/@calibress/curl-mcp-bridge/-/curl-mcp-bridge-0.1.1.tgz","fileCount":4,"unpackedSize":12163,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICxzaqA7MKEeOQZS1XSwRj+UpMG1rC+sXTf2HMxIhxBRAiBi8xWulG2C10W1bK9zZWVAJplYVk/0M2vQzhedHOPufg=="}]},"_npmUser":{"name":"craigyp","email":"prescottc@btinternet.com"},"directories":{},"maintainers":[{"name":"craigyp","email":"prescottc@btinternet.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curl-mcp-bridge_0.1.1_1766449504936_0.08908462388006089"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-22T21:31:30.859Z","modified":"2025-12-23T00:25:05.351Z","0.1.0":"2025-12-22T21:31:31.159Z","0.1.1":"2025-12-23T00:25:05.113Z"},"bugs":{"url":"https://github.com/calibress/curl-mcp-bridge/issues"},"homepage":"https://github.com/calibress/curl-mcp-bridge#readme","keywords":["mcp","stdio","bridge","calibress"],"repository":{"type":"git","url":"git+https://github.com/calibress/curl-mcp-bridge.git"},"description":"Local MCP stdio bridge that proxies to Calibress hosted /mcp over HTTP","maintainers":[{"name":"craigyp","email":"prescottc@btinternet.com"}],"readme":"# curl-mcp-bridge\n\nA local MCP `stdio` bridge that proxies MCP JSON-RPC to a Calibress hosted `/mcp` HTTP endpoint.\n\nThis lets any MCP client that supports `stdio` (Claude Desktop, Roo, etc.) talk to the hosted multi-tenant MCP gateway.\n\n## Requirements\n\n- Node.js >= 18\n\n## Usage\n\nSet these env vars:\n\n- `CALIBRESS_ENDPOINT` (required) — Hosted MCP URL (e.g. `https://enterprise-plan.dev.calibress.com/mcp`)\n- `CALIBRESS_API_KEY` (required) — Tenant/project API key (Bearer). Prefer project-scoped keys so “project selection” is implicit.\n\nThen run:\n\n```bash\nCALIBRESS_ENDPOINT=\"https://enterprise-plan.dev.calibress.com/mcp\" \\\nCALIBRESS_API_KEY=\"cmcp_...\" \\\nnode ./bin/curl-mcp-bridge.js\n```\n\nCLI overrides are also available (`--endpoint`, `--api-key`, `--session-id`).\n\nThe bridge reads MCP messages from stdin and writes MCP responses to stdout (1 JSON object per line).\n\n## Run via npx (npm)\n\n```bash\nCALIBRESS_ENDPOINT=\"https://enterprise-plan.dev.calibress.com/mcp\" \\\nCALIBRESS_API_KEY=\"cmcp_...\" \\\nnpx -y @calibress/curl-mcp-bridge@latest\n```\n\nIf you need to run an unpublished build, you can still run from GitHub:\n\n```bash\nCALIBRESS_ENDPOINT=\"https://enterprise-plan.dev.calibress.com/mcp\" \\\nCALIBRESS_API_KEY=\"cmcp_...\" \\\nnpx -y github:calibress/curl-mcp-bridge\n```\n\n## MCP client configuration\n\nExample (Roo / Claude Desktop style):\n\n```json\n{\n  \"curl-mcp-bridge\": {\n    \"transport\": \"stdio\",\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@calibress/curl-mcp-bridge@latest\"],\n    \"env\": {\n      \"CALIBRESS_ENDPOINT\": \"https://YOUR-TENANT.dev.calibress.com/mcp\",\n      \"CALIBRESS_API_KEY\": \"cmcp_REPLACE_ME\"\n    },\n    \"alwaysAllow\": [\n      \"mcp_version\",\n      \"getting_started\",\n      \"list_surfaces\",\n      \"list_connections\",\n      \"list_operations\",\n      \"get_operation_spec\",\n      \"execute_operation\",\n      \"curl_request\"\n    ]\n  }\n}\n```\n\n## Session handling\n\n- The hosted MCP endpoint issues `Mcp-Session-Id` on `initialize`.\n- The bridge caches that session id in-process and automatically sends it on subsequent requests.\n- If a client sends a request before `initialize`, the bridge will bootstrap a session and retry once.\n\n## Extensibility\n\nThe bridge forwards all JSON-RPC methods as-is.\n\nWhen the hosted MCP gateway adds new tools (e.g. `list_connections`), existing clients automatically see them via `tools/list` without changing the bridge.\n\n## Notes\n\n- To publish, bump `package.json` version and run `npm publish` (public access is configured).\n\n## License\n\nMIT.\n","readmeFilename":"README.md","license":"MIT"}