
bolna-ai/mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Remote MCP server (Streamable HTTP) wrapping the Bolna voice AI REST API (https://api.bolna.ai): 116 tools covering nearly every documented Bolna endpoint, TypeScript, deployed on Vercel via...
개요
Remote MCP server (Streamable HTTP) wrapping the Bolna voice AI REST API (https://api.bolna.ai): 116 tools covering nearly every documented Bolna endpoint, TypeScript, deployed on Vercel via mcp-handler. — that page has the same connect instructions below with copy-paste buttons for each client. MCP is an open protocol, not Claude-specific — this server works with any MCP-compatible client: Claude, Codex, Cursor, Windsurf, Zed, and others. Endpoint corrections found while verifying tool paths against the live Bolna docs are documented in the comment block at the top of src/tools/index.ts. A directory listing is reviewed as a whole, so every tool on it is surface area to justify. /api/connector/mcp serves the nine tools named in src/tools/directory-surface.ts and nothing else, while /api/mcp keeps growing. Adding a name to that list means adding it to what Anthropic reviews, so do it deliberately. Both routes are built by the same factory in src/lib/mcp-route.
README
원문 README의 일부입니다. 원문 보기.
Bolna MCP Server
Remote MCP server (Streamable HTTP) wrapping the Bolna voice
AI REST API (https://api.bolna.ai): 116 tools covering nearly every documented
Bolna endpoint, TypeScript, deployed on Vercel via mcp-handler.
Live at mcp.bolna.ai — that page has the same connect instructions below with copy-paste buttons for each client.
MCP is an open protocol, not Claude-specific — this server works with any MCP-compatible client: Claude, Codex, Cursor, Windsurf, Zed, and others.
Endpoint corrections found while verifying tool paths against the live Bolna
docs are documented in the comment block at the top of
src/tools/index.ts.
Two endpoints
| Endpoint | Tools | For |
|---|---|---|
/api/mcp |
all 116 | Anyone connecting the server themselves |
/api/connector/mcp |
9 | The Claude connector directory listing |
The directory surface is a fixed subset. A directory listing is reviewed
as a whole, so every tool on it is surface area to justify.
/api/connector/mcp serves the nine tools named in
src/tools/directory-surface.ts and
nothing else, while /api/mcp keeps growing. Adding a name to that list
means adding it to what Anthropic reviews, so do it deliberately. Both
routes are built by the same factory in
src/lib/mcp-route.ts and share the same tool
implementations.
The restriction is applied at registration time, not per call: tools off the
list never enter the server’s registry, so they are absent from tools/list
and un-callable by name. Prompts are dropped the same way, so the
connector answers prompts/list with “method not found” rather than
advertising the four on /api/mcp.
Two things also differ on the connector, and only there:
- No
api_keyparameter. Every tool on/api/mcpaccepts an optionalapi_keyto target another account for one call (see above). It is stripped from both the schema and the incoming arguments on the connector, so it always acts as the OAuth-authenticated user. The strip lives in the same wrapper as the allowlist — no tool implementation is touched. - Its own server
instructions.SERVER_INSTRUCTIONSdescribes tools and prompts the connector doesn’t register, so it sendsCONNECTOR_INSTRUCTIONSfromsrc/tools/prompts.tsinstead.
OAuth is per-surface. RFC 9728 metadata must declare a resource equal
to the URL the client connected to, and Claude rejects a mismatch, so a
single hardcoded document can’t serve two paths. /api/connector/mcp points
at the path-insertion form
/.well-known/oauth-protected-resource/api/connector/mcp, served by a
catch-all route that answers only for known transport paths. /api/mcp
keeps the bare /.well-known/oauth-protected-resource it has always handed
out, so already-connected clients are unaffected. Both documents name the
설치
npx -y mcp-remote https://mcp.bolna.ai/api/mcp --header Authorization: Bearer <your BOLNA_API_KEY>설정
{
"mcpServers": {
"bolna": {
"type": "http",
"url": "https://mcp.bolna.ai/api/mcp",
"headers": {
"Authorization": "Bearer <your BOLNA_API_KEY>"
}
}
}
}