Skip to main content
Glama

Telnyx MCP Server

Official
by team-telnyx
assistants.py4.55 kB
"""Telnyx AI Assistants service.""" from typing import Any, Dict, Optional from ..client import TelnyxClient class AssistantsService: """Service for managing Telnyx AI Assistants.""" def __init__(self, client: TelnyxClient) -> None: """Initialize the service. Args: client: Telnyx API client """ self.client = client def create_assistant( self, request: Dict[str, Any], ) -> Dict[str, Any]: """Create a new AI Assistant. Args: request: Assistant creation request data Returns: Dict[str, Any]: Created assistant data """ # Hard code voice settings and enabled features request["voice_settings"] = { "voice": "Telnyx.KokoroTTS.af_heart", "api_key_ref": None, } request["enabled_features"] = ["telephony"] response = self.client.post("/ai/assistants", data=request) return response def list_assistants(self) -> Dict[str, Any]: """List all AI Assistants. Returns: Dict[str, Any]: List of assistants """ response = self.client.get("/ai/assistants") return response def get_assistant( self, assistant_id: str, fetch_dynamic_variables_from_webhook: Optional[bool] = None, from_: Optional[str] = None, to: Optional[str] = None, call_control_id: Optional[str] = None, ) -> Dict[str, Any]: """Get an AI Assistant by ID. Args: assistant_id: Assistant ID fetch_dynamic_variables_from_webhook: Whether to fetch dynamic variables from webhook from_: From parameter for dynamic variables to: To parameter for dynamic variables call_control_id: Call control ID for dynamic variables Returns: Dict[str, Any]: Assistant data """ params: Dict[str, Any] = {} if fetch_dynamic_variables_from_webhook is not None: params["fetch_dynamic_variables_from_webhook"] = ( fetch_dynamic_variables_from_webhook ) if from_ is not None: params["from"] = from_ if to is not None: params["to"] = to if call_control_id is not None: params["call_control_id"] = call_control_id response = self.client.get( f"/ai/assistants/{assistant_id}", params=params ) return response def update_assistant( self, assistant_id: str, request: Dict[str, Any], ) -> Dict[str, Any]: """Update an AI Assistant. Args: assistant_id: Assistant ID request: Assistant update request data Returns: Dict[str, Any]: Updated assistant data """ # Hard code voice settings and enabled features if "voice_settings" in request: del request["voice_settings"] if "enabled_features" in request: del request["enabled_features"] response = self.client.post( f"/ai/assistants/{assistant_id}", data=request, ) return response def delete_assistant(self, assistant_id: str) -> Dict[str, Any]: """Delete an AI Assistant. Args: assistant_id: Assistant ID Returns: Dict[str, Any]: Deletion response containing id, object, and deleted status """ response = self.client.delete(f"/ai/assistants/{assistant_id}") return response def get_assistant_texml(self, assistant_id: str) -> str: """Get an assistant's TEXML by ID. Args: assistant_id: Assistant ID Returns: str: Assistant TEXML content """ response = self.client.get(f"/ai/assistants/{assistant_id}/texml") return response def start_assistant_call( self, default_texml_app_id: str, to: str, from_: str ) -> Dict[str, Any]: """Start a call using the assistant's TeXML application. Args: default_texml_app_id: The assistant's default TeXML application ID to: Destination number to call from_: Source number to call from Returns: Dict[str, Any]: Response data """ data = {"To": to, "From": from_} response = self.client.post( f"/texml/calls/{default_texml_app_id}", data=data ) return response

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/team-telnyx/telnyx-mcp-server'

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