Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Telnyx

de team-telnyxversión 6.29.3i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.team-telnyx/telnyx

Instalar

Resumen

Descripción del creador (original en inglés)

Official TypeScript library for the Telnyx API

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Herramientas para desarrolladores
  • Debes completar: TELNYX_API_KEY

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "telnyx": {
      "command": "npx",
      "args": [
        "-y",
        "telnyx"
      ],
      "env": {
        "TELNYX_API_KEY": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add telnyx --env TELNYX_API_KEY=your-value -- npx -y telnyx

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "telnyx": {
      "command": "npx",
      "args": [
        "-y",
        "telnyx"
      ],
      "env": {
        "TELNYX_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "telnyx": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "telnyx"
      ],
      "env": {
        "TELNYX_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • TELNYX_API_KEY secreto obligatorio env
    Your Telnyx API key for authentication

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub team-telnyx, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Herramientas para desarrolladoresi

  • Más estrellas que el 0% de los otros 4914 servidores de esta categoría
  • Publicado en el registro más recientemente que el 9% de los otros 4914 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 4914 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Telnyx?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: TELNYX_API_KEY

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (6.29.3) llegó al registro hace 7 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

GitHub

de github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

Computadora o nube★ 34.245MITActualizado hace 4 días
Instalar

Desktop Commander

de wonderwhy-er

MCP server for terminal commands, file operations, and process management

Se ejecuta en tu computadora★ 10.225MITActualizado hace 16 días
Instalar

Cloudflare MCP

de cloudflare

Cloudflare MCP servers

Se ejecuta en la nube★ 4446Apache-2.0Actualizado hace 14 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

Telnyx TypeScript API Library

))](https://npmjs.org/package/telnyx)

This library provides convenient access to the Telnyx REST API from server-side TypeScript or JavaScript.

The full API of this library can be found in api.md.

It is generated with Stainless.

MCP Server

Use the Telnyx MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.

Note: You may need to set environment variables in your MCP client.

Installation

npm install telnyx

Usage

The full API of this library can be found in api.md.

import Telnyx from 'telnyx';

const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted });

const response = await client.calls.dial({ connection_id: 'conn12345', from: '+15557654321', to: '+15551234567', webhook_url: 'https://your-webhook.url/events', });

console.log(response.data);

Examples

Runnable examples are available for:

  • Searching available phone numbers
  • Sending messages
  • Receiving messaging webhooks
  • Verifying webhook signatures
  • Call Control
  • AI, addresses, and connections
Search for and order a phone number
const { data: availableNumbers } = await client.availablePhoneNumbers.list({

filter: { country_code: 'US', national_destination_code: '312', limit: 1, }, });

const phoneNumber = availableNumbers?.[0]?.phone_number; if (!phoneNumber) throw new Error('No phone numbers found');

const { data: order } = await client.numberOrders.create({ phone_numbers: [{ phone_number: phoneNumber }], });

Send an SMS
const { data: message } = await client.messages.send({

from: '+15551234567', to: '+15557654321', text: 'Hello from Telnyx!', });

Start a Call Control call
const { data: call } = await client.calls.dial({

connection_id: 'your-connection-id', from: '+15551234567', to: '+15557654321', webhook_url: 'https://example.com/webhooks', });

Verify an inbound webhook

Configure the client with your Telnyx public key and pass the exact raw request body to unwrap. Parsing or re-serializing the body before verification invalidates the signature.

const webhookClient = new Telnyx({

apiKey: process.env['TELNYX_API_KEY'], publicKey: process.env['TELNYX_PUBLIC_KEY'], });

const event = webhookClient.webhooks.unwrap(rawBody, { headers: requestHeaders, });

See the complete Express webhook verification example for raw-body handling and error responses.

Mint a WebRTC login token locally

A WebRTC client logs in with a token for a telephony credential. Instead of asking the API for one per login (createToken), your backend can sign it itself from the credential's token_material, with no request to Telnyx per token:

// Once, when the user is set up: create the credential and ask for the signing material.

const { data: credential } = await client.telephonyCredentials.create({ connection_id: '1234567890', include: 'token_material', }); // Store these with the user, server side: the token is built from all of them. await db.save(userId, { id: credential.id, user_id: credential.user_id, sip_username: credential.sip_username, expires_at: credential.expires_at, token_material: credential.token_material, });

