Sinch MCP Server

Sinch MCP server

Local serverstdio

What is the 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.

What it actually does

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.

Adding it to your 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.

Its toolset

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 / Apps
  • 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
  • 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
  • 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
  • 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
  • update-conversation-app — Update a Conversation API app display name. Example prompt: "Rename Conversation app abc123 to My Support Bot."

Configuration

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.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Sinch.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the sinch mcp server does with a few real requests.

When to reach for it

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.

Available tools

ToolWhat it does
CONVERSATION_APP_IDThis 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_REGIONThis 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_DOMAINMAILGUN_SENDER_ADDRESS
send-text-messageSend 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-messageSend 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-messageSend 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-messageSend a message using a predefined WhatsApp template. _Example prompt_: "Send a message using the template "appointment-reminder" on WhatsApp."
send-choice-messageSend 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-messageSend 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-appsList all configured Conversation apps in the Sinch account. _Example prompt_: "What messaging apps do I have set up in my account?"
create-conversation-appCreate 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-appUpdate a Conversation API app display name. _Example prompt_: "Rename Conversation app abc123 to My Support Bot."
delete-conversation-appDelete a Conversation API app by ID. _Example prompt_: "Delete Conversation app abc123."
set-sms-channel-on-appSet (create or replace) the SMS channel on a Conversation app. _Example prompt_: "Set SMS on app abc123 using service plan XYZ and API token …"

How to install the Sinch MCP server

{
  "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.

Configuration

VariableDescriptionRequired
PROJECT_IDConfiguration value read at startup.Optional
KEY_IDCredential the server authenticates with.Yes
KEY_SECRETCredential the server authenticates with.Yes
CONVERSATION_APP_IDConfiguration value read at startup.Optional
CONVERSATION_REGIONConfiguration value read at startup.Optional
DEFAULT_SMS_ORIGINATORConfiguration value read at startup.Optional
GEOCODING_API_KEYCredential the server authenticates with.Yes
APPLICATION_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Sinch to CONVERSATION APP ID.
  • Use Sinch to CONVERSATION REGION.
  • Use Sinch to MAILGUN DOMAIN.

Frequently asked questions

It connects Sinch to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (CONVERSATION_APP_ID, CONVERSATION_REGION, MAILGUN_DOMAIN, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Sinch directly.