Sinch MCP Server
OfficialServidor MCP de Sinch — Vista previa para desarrolladores
Este repositorio contiene el código fuente del servidor MCP de Sinch, que proporciona un conjunto de herramientas para interactuar con las API de Sinch. Este archivo README se centra en el uso del servidor MCP con el cliente Claude Desktop, pero también puede utilizarse con cualquier otro cliente MCP.
Descripción general de las herramientas
Aquí está la lista de herramientas disponibles en el servidor MCP (todos los números de teléfono deben proporcionarse en formato E.164, p. ej., +33612345678 para Francia).
Herramientas de conversación
Herramienta | Descripción | Etiquetas |
send-text-message | Envía un mensaje de texto plano a un destinatario en un canal compatible. Ejemplo de prompt: "Envía una actualización rápida al número de teléfono +33612345678 por SMS." | conversation, notification |
send-media-message | Envía una imagen, vídeo o documento a través de un mensaje multimedia. Ejemplo de prompt: "Envía el PDF del folleto del producto al número de teléfono +33612345678 por WhatsApp." | conversation, notification |
send-template-message | Envía un mensaje utilizando una plantilla predefinida (solo omni-template). Ejemplo de prompt: "Envía la plantilla de recordatorio de cita en español a este usuario por Messenger." | conversation, notification |
send-whatsapp-template-message | Envía un mensaje utilizando una plantilla de WhatsApp predefinida. Ejemplo de prompt: "Envía un mensaje usando la plantilla "appointment-reminder" en WhatsApp." | conversation, notification |
send-choice-message | Envía un mensaje que incluye opciones interactivas (botones o respuestas rápidas). Ejemplo de prompt: "Envía una encuesta RCS sobre el sabor de helado preferido al +33612345678 con las siguientes opciones: Vainilla, Fresa, Avellana". | conversation, notification |
send-location-message | Envía un pin de ubicación o coordenadas a un usuario. Ejemplo de prompt: "Envía un pin a la ubicación del Museo Guggenheim en Bilbao al número de teléfono +33612345678." | conversation, notification |
list-conversation-apps | Enumera todas las aplicaciones de conversación configuradas en la cuenta de Sinch. Ejemplo de prompt: "¿Qué aplicaciones de mensajería tengo configuradas en mi cuenta?" | conversation, notification |
list-messaging-templates | Enumera todas las plantillas de mensajes omnicanal y específicas de canal. Ejemplo de prompt: "Muéstrame todas las plantillas de mensajes en mi cuenta." | conversation, notification |
Herramientas de correo electrónico (Mailgun)
Herramienta | Descripción | Etiquetas |
send-email | Envía un correo electrónico utilizando una plantilla HTML predefinida o contenido HTML/texto sin formato. Ejemplo de prompt: "Envía un correo de bienvenida a john@example.com usando nuestra plantilla de incorporación." | email, notification |
list-email-templates | Enumera todas las plantillas de correo electrónico disponibles para un dominio específico. Ejemplo de prompt: "¿Qué plantillas de correo electrónico tengo disponibles?" | email, notification |
retrieve-email-info | Recupera metadatos, contenido y estado de entrega de un mensaje de correo electrónico específico. Ejemplo de prompt: "¿Puedes obtener el estado de entrega del correo electrónico con ID ?" | email, notification |
list-email-events | Recupera y agrupa eventos recientes de entrega de correo electrónico, como rebotes, aperturas o clics. Ejemplo de prompt: "Muéstrame toda la actividad reciente de correo electrónico de mi cuenta." | |
analytics-metrics | Recupera métricas de análisis de correo electrónico, como tasas de apertura o tasas de clics. Ejemplo de prompt: "¿Cuáles son las tasas de apertura durante la última semana?" |
Herramientas de verificación
Herramienta | Descripción | Etiquetas |
number-lookup | Busca un número de teléfono para conocer su estado y capacidades. Ejemplo de prompt: "Busca las capacidades del siguiente número de teléfono: +33501020304." | verification |
start-sms-verification | Inicia una verificación por SMS enviando una OTP al número de teléfono de un usuario. Ejemplo de prompt: "Inicia la verificación telefónica para el número +33612345678." | verification |
report-sms-verification | Envía una contraseña de un solo uso (OTP) para completar la verificación por SMS. Ejemplo de prompt: "Verifica el número de teléfono con este código: 1234." | verification |
Herramientas de voz
Herramienta | Descripción | Etiquetas |
tts-callout | Realiza una llamada de voz y lee en voz alta un mensaje utilizando texto a voz (TTS). Ejemplo de prompt: "Llama al número de teléfono +33612345678 y di: 'Tu cita es mañana a las 10 AM'." | voice, notification |
conference-callout | Inicia una llamada de voz a uno o más participantes y los conecta a una conferencia compartida. Ejemplo de prompt: "Llama a John (+33612345678) y a Lisa (+34987654321) y conéctalos a una sala de conferencias." | voice |
manage-conference-participant | Silencia, reactiva el sonido, pone en espera o reanuda a un participante individual en una llamada de conferencia. Ejemplo de prompt: "Silencia al llamante con ID xyz789 en la conferencia." | voice |
close-conference | Finaliza una llamada de conferencia desconectando a todos los participantes utilizando el ID de la conferencia. Ejemplo de prompt: "Finaliza la llamada de conferencia actual con ID abc123." | voice |
Herramientas de números
Herramienta | Descripción | Etiquetas |
list-available-regions | Enumera todas las regiones donde hay números de teléfono disponibles para el proyecto. Se puede filtrar por tipo de número (MOBILE, LOCAL, TOLL_FREE). Ejemplo de prompt: "¿Qué regiones tienen números gratuitos disponibles?" | numbers |
list-rented-numbers | Enumera todos los números de teléfono activos (alquilados) para el proyecto. Se puede filtrar por región, tipo, patrón y capacidad. Ejemplo de prompt: "Muéstrame todos mis números de teléfono activos en EE. UU." | numbers |
search-for-available-numbers | Busca números de teléfono disponibles para alquilar, con filtros por región, tipo, patrón y capacidades. Ejemplo de prompt: "Encuentra números locales disponibles en EE. UU. que admitan SMS." | numbers |
rent-sinch-virtual-numbers | Alquila (activa) uno o más números de teléfono proporcionándolos en formato E.164. Ejemplo de prompt: "Alquila el número de teléfono +12025551234." | numbers |
Herramientas de configuración
Herramienta | Descripción | Etiquetas |
sinch-mcp-configuration | Enumera todas las herramientas disponibles en el servidor MCP de Sinch y su estado. Si una herramienta está deshabilitada, mostrará el motivo. Ejemplo de prompt: "¿Qué herramientas están disponibles en el servidor MCP de Sinch?" |
Related MCP server: Twilio MCP Server
Introducción
Requisitos previos
Una cuenta de Sinch Build aprovisionada
Claude Desktop (o cualquier otro cliente MCP). Este README se centra en Claude Desktop, pero el servidor MCP puede utilizarse con cualquier cliente MCP.
Credenciales de API
Para utilizar las API empleadas por las herramientas MCP, necesitará las siguientes credenciales:
Credenciales de la API de Conversación / Números:
(Obligatorio)
PROJECT_ID: Seleccione el proyecto que desea utilizar desde su panel de control de Sinch Build (ubicado a la izquierda de la barra de herramientas superior)
(Obligatorio)
KEY_ID: Seleccione o cree una nueva clave de acceso en la sección de claves de acceso del panel de control de Sinch Build.(Obligatorio)
KEY_SECRET: Este es el secreto asociado con laAccess Keyque seleccionó o creó en el paso anterior. Tenga cuidado, elAccess Key Secretsolo se muestra una vez cuando crea laAccess Key. Si lo pierde, deberá crear una nuevaAccess Key.CONVERSATION_APP_ID: Este es el ID de la aplicación de conversación que desea utilizar. Puede encontrarlo en la sección de aplicaciones de la API de Conversación del panel de control de Sinch Build. Si no lo configura, deberá especificarlo en el prompt.CONVERSATION_REGION: Esta es la región donde se encuentran su aplicación de conversación y sus plantillas. Puede serus,euobr. Si no lo configura, el valor predeterminado esus.Al utilizar el canal SMS, también puede configurar la variable de entorno
DEFAULT_SMS_ORIGINATORcon el número de teléfono que se utilizará como remitente para los mensajes SMS. Dependiendo de su país, esta configuración puede ser obligatoria.También puede configurar la variable de entorno
GEOCODING_API_KEYcon su clave de API de Google Geocoding si desea utilizar la función de ubicación. Esto es necesario para convertir una dirección en un par de latitud/longitud.
Credenciales de la API de Verificación: navegue a la sección de aplicaciones de Verificación del panel de control de Sinch Build y cree una nueva aplicación o seleccione una existente. Necesitará las siguientes credenciales:
(Obligatorio)
APPLICATION_KEY(Obligatorio)
APPLICATION_SECRET
Credenciales de la API de Voz: navegue a la sección de aplicaciones de Voz del panel de control de Sinch Build y cree una nueva aplicación o seleccione una existente. Necesitará las siguientes credenciales:
(Obligatorio)
APPLICATION_KEY(Obligatorio)
APPLICATION_SECRETTambién puede configurar la variable de entorno
CALLING_LINE_IDENTIFICATIONcon el número de teléfono que se mostrará al usuario cuando reciba una llamada.
Credenciales de la API de Mailgun: navegue a la sección de dominios de Mailgun del panel de control de Mailgun y cree un nuevo dominio o seleccione uno existente. Necesitará las siguientes credenciales:
(Obligatorio)
MAILGUN_API_KEYMAILGUN_DOMAINMAILGUN_SENDER_ADDRESS
Configuración del servidor MCP
El servidor MCP de Sinch está disponible como un paquete NPM para ser ejecutado. Aquí le explicamos cómo configurarlo en el archivo de configuración de Claude Desktop (claude_desktop_config.json). Recuerde completar las variables de entorno con sus propias credenciales:
{
"mcpServers": {
"sinch": {
"command": "npx",
"args": [
"-y",
"@sinch/mcp"
],
"env": {
"PROJECT_ID": "",
"KEY_ID": "",
"KEY_SECRET": "",
"CONVERSATION_APP_ID": "",
"CONVERSATION_REGION": "",
"DEFAULT_SMS_ORIGINATOR": "",
"GEOCODING_API_KEY": "",
"APPLICATION_KEY": "",
"APPLICATION_SECRET": "",
"CALLING_LINE_IDENTIFICATION": "",
"MAILGUN_API_KEY": "",
"MAILGUN_DOMAIN": "",
"MAILGUN_SENDER_ADDRESS": ""
}
}
}
}Ejecución del servidor MCP localmente
Opción 1: Iniciar el servidor MCP con stdio usando Claude Desktop
Para ejecutar el servidor MCP localmente con Claude Desktop, deberá clonar el repositorio y compilar el servidor MCP. Esta opción es útil para el desarrollo y las pruebas locales.
Paso 1: Clonar el repositorio
git clone https://github.com/sinch/sinch-mcp-server.gitPaso 2: Compilar el servidor MCP
cd sinch-mcp-server
npm install
npm run buildPaso 3: Configurar Claude Desktop
Aquí hay un ejemplo de cómo configurar el servidor MCP en el archivo de configuración de Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"sinch": {
"command": "node",
"args": [
"/your/path/to/sinch-mcp-server/dist/index.js"
],
"env": {
"PROJECT_ID": "",
"KEY_ID": "",
"KEY_SECRET": "",
"CONVERSATION_APP_ID": "",
"CONVERSATION_REGION": "",
"DEFAULT_SMS_ORIGINATOR": "",
"GEOCODING_API_KEY": "",
"APPLICATION_KEY": "",
"APPLICATION_SECRET": "",
"CALLING_LINE_IDENTIFICATION": "",
"MAILGUN_API_KEY": "",
"MAILGUN_DOMAIN": "",
"MAILGUN_SENDER_ADDRESS": ""
}
}
}
}Paso 4: (Opcional) Filtrar las herramientas disponibles en el servidor MCP
Demasiadas herramientas significan un contexto más grande, lo que implica un mayor uso de tokens y más confusión para que el LLM seleccione la herramienta correcta a utilizar.
Puede filtrar las herramientas que están disponibles en el servidor MCP utilizando las opciones de tags. Por ejemplo, si solo desea utilizar las herramientas de conversación, puede añadir las siguientes opciones a la matriz args:
"args": [
"/your/path/to/sinch-mcp-server/dist/index.js",
"--tags",
"conversation"
],Puede combinar varias etiquetas separándolas con comas. Por ejemplo, si desea utilizar tanto las herramientas de conversación como las de verificación, puede utilizar el siguiente comando:
"args": [
"/your/path/to/sinch-mcp-server/dist/index.js",
"--tags",
"conversation,verification"
],Si desea utilizar todas las herramientas, puede omitir la opción --tags o utilizar la etiqueta all:
"args": [
"/your/path/to/sinch-mcp-server/dist/index.js",
"--tags",
"all"
],Opción 2: Iniciar el servidor MCP de forma remota y conectarse a él mediante SSE
Con esta opción, puede ejecutar el servidor MCP en una máquina remota y conectarse a él mediante Server-Sent Events (SSE). Esto es útil si desea ejecutar el servidor MCP en un servidor en la nube o en una máquina dedicada. De forma predeterminada, Claude Desktop se conectará al servidor MCP mediante STDIO; utilizaremos la biblioteca supergateway para conectarnos al servidor MCP mediante SSE.
Paso 1: Compilar el servidor MCP
cd sinch-mcp-server
npm install
npm run buildPaso 2: Configurar el servidor MCP
Copie el archivo .template.env y cámbiele el nombre a .env. Luego, reemplace los marcadores de posición con sus propias credenciales y elimine cualquier clave que no necesite. El archivo .env debería verse así ():
# Conversation / Numbers tools related environment variables
PROJECT_ID=
KEY_ID=
KEY_SECRET=
## Optional but recommended: the App ID holding your channels integration configuration. If not set it must be present in the prompt
CONVERSATION_APP_ID=
## Optional, defaults to "us". Other possible values are "eu" and "br"
CONVERSATION_REGION=
## Needed only if you want to send SMS messages: it is the number that will be used as the sender for SMS messages
DEFAULT_SMS_ORIGINATOR=
## Needed only if you want to send location messages: it converts an address to a latitude/longitude pair
GEOCODING_API_KEY=
# Verification / Voice tools related environment variables
APPLICATION_KEY=
APPLICATION_SECRET=
## Needed only if you want to make calls: it is the number that will be displayed to the user when they receive a call
CALLING_LINE_IDENTIFICATION=
# Mailgun tools related environment variables
MAILGUN_DOMAIN=
MAILGUN_API_KEY=
MAILGUN_SENDER_ADDRESS=Paso 3: Iniciar el servidor MCP
npm run start:stdioDe forma predeterminada, este comando iniciará el MCP con todas las herramientas disponibles. Si desea filtrar las herramientas que están disponibles en el servidor MCP, puede utilizar la opción --tags. Por ejemplo, si solo desea utilizar las herramientas de conversación, puede modificar el comando de la siguiente manera:
# Original command
"start:sse": "tsc --project tsconfig.build.json && (npx -y supergateway --stdio \"node dist/index.js\" --port 8000 --baseUrl http://localhost:8000 --ssePath /sse --messagePath /message)"
# Modified command to only use conversation tools
"start:sse": "tsc --project tsconfig.build.json && (npx -y supergateway --stdio \"node dist/index.js --tag conversation\" --port 8000 --baseUrl http://localhost:8000 --ssePath /sse --messagePath /message)"Puede combinar varias etiquetas separándolas con comas. Por ejemplo, si desea utilizar tanto las herramientas de conversación como las de verificación, puede utilizar el siguiente comando:
"start": "tsc --project tsconfig.build.json && (npx -y supergateway --stdio \"node dist/index.js --tag conversation,verification\" --port 8000 --baseUrl http://localhost:8000 --ssePath /sse --messagePath /message)"Paso 4: Configurar el servidor MCP en Claude Desktop
A continuación, puede configurar el servidor MCP en el archivo de configuración de Claude de la siguiente manera:
{
"mcpServers": {
"sinch": {
"command": "npx",
"args": [
"-y", "supergateway", "--sse", "http://localhost:8000/sse"
]
}
}
}(Reemplace http://localhost:8000/sse con la URL de su servidor MCP si no se está ejecutando localmente)
Contribución: Definición de nuevas herramientas
Las herramientas se registran en el archivo src/index.ts.
Herramientas de conversación: enviar
Available Tools
1 toolsinch-mcp-configurationA
This tool allows you to retrieve the configuration of the Sinch MCP server. It provides information about which tools are enabled and disabled with some troubleshooting information about why a tool would be disabled.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool retrieves configuration and troubleshooting data, implying it's a read-only operation without side effects. However, it doesn't specify behavioral traits like rate limits, authentication needs, or response format, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the main purpose in the first sentence and adding useful details in the second. Both sentences earn their place by clarifying the tool's function and output, with no wasted words or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is adequate but has gaps. It explains what the tool does and the type of information returned, but without an output schema, it doesn't detail the structure or format of the configuration data, which could hinder agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it appropriately focuses on the tool's purpose without redundant information, meeting the baseline for no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'retrieve the configuration of the Sinch MCP server' with specific details about what information is provided ('which tools are enabled and disabled with some troubleshooting information'). It distinguishes itself by focusing on server configuration rather than performing operations, though there are no sibling tools for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'troubleshooting information about why a tool would be disabled,' suggesting it should be used for diagnostic purposes. However, it lacks explicit guidance on when to use this tool versus alternatives or any prerequisites, as there are no sibling tools to compare against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
sinch-mcp-configuration
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a single, clear purpose described in its name and description.
The single tool name follows a consistent pattern of 'sinch-mcp-configuration', which is descriptive and aligns with the server's purpose. There are no other tools to compare against, so consistency is inherently perfect.
A single tool for a server named 'Sinch MCP Server' suggests a very limited scope. While it might be appropriate for a minimal configuration server, it feels thin and underdeveloped for a general-purpose server, indicating potential gaps in functionality.
The tool only provides configuration retrieval, which is a meta-operation about the server itself. There are no tools for actual Sinch-related operations (e.g., sending messages, managing contacts), making the surface severely incomplete for any practical use case beyond server introspection.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Send and schedule SMS and WhatsApp messages, manage contacts and templates, and track delivery.
Send and receive across email, SMS, WhatsApp, and voice. One API, one contract.
Send, search, and manage notifications, accounts, and push preferences
Related MCP Servers
FlicenseBqualityFmaintenanceEnables interaction with Telnyx's telephony, messaging, and AI assistant APIs to manage phone numbers, send messages, make calls, and create AI assistants. Includes webhook support for real-time event handling and comprehensive tools for voice, SMS, cloud storage, and embeddings.4625-- AlicenseNot gradedqualityNot gradedmaintenanceEnables communication through Twilio's API including sending SMS/WhatsApp messages, making phone calls, and managing phone numbers and account settings. Provides comprehensive messaging and voice capabilities with proper authentication and rate limiting.-
- AlicenseNot gradedqualityDmaintenanceProvides a standardized interface for interacting with WhatsApp's tools and services through a unified API.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with WhatsApp Business tools and services through a unified API.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sinch/sinch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server