elevenlabs-agents-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELEVENLABS_API_KEY | Yes | Your ElevenLabs API key | |
| ELEVENLABS_API_BASE_URL | No | Base URL for the ElevenLabs API (use residency endpoints if applicable) | https://api.elevenlabs.io |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| elevenlabs_list_agentsA | List conversational AI agents in the ElevenLabs workspace. Use this first to discover the agent_id needed by elevenlabs_make_outbound_call. Args:
Returns JSON: { agents: [{ agent_id, name, created_at_unix_secs }], has_more, next_cursor } |
| elevenlabs_list_phone_numbersA | List phone numbers imported into ElevenLabs (including SIP trunk numbers, e.g. a Vonage SIP trunk DID). Use this to discover the agent_phone_number_id required by elevenlabs_make_outbound_call. SIP trunk numbers have provider 'sip_trunk'. Args: none Returns JSON: { phone_numbers: [{ phone_number_id, phone_number, label, provider, assigned_agent }] } |
| elevenlabs_make_outbound_callA | Place an outbound telephone call via an ElevenLabs agent over a SIP trunk (e.g. Vonage). This starts the call and returns immediately — it does NOT wait for the call to finish. To get the outcome, follow up with elevenlabs_wait_for_call_completion using the returned conversation_id. Args:
Returns JSON: { success, message, conversation_id, sip_call_id } Save conversation_id — it is needed to retrieve the outcome and transcript. Error handling: 422 usually means a bad to_number format or invalid IDs. |
| elevenlabs_get_call_reportA | Get a compact outcome report for a call/conversation: status, success evaluation, summary, duration, termination reason, extracted data-collection results, and evaluation criteria results. Does NOT include the transcript (use elevenlabs_get_call_transcript). Note: analysis fields (call_successful, summary, data collection) are only populated after the call ends and post-call processing completes (status 'done'). If status is 'initiated'/'in-progress'/'processing', poll again or use elevenlabs_wait_for_call_completion. Args:
Returns JSON: { conversation_id, status, call_successful, summary, duration_secs, termination_reason, error, cost_credits, evaluation_criteria_results, data_collection_results, transcript_turns, has_audio } |
| elevenlabs_wait_for_call_completionA | Block until a call reaches a terminal status ('done' or 'failed') or the timeout elapses, then return the outcome report (same shape as elevenlabs_get_call_report). This is the recommended follow-up after elevenlabs_make_outbound_call: place the call, then call this to get the result in one step. Args:
Returns JSON: { timed_out, waited_secs, ...outcome report } If timed_out is true, the call is still in progress — call this tool again to keep waiting. |
| elevenlabs_get_call_transcriptA | Get the turn-by-turn transcript of a call. Args:
Returns JSON: { conversation_id, status, total_turns, has_more, turns: [{ index, role, time_in_call_secs, message }] } |
| elevenlabs_list_callsA | List recent conversations/calls, newest first, with optional filters. Args:
Returns JSON: { calls: [{ conversation_id, agent_id, agent_name, status, call_successful, start_time_unix_secs, call_duration_secs, direction }], has_more, next_cursor } |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a unique, well-defined purpose: call reports, transcripts, agent listing, call listing, phone number listing, making calls, and waiting for completion. No overlap in functionality.
All tools follow the 'elevenlabs_verb_noun' pattern with snake_case, e.g., elevenlabs_get_call_report, elevenlabs_list_agents. Perfectly consistent.
Seven tools is a tight set covering listing, call initiation, and post-call retrieval. No redundant tools, and scope is well-defined for an outbound call management server.
The workflow is complete: discover agents/numbers, place call, wait, get results. Minor gaps like no tool to create or update agents/numbers, but those may be out of scope.