MCP server for ElevenLabs Conversational AI API (not affiliated with TwelveLabs video platform) — agents, knowledge base, conversations, voices
Strong tool naming (verb_noun pattern consistently applied) and comprehensive descriptions (avg 180 chars, well above 34-char baseline). All 13 tools have clear, actionable descriptions explaining WHAT, WHEN, and consequences. Input schemas present for all tools with type definitions. However, several tools lack parameter descriptions (e.g., twelvelabs_update_agent_settings missing descriptions for 'temperature' and 'voice_id' parameters in visible schema), and output schemas are documented only in prose, not as formal JSON Schema. Error handling guidance is minimal, tools do not explain recovery paths or categorize errors as retryable vs. fatal. Security annotations present (WRITE/DESTRUCTIVE risk labels) but no permission scopes declared.
Add a plain text document to the ElevenLabs knowledge base. After adding, attach it to an agent by updating the agent's knowledge_base config with the returned document ID. Args: - name: Display name for the document - text: The full text content to store Returns: The new document's ID and name. Note: This creates the document in your account-level knowledge base but does NOT automatically attach it to any agent. Use twelvelabs_get_agent to check an agent's current KB attachments.
Add a web page to the knowledge base by URL. ElevenLabs will crawl the URL and extract the text content. Args: - name: Display name for the document - url: The URL to crawl Returns: The new document's ID. Note: This creates the document in your account-level knowledge base but does NOT automatically attach it to any agent. Use twelvelabs_get_agent to check an agent's current KB attachments.
⚠️ IRREVERSIBLE. Permanently deletes a knowledge base document. Confirm with the user before calling. The document will also be detached from any agents that reference it.
Get the FULL configuration of an ElevenLabs agent, including fields the official ElevenLabs MCP connector does not expose: - Complete system prompt text - LLM model (e.g., gpt-4.1-nano, claude-3-5-haiku) - Temperature setting - All knowledge base document references - Voice ID and TTS settings (stability, similarity_boost) - Language configuration - Webhook URL (if configured) - First message Args: - agent_id: The agent's ID string (get from twelvelabs_list_agents) Returns: Full agent configuration as formatted text. Note: The system prompt is truncated to 500 chars in this view. If you need to read, review, or edit the full prompt text, use twelvelabs_get_agent_prompt instead.
Output schemas documented only in prose descriptions, not as formal JSON Schema. LLMs cannot parse unstructured text to infer response structure for downstream tool chaining.
Error handling lacks recovery guidance. Tools do not categorize errors as retryable, user-fixable, or fatal, and do not suggest next steps (e.g., 'Try search_agents() first').
twelvelabs_update_agent_settings: parameter descriptions missing for 'temperature' and 'voice_id'. Schema shows types but descriptions are absent, forcing LLMs to infer meaning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Get the complete, untruncated system prompt for an ElevenLabs agent. Use this when you need to read, review, or edit the full prompt text. twelvelabs_get_agent truncates the prompt to 500 chars for readability — this tool returns the entire thing. Args: - agent_id: The agent ID
Get the complete transcript and post-call analysis for a conversation. Returns two things: 1. The full turn-by-turn transcript (what the agent and user actually said) 2. The analysis: data_collection fields (scores, email, role, recommendation) and evaluation_criteria results (booleans like interview_completed) This is your primary tool for debugging: if scores are wrong, feedback is missing, or the interview ended incorrectly, read the transcript here first.
Get the full content of a knowledge base document, including its extracted text. Args: - doc_id: The document ID (from twelvelabs_list_kb_docs) Returns: Document metadata plus the full extracted text content.
List all Conversational AI agents in your ElevenLabs account. Returns each agent's ID, name, and creation timestamp. Use this to find agent IDs before calling twelvelabs_get_agent for full details. Returns: Array of { agent_id, name, created_at_unix_secs }
List recent conversations across all agents in your account. To filter by agent, use twelvelabs_list_agent_conversations instead. Args: - limit: Number of conversations to return (1–100, default 20) - cursor: Cursor from a previous response, for the next page - agent_id: Optional — filter to a specific agent - call_successful: Filter by success evaluation result - start_after_unix/start_before_unix: Filter by conversation start timestamp - min_duration_secs/max_duration_secs: Filter by call duration - rating_min/rating_max: Filter by overall rating (1–5) - exclude_statuses: Hide conversations in one or more statuses - tag_ids: Return only conversations carrying one or more tag IDs Returns: List of conversations with ID, status, duration, and agent ID. Tip: To filter by agent, either pass agent_id here or use twelvelabs_list_agent_conversations.
List all documents in your ElevenLabs knowledge base. Note: KB documents exist at the account level, not per-agent. They are referenced from agents via the agent's knowledge_base config array. Use twelvelabs_get_agent to see which docs a specific agent has attached. Returns: Each doc's ID, name, type (file/url), size, and creation date.
List available voices in your ElevenLabs account. Returns voice IDs, names, categories, and labels. Use the voice_id values with twelvelabs_update_agent_settings.
⚠️ This modifies a LIVE agent's configuration. Confirm with the user before calling. Replace the system prompt and/or first message for an ElevenLabs agent. This uses a PATCH request, so any fields you omit are left unchanged. Only touches prompt text and first_message — does not affect voice, LLM model, or other settings. Args: - agent_id: The agent ID - prompt: New system prompt text (omit to leave unchanged) - first_message: New first message (omit to leave unchanged) Returns: Confirmation with the updated agent name.
⚠️ This modifies a LIVE agent's configuration. Confirm with the user before calling. Update voice, LLM, temperature, or language settings for an agent. All parameters are optional — only provide the ones you want to change. Omitted values are left unchanged (PATCH semantics).
No permission scopes declared (e.g., 'read:agents', 'write:agents'). Agents cannot determine least-privilege configuration or understand audit implications.
Destructive operations (twelvelabs_delete_kb_doc) lack dry-run or explicit confirmation step. Agents can delete documents without user approval.