Install
bonya-mcp executable, which speaks MCP over stdio.
Configuration
The server reads its configuration from the environment:BONYA_API_KEYis a personal API key (byk_...), sent as a bearer token on every request.BONYA_ENDPOINToverrides the API base URL if you need to point at a non-default environment.BONYA_ORGANIZATION_ID, if set, is sent as theX-Bonya-Organization-IDheader to scope every call to a specific organization instead of your personal one.
The server doesn’t validate
BONYA_API_KEY at startup — it resolves configuration lazily on the first tool call, so the server can start and advertise its tools even before the key is set. A missing or invalid key surfaces as a normal tool error rather than a startup crash.Connect a client
Every client below launchesbonya-mcp as a local process over stdio and passes it environment variables — the same mcpServers/mcp_servers shape each time, just in a different config format. BONYA_ENDPOINT and BONYA_ORGANIZATION_ID are optional in every example; add them the same way as BONYA_API_KEY if you need them.
Claude Code
-s user to make it available in every project instead:
Claude Desktop
Claude Desktop has no CLI shortcut — edit its config file directly, then fully quit and reopen the app (not just close the window). Open the file from Claude Desktop itself: the Claude menu (macOS menu bar, not an in-window menu) → Settings → Developer tab → Edit Config. The file lives at~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows.
bonya-mcp, it’s usually a PATH problem — GUI apps on macOS don’t always see the same PATH your terminal does, so a global install (npm install -g @bonya-ai/bonya-mcp) is the more reliable option there. Per-server logs live at ~/Library/Logs/Claude/mcp-server-bonya.log (macOS) or %APPDATA%\Claude\logs (Windows) if a server fails to start.
Codex
~/.codex/config.toml, which you can also edit directly:
The table name must be exactly
mcp_servers (snake_case) — Claude’s mcpServers key from the JSON examples above doesn’t carry over; Codex won’t recognize it.ChatGPT
The ChatGPT desktop app is a separate surface built on the same underlying host as Codex, and as of writing supports local stdio servers via Settings → MCP servers → Add server (choosing STDIO), or by editing~/.codex/config.toml directly since it shares that file with Codex. This has moved between releases before, so check OpenAI’s current docs if a config option described here doesn’t match what you see.
Errors
Non-2xx responses from the API are surfaced to the MCP client as tool errors, formatted asBonya API error <status> (<code>): <detail> — for example Bonya API error 409 (session_exists): a live session named "dev" already exists. code and detail come from the API’s RFC 9457 application/problem+json error body; code is the stable, machine-readable identifier and is more reliable to branch on than the HTTP status alone.