MCP server
Tools
Every tool the Voxa MCP server exposes, what it needs, and whether your assistant will ask before running it.
Each tool calls the REST API as you (or as the API key you connected with), so its rules, limits and errors are the API’s. A failed call comes back as a tool error such as HTTP 404: agent not found, which the assistant can read and act on.
The Asks first column follows the MCP annotations Voxa sets. Read-only tools may run without a prompt; everything else should ask, depending on your client’s settings.
Agents
| Tool | Arguments | Asks first | What it does |
|---|---|---|---|
list_agents | none | no | The workspace’s agents: id, name, version, voice, model, phone number and status. |
get_agent | agent_id | no | One agent’s full configuration: prompt, welcome message, LLM, voice, transcriber, call settings, tools, webhook and number. |
create_agent | agent | yes | Creates an agent. Only agent.name is required; everything else has defaults. See the agent object. |
update_agent | agent_id, patch | yes | Changes only the fields in patch, deep-merged over the current configuration (lists such as tools are replaced). Saved as a new version. |
duplicate_agent | agent_id | yes | Copies an agent as “name (copy)”, without its phone number. |
delete_agent | agent_id | yes, destructive | Deletes the agent and its version history. Past calls are kept. Can’t be undone. |
Versions
| Tool | Arguments | Asks first | What it does |
|---|---|---|---|
list_agent_versions | agent_id | no | The latest versions, newest first: who changed what, field by field. |
restore_agent_version | agent_id, version | yes, destructive | Replaces the configuration with an older version, saved as a new version. See Versions. |
Calls
| Tool | Arguments | Asks first | What it does |
|---|---|---|---|
list_calls | agent_id, status, direction, q, limit, skip (all optional) | no | Calls, newest first, with filters: status (comma-separated for several), direction, and q for a phone number or agent name. Transcripts come from get_call. |
get_call | call_id | no | One call with its transcript, usage, cost, summary, extracted data and how it ended. See the call object. |
get_call_events | call_id | no | The call’s timeline, oldest first: turns, model and speech latencies, tool calls and errors. |
place_call | agent_id, to, user_data, from_number, ignore_call_window | yes, reaches outside | Rings a real phone number (E.164, for example +919812345678). The call is queued and placed when a call slot is free; it uses credits. See Outbound calls. |
cancel_call | call_id | yes, destructive | Cancels a queued call, or hangs up a ringing or live one. |
Workspace
| Tool | Arguments | Asks first | What it does |
|---|---|---|---|
get_billing | none | no | Credit balance in paise (100 paise = ₹1), price per minute, minutes left, and whether the balance is low. |
get_limits | none | no | Concurrent call limit, live and queued calls, and any pending limit request. See Limits and billing. |
Building blocks
| Tool | Arguments | Asks first | What it does |
|---|---|---|---|
list_voices | language, q (optional) | no | Voices an agent can use (id, name, gender, language). Put the id in voice.voice_id. |
list_models | none | no | LLM, speech-to-text and text-to-speech models and languages, and which providers your workspace may use. |
test_tool | tool, args | yes, reaches outside | Sends the HTTP request an agent tool would make mid-call, and returns the status, time and response. See Tools. |
What a connection can’t do
The MCP server has no tools for billing changes, members, API keys, KYC, phone number purchases or webhooks. Use the console or the REST API for those.