The Telnyx MCP connector routes your AI agent's tool calls to Telnyx's own MCP server through Scalekit. Each user signs in to Telnyx once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 6 tools.
- Tools
- 6
- What they doRead · write · destructive
- 5 · 0 · 15 read0 write1 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Telnyx MCP connection
In AgentKit > Connections, create a Telnyx MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Telnyx MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'telnyxmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Telnyx MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'telnyxmcp_list_api_endpoints',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "telnyxmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Telnyx MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="telnyxmcp_list_api_endpoints",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltelnyxmcp_get_api_endpoint_schemaGet the JSON schema for a named Telnyx API endpoint.Read-onlyGetApiEndpointSchema
Get the JSON schema for a named Telnyx API endpoint. Call this after finding an endpoint with list_api_endpoints; the returned schema tells you which arguments invoke_api_endpoint expects.
Inputs
endpointstringrequired- The name of the endpoint to get the schema for, as returned by list_api_endpoints.
telnyxmcp_list_api_endpointsList or search all endpoints in the Telnyx API.Read-onlyListApiEndpoints
List or search all endpoints in the Telnyx API. Use this to discover available endpoints by name, resource, operation, or tag before fetching an endpoint's schema with get_api_endpoint_schema and invoking it with invoke_api_endpoint.
Inputs
search_querystring- Optional search query to filter endpoints. Provide a partial name, resource, operation, or tag (e.g. 'messages', 'phone numbers', 'create call').
telnyxmcp_open_number_intelligenceOpen the Telnyx Number Intelligence MCP App for phone number lookup, validation, and enrichment workflows.Read-onlyOpenNumberIntelligence
Open the Telnyx Number Intelligence MCP App for phone number lookup, validation, and enrichment workflows.
Inputs
actionstring- Optional no-op app opener action; omit to open the app.one of
opendefaultopen
telnyxmcp_open_usage_cost_explorerOpen the Telnyx Usage & Cost Explorer MCP App for usage and cost analysis.Read-onlyOpenUsageCostExplorer
Open the Telnyx Usage & Cost Explorer MCP App for usage and cost analysis.
Inputs
actionstring- Optional no-op app opener action; omit to open the app.one of
opendefaultopen
telnyxmcp_open_voice_monitorOpen the Telnyx Voice Monitor MCP App for observing and troubleshooting voice traffic.Read-onlyOpenVoiceMonitor
Open the Telnyx Voice Monitor MCP App for observing and troubleshooting voice traffic.
Inputs
actionstring- Optional no-op app opener action; omit to open the app.one of
opendefaultopen
telnyxmcp_invoke_api_endpointInvoke any Telnyx API endpoint by name.DestructiveInvokeApiEndpoint
Invoke any Telnyx API endpoint by name. This is a generic executor that dispatches to the underlying Telnyx REST API: first find the endpoint with list_api_endpoints, fetch its argument schema with get_api_endpoint_schema, then call this tool with the endpoint name and matching args. Can perform writes (create, update, delete), so use with care.
Inputs
argsobjectrequired- Arguments for the endpoint, matching the schema returned by get_api_endpoint_schema. Pass as a JSON object of parameter names to values.
endpoint_namestringrequired- The name of the Telnyx API endpoint to invoke, as returned by list_api_endpoints.
No tools match.