Skip to main content

Bolti MCP Server

Bolti ships an official Model Context Protocol (MCP) server that exposes most of the platform — agents, tools, phone numbers, calls, conversations, billing — as tools that an LLM in your editor can call directly.

Hooked up to Cursor or Claude Desktop, it means you can stay in your editor and say things like:

"Show me the last 10 calls for the support agent and pull the transcript of any one over 3 minutes."

"Create a tool called lookup_order pointing at https://api.acme.com/orders/{id}, assign it to my support agent, and run a test."

"Place an outbound call from the sales agent to +14155551212."

The model figures out which Bolti API calls to make. You confirm. It runs. This is Bolti's main differentiator vs. similar voice-AI platforms — the MCP surface is treated as a first-class control plane, not an afterthought.

What MCP is, briefly

MCP is an open protocol for letting LLM clients (Cursor, Claude Desktop, etc.) talk to external "tool servers" over a standard interface. A tool server exposes a set of named tools with input schemas; the client's LLM picks which to call and with what arguments. Same underlying idea as tool calling inside a Bolti agent, but applied to Bolti itself.

You don't need to know the protocol details to use the Bolti MCP server. You just install it, point your editor at it, and start asking questions in chat.

What you can do with it

The server registers around 40 tools grouped into the following surfaces:

SurfaceWhat it covers
AuthLog in with a token, list / create / revoke MCP personal access tokens, see who you're authenticated as.
AgentsList, get, create, update, delete agents. Pull agent configuration options (LLMs, voices, languages). Manage share-links for browser previews.
ToolsList, create, update, delete workspace HTTP tools. Test a tool with mock variables. Assign or unassign tools on an agent.
Calls & conversationsList calls, fetch a single call, get a signed recording playback URL, browse an agent's conversation history, pull the transcript of any conversation.
Phone numbersList assigned numbers, list available DIDs from your provider, assign a number to an agent for inbound, remove a number.
SIPList, create, delete inbound and outbound SIP trunks; place an outbound call to a number.
SettingsList workspaces in an org, get/update workspace settings, list members, fetch supported models, see workspace credit balance.
SystemA system_health tool that pings the backend and reports MCP version.

Full reference list of tool names: Available Tools.

Why this is different

Most platforms hand you a REST API and a dashboard. The MCP server gives you a third surface that's especially good for:

  • One-off operational tasks — "rotate the API key on tool X for every agent in the workspace"
  • Agent iteration loops — "show me the system prompt, change the greeting to be warmer, save it"
  • Reading data — pulling transcripts, recordings, or call lists into your current chat for analysis
  • Automating multi-step flows — "for each agent, list its assigned tools, dedupe by name, report"

Anything you'd otherwise click through the dashboard for, or write a small script for, the MCP server can usually do in one chat turn.

Smart defaults: workspace and org auto-resolution

You don't have to remember UUIDs. When the MCP server has an active session, it automatically:

  • Fills in org_id from the user's default organization
  • Fills in workspace_id from the user's default workspace, or the only workspace if there's exactly one in the org

So a tool call like agents_list works with no arguments — it lists agents in your default workspace. You only need to supply IDs when you want to act in a different workspace or organization than your default.

If a tool call still requires a UUID (e.g. an agent_id for a get-agent call), the server returns a clear VALIDATION_ERROR listing exactly which fields are missing.

A small ergonomic touch: agent creation

Creating an agent normally requires choosing an LLM provider/model, a TTS voice, an STT model, and so on. The agents_create tool fetches your workspace's available options and fills in sensible defaults for any field you didn't specify. Practically, this means you can say:

"Create a new agent called Customer Support with greeting 'Hi, this is Bolti support.'"

…and you get back a fully-configured agent with default LLM, voice, and STT picked from what your workspace supports. You can override anything by passing it explicitly.

Authentication

The MCP server needs a Bolti access token to do anything beyond system_health. You have two paths:

Generate a long-lived MCP token from the dashboard or via the MCP itself:

> Use auth_create_mcp_token to make a token named "cursor-laptop"

Save the token; configure the MCP server to use it via the MCP_BOOTSTRAP_TOKEN env variable so your editor session is authenticated automatically on launch.

Details: Personal Access Tokens.

2. One-shot login

Call auth_login_with_token from chat with a token you paste in. The session is held in memory until the MCP process exits.

Tokens are scoped to the user that created them — they pick up your org and workspace memberships automatically. Revoke any time with auth_revoke_mcp_token.

Configuration

The server is a standard stdio MCP process. Configure it via environment variables:

VariableDefaultPurpose
MCP_AUTH_MODEuser_jwtAuth mode reported back to the server.
MCP_BOOTSTRAP_TOKEN(none)If set, authenticate the session at startup. Most users want this.
MCP_TOOL_TIMEOUT_MS15000Per-tool HTTP timeout against the Bolti backend.
MCP_MAX_PAGE_SIZE100Cap for paginated list responses.
MCP_RETRY_ATTEMPTS2Retry attempts on transient backend failures.

For the actual installation steps for Cursor and Claude Desktop, see Installation.

Compared to the REST API

You can do everything the MCP server does via the REST API. The MCP server is a thin, typed proxy on top of the same endpoints, with a few quality-of-life additions:

MCPREST
Best forConversational ops, in-editor work, explorationProgrammatic integrations, your own services
AuthPersonal MCP tokensUser JWTs or service tokens
Workspace scopingAuto-resolved from sessionYou pass it on every request
Agent defaultsAuto-filled on createYou pass everything
Long-livedLives as long as your editor's MCP sessionStandard request/response

If you're building an integration that runs on a server, use the REST API. If you're a human doing operational work, use the MCP.

Where to go next

If you want to…Read
Install the server in Cursor or Claude DesktopInstallation
Manage your access tokensPersonal Access Tokens
See the full tool referenceAvailable Tools
Get inspired with concrete promptsUse Cases

If this is your first time, start with Installation. You'll be running tools from chat in about five minutes.