// On every login, with no request to Telnyx: const loginToken = await client.telephonyCredentials.toJwt(credential, { ttl: 3600 }); // or later, from the stored values: const loginTokenFromStore = await client.telephonyCredentials.toJwt(await db.load(userId), { ttl: 3600 });

The API returns token_material only when include: 'token_material' is passed. For a credential created without it, or retrieved later, toJwt fetches the material once with retrieveTokenMaterial. token_material is as sensitive as the SIP password: keep it on the server. See the WebRTC login token example.

Configure retries

Connection failures and retryable HTTP responses are retried twice by default. Set maxRetries for the client or override it for an individual request:

const retryingClient = new Telnyx({

apiKey: process.env['TELNYX_API_KEY'], maxRetries: 4, });

await retryingClient.messages.send( { from: '+15551234567', to: '+15557654321', text: 'Hello from Telnyx!', }, { maxRetries: 0 }, );

See Handling errors and Retries for details.

Request & Response types

This library includes TypeScript definitions for all request params and response fields. You may import and use them like so:

import Telnyx from 'telnyx';

const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted });

const params: Telnyx.NumberOrderCreateParams = { phone_numbers: [{ phone_number: '+15558675309' }], }; const numberOrder: Telnyx.NumberOrderCreateResponse = await client.numberOrders.create(params);

Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.

File uploads

Request parameters that correspond to file uploads can be passed in many different forms:

  • File (or an object with the same structure)
  • a fetch Response (or an object with the same structure)
  • an fs.ReadStream
  • the return value of our toFile helper
import fs from 'fs';

import Telnyx, { toFile } from 'telnyx';

const client = new Telnyx();

// If you have access to Node fs we recommend using fs.createReadStream(): await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2', file: fs.createReadStream('/path/to/file'), });

// Or if you have the web File API you can pass a File instance: await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2', file: new File(['my bytes'], 'file'), });

// You can also pass a fetch Response: await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2', file: await fetch('https://somesite/file'), });

// Finally, if none of the above are convenient, you can use our toFile helper: await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2', file: await toFile(Buffer.from('my bytes'), 'file'), }); await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2', file: await toFile(new Uint8Array([0, 1, 2]), 'file'), });

Handling errors

When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of APIError will be thrown:

const numberOrder = await client.numberOrders

.create({ phone_numbers: [{ phone_number: '+15558675309' }] }) .catch(async (err) => { if (err instanceof Telnyx.APIError) { console.log(err.status); // 400 console.log(err.name); // BadRequestError console.log(err.headers); // {server: 'nginx', ...} } else { throw err; } });

Error codes are as follows:

Status CodeError Type
400BadRequestError
401AuthenticationError
403PermissionDeniedError
404NotFoundError
422UnprocessableEntityError
429RateLimitError
>=500InternalServerError
N/AAPIConnectionError
Retries

Certain errors will be automatically retried 2 times by default, with a short exponential backoff. Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, and >=500 Internal errors will all be retried by default.

You can use the maxRetries option to configure or disable this:

// Configure the default for all requests:

const client = new Telnyx({ maxRetries: 0, // default is 2 });

// Or, configure per-request: await client.numberOrders.create({ phone_numbers: [{ phone_number: '+15558675309' }] }, { maxRetries: 5, });

Timeouts

Requests time out after 1 minute by default. You can configure this with a timeout option:

// Configure the default for all requests:

const client = new Telnyx({ timeout: 20 * 1000, // 20 seconds (default is 1 minute) });

// Override per-request: await client.numberOrders.create({ phone_numbers: [{ phone_number: '+15558675309' }] }, { timeout: 5 * 1000, });

On timeout, an APIConnectionTimeoutError is thrown.

Note that requests which time out will be retried twice by default.

Auto-pagination

List methods in the Telnyx API are paginated. You can use the for await … of syntax to iterate through items across all pages:

async function fetchAllAccessIPAddressResponses(params) {

const allAccessIPAddressResponses = []; // Automatically fetches more pages as needed. for await (const accessIPAddressResponse of client.accessIPAddress.list({ 'page[number]': 1, 'page[size]': 50, })) { allAccessIPAddressResponses.push(accessIPAddressResponse); } return allAccessIPAddressResponses; }

Alternatively, you can request a single page at a time:

let page = await client.accessIPAddress.list({ 'page[number]': 1, 'page[size]': 50 });

for (const accessIPAddressResponse of page.data) { console.log(accessIPAddressResponse); }

// Convenience methods are provided for manually paginating: while (page.hasNextPage()) { page = await page.getNextPage(); // ... }

Advanced U

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx