{"_id":"@boardherald/mcp-bridge","name":"@boardherald/mcp-bridge","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@boardherald/mcp-bridge","version":"0.1.0","description":"stdio ↔ HTTPS bridge for connecting any MCP client (Claude Desktop, ChatGPT, custom) to a BoardHerald tenant.","keywords":["mcp","model-context-protocol","boardherald","claude","claude-desktop","chatgpt","agent","bridge"],"homepage":"https://www.boardherald.com/agents","bugs":{"url":"https://github.com/getbananalabs/boardherald-mcp/issues"},"repository":{"type":"git","url":"git+https://github.com/getbananalabs/boardherald-mcp.git"},"license":"MIT","author":{"name":"BananaLabs"},"type":"module","bin":{"mcp-bridge":"scripts/mcp-bridge.mjs","boardherald-mcp-bridge":"scripts/mcp-bridge.mjs"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@boardherald/mcp-bridge@0.1.0","gitHead":"55b1cc70fd199e688cdddf8e59994a1c019e7306","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-f1chLEcdMgh8Epgkenw5ZiB9Pv5b2nVKZAmLqan7O5yigYZVLwMzSeClvnne/Ek8GodR1Xol1Wb08IiozvgpSg==","shasum":"c5572a8e07771a18311b9a16def5c7bf4fc20333","tarball":"https://registry.npmjs.org/@boardherald/mcp-bridge/-/mcp-bridge-0.1.0.tgz","fileCount":7,"unpackedSize":12095,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6givy+JXePVep818Z7y+yUNg/P3Y7STyFxXwvRK7P7wIgHzMd1VwxXl/hC39FEGDgiDfdVTBYgkBsTYsaeiRNDbw="}]},"_npmUser":{"name":"zeromickey","email":"sidney@hornych.cz"},"directories":{},"maintainers":[{"name":"tstrg","email":"silnytomas@gmail.com"},{"name":"zeromickey","email":"sidney@hornych.cz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-bridge_0.1.0_1776678523742_0.2387872130588653"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T09:48:43.667Z","0.1.0":"2026-04-20T09:48:43.880Z","modified":"2026-04-20T09:48:44.060Z"},"maintainers":[{"name":"tstrg","email":"silnytomas@gmail.com"},{"name":"zeromickey","email":"sidney@hornych.cz"}],"description":"stdio ↔ HTTPS bridge for connecting any MCP client (Claude Desktop, ChatGPT, custom) to a BoardHerald tenant.","homepage":"https://www.boardherald.com/agents","keywords":["mcp","model-context-protocol","boardherald","claude","claude-desktop","chatgpt","agent","bridge"],"repository":{"type":"git","url":"git+https://github.com/getbananalabs/boardherald-mcp.git"},"author":{"name":"BananaLabs"},"bugs":{"url":"https://github.com/getbananalabs/boardherald-mcp/issues"},"license":"MIT","readme":"# @boardherald/mcp-bridge\n\n**stdio ↔ HTTPS bridge** — connect Claude Desktop, ChatGPT, or any MCP client to your [BoardHerald](https://www.boardherald.com) tenant.\n\n```\n>_ npx -y @boardherald/mcp-bridge --api-key bh_... --url https://your-tenant.boardherald.com\n```\n\nBoardHerald speaks the [Model Context Protocol](https://modelcontextprotocol.io). Any MCP-compliant agent can read and write board material on your behalf — meeting updates, resolutions, votes, vault documents, financials — scoped to the same permissions you'd have yourself. This bridge is the ~110-line Node script that turns stdio into HTTPS for desktop MCP clients that don't yet speak the remote transport directly.\n\n---\n\n## Quick start\n\n### Claude Desktop\n\nEdit `claude_desktop_config.json` (see [Anthropic docs for the location on your OS](https://modelcontextprotocol.io/quickstart/user)):\n\n```json\n{\n  \"mcpServers\": {\n    \"boardherald\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@boardherald/mcp-bridge\",\n        \"--api-key\", \"bh_REPLACE_WITH_YOUR_KEY\",\n        \"--url\", \"https://your-tenant.boardherald.com\"\n      ]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The boardherald tools should appear in the connectors panel.\n\n### ChatGPT (beta)\n\nChatGPT's MCP connector is rolling out. Check the current OpenAI docs for the exact config location; the block you want is:\n\n```json\n{\n  \"type\": \"mcp\",\n  \"url\": \"https://your-tenant.boardherald.com/api/mcp\",\n  \"headers\": {\n    \"Authorization\": \"Bearer bh_REPLACE_WITH_YOUR_KEY\"\n  }\n}\n```\n\nChatGPT speaks the remote MCP transport natively, so the bridge isn't needed — you just point it at the BoardHerald endpoint.\n\n### Any MCP client (raw transport)\n\n```\nPOST https://your-tenant.boardherald.com/api/mcp\nAuthorization: Bearer bh_REPLACE_WITH_YOUR_KEY\nContent-Type:  application/json\nAccept:        application/json, text/event-stream\n```\n\nProtocol version: `2025-11-25`. Body is any JSON-RPC 2.0 MCP message. Server streams responses as Server-Sent Events when the tool supports it.\n\n---\n\n## Getting an API key\n\nSign into your tenant → **Profile → API Keys** → generate a key with the persona you want. Keys start with `bh_` and are shown exactly once — store them in your agent's secret manager, not in source control.\n\nIf the menu isn't there, your tenant hasn't enabled the MCP surface yet. Contact your platform admin.\n\n### Personas and scopes\n\n| Persona            | Scopes                                                                                                                 | What it does                                                   |\n| ------------------ | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |\n| `read-only`        | `updates:read`, `resolutions:read`, `meetings:read`, `financials:read`                                                 | Brief, query, summarise. Cannot write.                         |\n| `meeting secretary`| `meetings:read`, `meetings:write`, `updates:read`                                                                      | Schedules, drafts agendas, captures minutes.                   |\n| `board secretary`  | `resolutions:read/write/vote`, `meetings:read/write`, `updates:read/write`                                             | Drafts and routes resolutions, casts recorded votes.           |\n| `full admin`       | `users:manage`, `audit:read` + all of the above                                                                        | Full write surface plus user / audit visibility. Grant sparingly. |\n\n---\n\n## Running from source\n\n```bash\ngit clone https://github.com/getbananalabs/boardherald-mcp.git\ncd boardherald-mcp\nnode scripts/mcp-bridge.mjs --api-key bh_... --url https://your-tenant.boardherald.com\n```\n\nOr use env vars:\n\n```bash\nBOARDHERALD_API_KEY=bh_... \\\nBOARDHERALD_URL=https://your-tenant.boardherald.com \\\n  node scripts/mcp-bridge.mjs\n```\n\nRequires Node **18 or newer**. Zero runtime dependencies.\n\n---\n\n## Troubleshooting\n\n| Code  | Meaning         | Fix                                                                                     |\n| ----- | --------------- | --------------------------------------------------------------------------------------- |\n| `401` | unauthorized    | Key missing, mistyped, or revoked. Rotate it in Profile → API Keys.                     |\n| `403` | out of scope    | Key is valid but lacks the scope the tool needs. Issue a new key with broader persona.  |\n| `429` | rate limited    | Back off, retry with exponential jitter, or reduce parallel tool calls.                 |\n\nSomething else broke? [Open an issue](https://github.com/getbananalabs/boardherald-mcp/issues).\n\n---\n\n## Security\n\n- Keys travel as `Authorization: Bearer` over HTTPS. Never embed them in client-side code.\n- Every request lands in the tenant's audit log with the key's persona attached.\n- Rotate keys when a laptop leaves the company or when an agent is retired.\n- Start with the **narrowest persona** that does the job. You can always issue a second key with broader scope.\n\nFound a security issue? Email `security@boardherald.com` rather than opening a public issue.\n\n---\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Related\n\n- [`/agents` docs on boardherald.com](https://www.boardherald.com/agents)\n- [Model Context Protocol spec](https://modelcontextprotocol.io)\n- [BoardHerald](https://www.boardherald.com) — the boardroom SaaS this bridges into.\n","readmeFilename":"README.md","_rev":"1-5d25849e22bf11f88b595ac2861b13f0"}