Available Tools
This is the full reference for every tool the Bolti Model Context Protocol (MCP) server registers, grouped by surface. You rarely call these by name yourself - your client's model picks them based on what you ask in chat - but this page is the authoritative list of what exists and what each one does.
How to read this page
- Tool is the exact tool name the model sees.
- Purpose is what it does.
- Notes flags anything special, most importantly whether the tool requires confirmation.
Tools marked confirm are destructive or billed. They require an explicit confirm: true argument. Without it they return a CONFIRMATION_REQUIRED error, so your client can check with you before the action runs. Read tools are never gated this way.
You can set credentials such as tool authorization values and SIP trunk passwords, but read tools never return them - they show a redacted placeholder. All access is enforced by the Bolti backend against your token's workspace membership and role, and write and call-initiating tools are rate-limited.
System
| Tool | Purpose | Notes |
|---|---|---|
system_health | Report the MCP server version and confirm the Bolti backend is reachable. | Works without a token. Good first check after install. |
Session and authentication
| Tool | Purpose | Notes |
|---|---|---|
whoami | Show which user and workspace the current token authenticates as. | Read. |
login_with_token | Authenticate a local stdio session with a pasted token. | Local transport only; alternative to BOLTI_API_TOKEN. |
logout | Clear the local in-memory session. | Local transport only. |
Personal Access Tokens are created and revoked in the dashboard, not through MCP tools. See Personal Access Tokens.
Agents
| Tool | Purpose | Notes |
|---|---|---|
agents_list | List agents in the workspace. | Read. |
agent_get | Fetch a single agent's full configuration. | Read. |
agent_options_get | List the workspace's available LLMs, voices, and STT models. | Read. Feeds the defaults on create. |
agent_variables_get | List an agent's prompt variables and which are required. | Read. Run before placing a call. |
agent_create | Create an agent. | Auto-fills LLM, voice, and STT defaults from agent_options_get for fields you omit. |
agent_update | Update an agent, including its system prompt. | The prompt lives in the prompt field. |
agent_delete | Delete an agent. | confirm |
agent_share_links_list | List an agent's browser-preview share links. | Read. |
agent_share_link_create | Create a share link for browser preview. | |
agent_share_link_delete | Delete a share link. | confirm |
Tools (workspace HTTP tools)
These manage the reusable HTTP tools an agent's LLM can call during a conversation. See Workspace HTTP Tools.
| Tool | Purpose | Notes |
|---|---|---|
tools_list | List workspace HTTP tools. | Read. |
tool_get | Fetch a single tool's configuration. | Read. Authorization values are redacted. |
tool_create | Create a workspace HTTP tool. | Define LLM-supplied arguments via the tool's input_schema. |
tool_update | Update a tool. | |
tool_delete | Delete a tool and unassign it from every agent. | confirm |
tool_test | Send a real request to the tool's endpoint with mock arguments. | Useful before assigning. |
agent_tools_list | List the tools assigned to an agent. | Read. |
agent_tools_set | Set an agent's assigned tools. | Pass the full list of tool UUIDs. |
Calls and conversations
| Tool | Purpose | Notes |
|---|---|---|
calls_list | List calls in the workspace. | Read. |
call_get | Fetch a single call's details. | Read. |
call_recording_url_get | Get a signed playback URL for a call recording. | Read. URL is time-limited. |
agent_conversations_list | List an agent's conversation history. | Read. |
agent_conversation_get | Fetch a single conversation, including its transcript. | Read. |
Phone numbers
| Tool | Purpose | Notes |
|---|---|---|
phone_numbers_list | List numbers assigned in the workspace. | Read. |
dids_list_available | List available Direct Inward Dialing (DID) numbers from your provider. | Read. |
phone_number_assign | Assign a number to an agent for inbound calls. | |
phone_number_remove | Remove a number from an agent. | confirm |
SIP and outbound calling
| Tool | Purpose | Notes |
|---|---|---|
inbound_trunks_list | List inbound Session Initiation Protocol (SIP) trunks. | Read. |
inbound_trunk_create | Create an inbound SIP trunk. | |
inbound_trunk_delete | Delete an inbound SIP trunk. | confirm |
outbound_trunks_list | List outbound SIP trunks. | Read. |
outbound_trunk_create | Create an outbound SIP trunk. | Passwords are write-only. |
outbound_trunk_delete | Delete an outbound SIP trunk. | confirm |
outbound_call_start | Place an outbound call from an agent to a number. | confirm - this is a billed action. Pass variable_values for the agent's prompt variables. |
Settings
| Tool | Purpose | Notes |
|---|---|---|
workspaces_list | List workspaces in the organization. | Read. |
organization_get | Fetch the organization's details. | Read. |
workspace_get | Fetch the current workspace's settings. | Read. |
workspace_update | Update workspace settings. | confirm, admin-only. |
workspace_members_list | List workspace members and their roles. | Read. |
supported_models_list | List models the platform supports. | Read. |
workspace_credits_get | Fetch the workspace credit balance. | Read. |
Authoring agents from chat
A key strength of the MCP server is editing agent behavior directly. An agent's system prompt is the prompt field on agent_create and agent_update. Prompts support Liquid templating for variables:
Hello {{ customer_name }}, thanks for calling {{ company_name | default: "our support line" }}.
{{ variable_name }}with no default is required and must be supplied per call.{{ variable_name | default: "fallback" }}uses the fallback when no value is provided.variable_defaults(a name-to-value map on the agent) sets default values for variables.- Per-call values are passed to
outbound_call_startasvariable_values.
Run agent_variables_get first to see which variables an agent declares and which are required, then supply them when you place the call. For workspace HTTP tools, define the tool's LLM-supplied arguments in its input_schema (a JSON Schema) and reference them in the URL, headers, or body with {{ argument }}. See Use Cases for worked examples.
Where to go next
| If you want to... | Read |
|---|---|
| Install the server | Installation |
| Understand token permissions | Personal Access Tokens |
| See these tools in real workflows | Use Cases |
| Do everything programmatically instead | REST API |