Skip to main content
Glama

get_conversation

Retrieve conversation details and full transcripts from the ElevenLabs MCP Server for analyzing completed agent interactions.

Instructions

Gets conversation with transcript. Returns: conversation details and full transcript. Use when: analyzing completed agent conversations.

Args:
    conversation_id: The unique identifier of the conversation to retrieve, you can get the ids from the list_conversations tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
conversation_idYes

Implementation Reference

  • The handler function for the 'get_conversation' MCP tool. It fetches the conversation by ID using the ElevenLabs client, parses the transcript, formats details including metadata and analysis, and returns a TextContent response.
    @mcp.tool(
        description="""Gets conversation with transcript. Returns: conversation details and full transcript. Use when: analyzing completed agent conversations.
    
        Args:
            conversation_id: The unique identifier of the conversation to retrieve, you can get the ids from the list_conversations tool.
        """
    )
    def get_conversation(
        conversation_id: str,
    ) -> TextContent:
        """Get conversation details with transcript"""
        try:
            response = client.conversational_ai.conversations.get(conversation_id)
    
            # Parse transcript using utility function
            transcript, _ = parse_conversation_transcript(response.transcript)
    
            response_text = f"""Conversation Details:
    ID: {response.conversation_id}
    Status: {response.status}
    Agent ID: {response.agent_id}
    Message Count: {len(response.transcript)}
    
    Transcript:
    {transcript}"""
    
            if response.metadata:
                metadata = response.metadata
                duration = getattr(
                    metadata,
                    "call_duration_secs",
                    getattr(metadata, "duration_seconds", "N/A"),
                )
                started_at = getattr(
                    metadata, "start_time_unix_secs", getattr(metadata, "started_at", "N/A")
                )
                response_text += (
                    f"\n\nMetadata:\nDuration: {duration} seconds\nStarted: {started_at}"
                )
    
            if response.analysis:
                analysis_summary = getattr(
                    response.analysis, "summary", "Analysis available but no summary"
                )
                response_text += f"\n\nAnalysis:\n{analysis_summary}"
    
            return TextContent(type="text", text=response_text)
    
        except Exception as e:
            make_error(f"Failed to fetch conversation: {str(e)}")
            # satisfies type checker
            return TextContent(type="text", text="")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/projectservan8n/elevenlabs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server