> ## Documentation Index
> Fetch the complete documentation index at: https://www.bolna.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server

> Connect Claude, Cursor, Windsurf, or any MCP client to your Bolna account with the Bolna MCP server.

The Bolna MCP server connects your AI assistant directly to your Bolna account over the [Model Context Protocol](https://modelcontextprotocol.io). Once connected, you can list and inspect agents, pull call transcripts, run batch campaigns, build and run multi-step workflows, manage dispositions, knowledgebases, phone numbers, SIP trunks, and sub-accounts, check your wallet balance, create or update agents, and place real outbound calls — all from a chat window, no dashboard tab required.

It's hosted at **[mcp.bolna.ai](https://mcp.bolna.ai)** — there's nothing to install or run locally. Point your client at the URL with your API key and you're connected.

<CardGroup cols={2}>
  <Card title="Claude connector" icon="plug-circle-plus" href="https://claude.ai/directory/bolna">
    Add Bolna from Claude's connector directory and sign in with your Bolna account. Works in Claude on the web, desktop and mobile
  </Card>

  <Card title="Quickstart" icon="plug" href="/docs/mcp-quickstart">
    Connect Claude Code, Cursor, Windsurf, Codex, Zed, or any other MCP client in under a minute
  </Card>
</CardGroup>

## What you can do

<AccordionGroup>
  <Accordion title="Check on your account" icon="magnifying-glass">
    "List my agents", "what's my wallet balance?", "show me the numbers on my account" — quick lookups without opening the dashboard.
  </Accordion>

  <Accordion title="Debug a call" icon="bug">
    "Get the last 5 executions for agent X and show me the transcript for any that failed" — the assistant chains the lookups for you.
  </Accordion>

  <Accordion title="Build and change agents" icon="robot">
    "Create a Hindi lead-qualification agent using Sarvam and GPT-4o mini", "update agent X's welcome message" — describe the change, the assistant makes the API call.
  </Accordion>

  <Accordion title="Run batches and set up dispositions" icon="layer-group">
    "Create a batch from this CSV and schedule it for 9am", "add a disposition that captures appointment\_time from the call" — campaign and post-call setup without leaving the chat.
  </Accordion>

  <Accordion title="Build and edit graph agents" icon="diagram-predecessor">
    "Build a graph agent that books dental appointments, with an after-hours branch and a transfer after three silent turns", "add a node to agent X that handles refund questions" — the assistant designs the nodes and edges, checks them against the editor's validation rules, and saves them. It can also push events like `payment_completed` into a live call.
  </Accordion>

  <Accordion title="Build and run multi-step workflows" icon="diagram-project">
    "Create a workflow that calls this agent and, if there's no answer, retries in an hour then follows up over WhatsApp", "run this workflow against +91XXXXXXXXXX", "start a workflow campaign from this CSV of leads" — author, publish, and run per-contact automations, or check where any contact is stuck.
  </Accordion>

  <Accordion title="Manage phone numbers, SIP trunks, and sub-accounts" icon="phone">
    "Buy me a US number and route it to my support agent", "add this number to my Twilio trunk", "what did the Acme sub-account spend this month?" — the enterprise and telephony surface, not just agents.
  </Accordion>

  <Accordion title="Add a knowledgebase" icon="book-open">
    "Create a knowledgebase from our pricing page and check when it's done processing" — give an agent RAG over a URL without leaving the chat.
  </Accordion>

  <Accordion title="Review flagged calls" icon="triangle-exclamation">
    "List any pending violations on my account" — see calls flagged for content policy, regulatory, or fraud review.
  </Accordion>

  <Accordion title="Look up the docs" icon="book">
    "How do I set up a webhook?", "show me the MCP tool list page" — the assistant searches Bolna's documentation and reads back the actual page content, instead of guessing from training data.
  </Accordion>
</AccordionGroup>

## How it works

Your client sends your Bolna API key as a Bearer token to `https://mcp.bolna.ai/api/mcp`. For the 94 account tools, the server checks the key, calls the matching [Bolna REST API](/docs/api-reference/introduction) endpoint, and hands back trimmed JSON your assistant can reason about. `search_docs` and `get_doc` skip the account API entirely — they read Bolna's public documentation (`llms.txt` and its doc pages) instead.

### Switching accounts mid-conversation

Every tool also accepts an optional `api_key` argument that overrides the connected account's credential for just that one call. This is built for [sub-accounts](/docs/api-reference/sub-accounts/overview): ask the assistant to `list_sub_accounts`, grab the key (`sa-...`) for the one you want, then pass it as `api_key` on any later tool call to act as that sub-account — no reconnecting required. A sub-account key also works as the primary connection credential from the start, exactly like a main account's `bn-...` key.

```
Your client (Claude, Cursor, Windsurf...)
        │  Bearer <BOLNA_API_KEY>
        ▼
https://mcp.bolna.ai/api/mcp
        │
        ▼
https://api.bolna.ai  (agents · calls · batches · dispositions · knowledgebases · phone numbers · SIP trunks · sub-accounts · voice · violations · workflows · workflow campaigns · workflow executions · account)
```

<Frame caption="How the Bolna MCP server connects your AI assistant to your account">
  <img src="https://mintcdn.com/bolna-54a2d4fe/TzYhw_uvJhz-N-Qn/images/changelog/mcp-diagram.svg?fit=max&auto=format&n=TzYhw_uvJhz-N-Qn&q=85&s=a957a5398c33cc73d4b4207c906fc589" alt="Diagram showing an MCP client connecting via Bearer token to mcp.bolna.ai, which calls api.bolna.ai for agents, calls, batches, dispositions, knowledgebases, phone numbers, SIP trunks, sub-accounts, voice, violations, workflows, workflow campaigns, workflow executions, graph agents, and account" width="880" height="560" data-path="images/changelog/mcp-diagram.svg" />
</Frame>

No key is stored server-side — it travels with each request. The server is open source; see the [GitHub repo](https://github.com/bolna-ai/mcp) for the implementation.

## Confirm before it acts

43 tools are flagged as destructive in their tool definitions — irreversible deletes, a real-world effect like spending balance or breaking something still in use, or a change to something already published or running. Most clients ask you to confirm before running them: `update_agent`, `delete_agent`, `stop_agent_queued_calls`, `start_outbound_call`, `stop_call`, `schedule_batch`, `stop_batch`, `delete_batch`, `update_disposition`, `delete_disposition`, `update_extraction_category`, `delete_extraction_category`, `buy_phone_number`, `delete_phone_number`, `unlink_inbound_agent`, `update_trunk`, `delete_trunk`, `remove_trunk_gateway`, `remove_trunk_carrier_ip`, `remove_number_from_trunk`, `assign_trunk_number_agent`, `start_trunk_test_call`, `disarm_trunk_inbound_test`, `update_sip_trunk`, `delete_sip_trunk`, `remove_trunk_number`, `update_sub_account`, `delete_sub_account`, `remove_provider`, `delete_knowledgebase`, `rename_workflow`, `update_workflow_settings`, `delete_workflow`, `save_workflow_draft`, `publish_workflow`, `run_workflow`, `delete_workflow_campaign`, `start_workflow_campaign`, `pause_workflow_campaign`, `resume_workflow_campaign`, `abort_workflow_campaign`, `cancel_workflow_execution`, and `update_graph_agent` — see the [Tool List](/docs/mcp-tool-list) for what makes each one destructive.

## Reference

<CardGroup cols={2}>
  <Card title="Tool list" icon="table-list" href="/docs/mcp-tool-list">
    Every tool the server exposes, grouped by agents, calls, batches, dispositions, knowledgebases, phone numbers, SIP trunks, sub-accounts, voice, violations, workflows, workflow campaigns, workflow executions, graph agents, and account
  </Card>

  <Card title="Prompt cheatsheet" icon="clipboard-list" href="/docs/mcp-prompts">
    Copy-paste prompts for common tasks — works in any client, chat-only included
  </Card>
</CardGroup>

## For coding agents

<CardGroup cols={2}>
  <Card title="Example: Monitoring dashboard" icon="gauge" href="/docs/mcp-example-app">
    Requires Claude Code, Cursor, Windsurf, or another agent that can write and run files — use the MCP server to explore your data, then have it build a small dashboard around it
  </Card>

  <Card title="Bolna Skills" icon="wand-magic-sparkles" href="/docs/skills">
    A code-native alternative — teaches the same operations to Claude Code, Cursor, and Codex directly, no MCP connection needed
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.