Sinch MCP server
Sinch MCP server. Exposed over MCP by the sinch mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.
This repository contains the source code for the Sinch MCP server, which provides a set of tools to interact with the Sinch APIs. This README focuses on using the MCP server with the Claude Desktop client, but it can also be used with any other MCP client.
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
Everything the assistant can do here goes through one of these:
CONVERSATION_APP_ID — This is the ID of the conversation app you want to use. You can find it in the [Conversation API / AppsCONVERSATION_REGION — This is the region where your conversation app and templates are located. It can be us, eu, or br. If you don't set it, it defaults to usMAILGUN_DOMAIN — MAILGUN_SENDER_ADDRESSsend-text-message — Send a plain text message to a recipient on a supported channel. Example prompt: "Send a quick update to the phone number +33612345678 on SMS."send-media-message — Send an image, video, or document via a media message. Example prompt: "Send the product brochure PDF to the phone number +33612345678 on WhatsApp."send-template-message — Send a message using a predefined template (omni-template only). Example prompt: "Send the appointment reminder template in Spanish to this user onsend-whatsapp-template-message — Send a message using a predefined WhatsApp template. Example prompt: "Send a message using the template "appointment-reminder" on WhatsApp."send-choice-message — Send a message that includes interactive choices (buttons or quick replies). Example prompt: "Send a RCS survey about preferred ice cream flavor tosend-location-message — Send a location pin or coordinates to a user. Example prompt: "Send a pin to the Guggenheim Museum location in Bilbao to the phone numberlist-conversation-apps — List all configured Conversation apps in the Sinch account. Example prompt: "What messaging apps do I have set up in my account?"create-conversation-app — Create a new Conversation API app (no channels required at creation). Example prompt: "Create a Conversation app named My Support Bot in the EUupdate-conversation-app — Update a Conversation API app display name. Example prompt: "Rename Conversation app abc123 to My Support Bot."You will need 8 environment variables: PROJECT_ID, KEY_ID, KEY_SECRET, CONVERSATION_APP_ID, CONVERSATION_REGION, DEFAULT_SMS_ORIGINATOR, GEOCODING_API_KEY, APPLICATION_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
This sits in the team communication group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Sinch's toolset — CONVERSATION_APP_ID, CONVERSATION_REGION, MAILGUN_DOMAIN and 11 more — is a fair guide to whether it matches your workflow. It is maintained by sinch; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| CONVERSATION_APP_ID | This is the ID of the conversation app you want to use. You can find it in the [Conversation API / Apps section](https://dashboard.sinch.com/convapi/apps) of the Sinch Build dashboard. If you don't set it, you will have |
| CONVERSATION_REGION | This is the region where your conversation app and templates are located. It can be us, eu, or br. If you don't set it, it defaults to us. |
| MAILGUN_DOMAIN | MAILGUN_SENDER_ADDRESS |
| send-text-message | Send a plain text message to a recipient on a supported channel. _Example prompt_: "Send a quick update to the phone number +33612345678 on SMS." |
| send-media-message | Send an image, video, or document via a media message. _Example prompt_: "Send the product brochure PDF to the phone number +33612345678 on WhatsApp." |
| send-template-message | Send a message using a predefined template (omni-template only). _Example prompt_: "Send the appointment reminder template in Spanish to this user on Messenger." |
| send-whatsapp-template-message | Send a message using a predefined WhatsApp template. _Example prompt_: "Send a message using the template "appointment-reminder" on WhatsApp." |
| send-choice-message | Send a message that includes interactive choices (buttons or quick replies). _Example prompt_: "Send a RCS survey about preferred ice cream flavor to +33612345678 with the following choices: Vanilla, Strawberry, Hazelnut |
| send-location-message | Send a location pin or coordinates to a user. _Example prompt_: "Send a pin to the Guggenheim Museum location in Bilbao to the phone number +33612345678." |
| list-conversation-apps | List all configured Conversation apps in the Sinch account. _Example prompt_: "What messaging apps do I have set up in my account?" |
| create-conversation-app | Create a new Conversation API app (no channels required at creation). _Example prompt_: "Create a Conversation app named My Support Bot in the EU region." |
| update-conversation-app | Update a Conversation API app display name. _Example prompt_: "Rename Conversation app abc123 to My Support Bot." |
| delete-conversation-app | Delete a Conversation API app by ID. _Example prompt_: "Delete Conversation app abc123." |
| set-sms-channel-on-app | Set (create or replace) the SMS channel on a Conversation app. _Example prompt_: "Set SMS on app abc123 using service plan XYZ and API token …" |
{
"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": ""
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| PROJECT_ID | Configuration value read at startup. | Optional |
| KEY_ID | Credential the server authenticates with. | Yes |
| KEY_SECRET | Credential the server authenticates with. | Yes |
| CONVERSATION_APP_ID | Configuration value read at startup. | Optional |
| CONVERSATION_REGION | Configuration value read at startup. | Optional |
| DEFAULT_SMS_ORIGINATOR | Configuration value read at startup. | Optional |
| GEOCODING_API_KEY | Credential the server authenticates with. | Yes |
| APPLICATION_KEY | Credential the server authenticates with. | Yes |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.