Sinch MCP Server

Sinch MCP server

Local serverstdio

What is the Sinch MCP Server?

Sinch MCP server

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.

Configuration

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
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 +336123456
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 …"
set-rcs-channel-on-appSet (create or replace) the RCS channel on a Conversation app. _Example prompt_: "Set RCS on app abc123 with sender ID … and bearer token …"
set-whatsapp-channel-on-appSet (create or replace) the WhatsApp channel on a Conversation app. _Example prompt_: "Set WhatsApp on app abc123 with sender ID … and bearer token …"
list-messaging-templatesList the omni-channel message templates (managed by Sinch) for the configured region. WhatsApp-specific templates can be fetched with the list-whatsapp-template
list-webhooksList webhooks configured for a Conversation app. _Example prompt_: "List all webhooks for my Conversation app."
get-webhookGet a webhook by ID. _Example prompt_: "Show me the details of webhook ID abc123."
create-webhookCreate a webhook that delivers Conversation API events to a target URL. _Example prompt_: "Create a webhook for inbound messages at https://example.com/callback
update-webhookUpdate a webhook target URL and/or triggers. _Example prompt_: "Update webhook abc123 to also receive MESSAGE_DELIVERY events."
delete-webhookDelete a webhook by ID. _Example prompt_: "Delete webhook abc123."
send-emailSend an email using a predefined HTML template or raw HTML/text content. _Example prompt_: "Send a welcome email to john@example.com using our onboarding templa
list-email-templatesList all email templates available for a specific domain. _Example prompt_: "What email templates do I have available?"
retrieve-email-infoRetrieve metadata, content and delivery status for a specific email message. _Example prompt_: "Can you get the delivery status of the email with ID ?"
list-email-eventsRetrieve and group recent email delivery events, such as bounces, opens, or clicks. _Example prompt_: "Show me all recent email activity for my account."
analytics-metricsRetrieve email analytics metrics, such as open rates or click-through rates. _Example prompt_: "What are the open rates during the last week?"
number-lookupLookup a phone number for its status and capabilities. _Example prompt_: "Lookup for the following phone number capabilities: +33501020304."
start-sms-verificationInitiate an SMS verification by sending an OTP to a user's phone number. _Example prompt_: "Start phone verification for the number +33612345678."
report-sms-verificationSubmit a one-time password (OTP) to complete SMS verification. _Example prompt_: "Verify the phone number with this code: 1234."
tts-calloutPlace a voice call and read aloud a message using Text-to-Speech. _Example prompt_: "Call the phone number +33612345678 and say: 'Your appointment is tomorrow a
conference-calloutStart a voice call to one or more participants and connect them to a shared conference. _Example prompt_: "Call John (+33612345678) and Lisa (+34987654321) and
manage-conference-participantMute, unmute, hold, or resume an individual participant in a conference call. _Example prompt_: "Mute the caller with ID xyz789 in the conference."
close-conferenceEnd a conference call by disconnecting all the participants using the ID of the conference. _Example prompt_: "End the current conference call with ID abc123."
get-call-informationGet information about a call using its ID. _Example prompt_: "Get the details of call ID abc123."
list-rcs-sendersList all RCS senders for the project, with pagination support. _Example prompt_: "Show me all my RCS senders."
get-rcs-senderGet a full RCS sender by ID, including credentials, state, brand details, test numbers, and country status. _Example prompt_: "Get the details of my RCS sender
create-rcs-senderCreate a new RCS sender. Brand details, questionnaire, and countries can be provided upfront or added incrementally via update-rcs-sender. _Example prompt_: "Cr
update-rcs-senderUpdate an RCS sender's brand, countries, test numbers, or questionnaire. _Example prompt_: "Update my RCS sender abc123 with the brand logo URL."
launch-rcs-senderSubmit an RCS sender for Google and carrier review. All brand details, countries, and questionnaire sections must be complete before launching. _Example prompt_
add-rcs-test-numberAdd test phone numbers to an RCS sender (max 20 per request, 200 total per sender). _Example prompt_: "Add +14155552671 as a test number to my RCS sender."
delete-rcs-test-numberDelete a test number from an RCS sender. _Example prompt_: "Remove test number +14155552671 from my RCS sender."
resend-rcs-test-number-inviteResend a test number invite when state is PENDING or UNVERIFIED. _Example prompt_: "Resend the invite for test number +14155552671 on sender abc123."
get-rcs-test-number-stateGet the verification state of a single RCS test number. _Example prompt_: "What is the state of test number +14155552671 on sender abc123?"
get-rcs-number-capabilitiesGet the RCS features supported by a test number's device (actions, rich card layouts, revocation). _Example prompt_: "What RCS features does +14155552671 suppor
get-whatsapp-accountGet the WhatsApp Business Account (WABA) of the project: onboarding state, WABA ID, business details, ban state, daily message limit and compatible regions. _Ex
list-whatsapp-templatesList the WhatsApp channel-specific message templates (managed by Meta). Omni-channel templates can be fetched with the list-messaging-templates tool. _Example p
create-whatsapp-templateCreate a WhatsApp message template, as a draft or submitted for review. _Example prompt_: "Create a WhatsApp UTILITY template named order_confirmation in Englis
update-whatsapp-templateUpdate a WhatsApp message template draft (or reset an APPROVED/REJECTED/PAUSED/DISABLED template to draft) by name and language. _Example prompt_: "Update the o
delete-single-whatsapp-template-languageDelete a single language variant of a WhatsApp message template by name and language — other languages of the same template name are unaffected. _Example prompt
delete-all-whatsapp-template-languagesDelete every language variant of a WhatsApp message template by name in one call. _Example prompt_: "Delete all language variants of the order_confirmation What
list-available-regionsList all regions where phone numbers are available for the project. Can filter by number type (MOBILE, LOCAL, TOLL_FREE). _Example prompt_: "Which regions have
list-rented-numbersList all active (rented) phone numbers for the project. Can filter by region, type, pattern, and capability. _Example prompt_: "Show me all my active phone numb
search-for-available-numbersSearch for phone numbers available to rent, with filters for region, type, pattern, and capabilities. _Example prompt_: "Find available local numbers in the US
rent-sinch-virtual-numbersRent (activate) one or more phone numbers by providing them in E.164 format. _Example prompt_: "Rent the phone number +12025551234."
release-rented-numberRelease a rented phone number from your project. _Example prompt_: "Release the phone number +12025551234."
sinch-mcp-configurationList all available tools in the Sinch MCP server and their status. If a tool is disabled, it will display the reason why. _Example prompt_: "Which tools are ava

How to install the Sinch MCP Server

{
  "mcpServers": {
    "sinch": {
      "command": "npx",
      "args": [
        "-y",
        "@sinch/mcp"
      ],
      "env": {
        "PROJECT_ID": "",
        "KEY_ID": "YOUR_KEY_ID",
        "KEY_SECRET": "YOUR_KEY_SECRET",
        "CONVERSATION_APP_ID": "",
        "CONVERSATION_REGION": "",
        "DEFAULT_SMS_ORIGINATOR": "",
        "GEOCODING_API_KEY": "YOUR_GEOCODING_API_KEY",
        "APPLICATION_KEY": "YOUR_APPLICATION_KEY",
        "APPLICATION_SECRET": "YOUR_APPLICATION_SECRET",
        "CALLING_LINE_IDENTIFICATION": "",
        "MAILGUN_API_KEY": "YOUR_MAILGUN_API_KEY",
        "MAILGUN_DOMAIN": "",
        "MAILGUN_SENDER_ADDRESS": ""
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
PROJECT_IDDeclared in the maintainer’s client configuration.Yes
KEY_IDDeclared in the maintainer’s client configuration.Yes
KEY_SECRETDeclared in the maintainer’s client configuration.Yes
CONVERSATION_APP_IDDeclared in the maintainer’s client configuration.Check documentation
CONVERSATION_REGIONDeclared in the maintainer’s client configuration.Yes
DEFAULT_SMS_ORIGINATORDeclared in the maintainer’s client configuration.Check documentation
GEOCODING_API_KEYDeclared in the maintainer’s client configuration.Check documentation
APPLICATION_KEYDeclared in the maintainer’s client configuration.Yes
APPLICATION_SECRETDeclared in the maintainer’s client configuration.Yes
CALLING_LINE_IDENTIFICATIONDeclared in the maintainer’s client configuration.Check documentation
MAILGUN_API_KEYDeclared in the maintainer’s client configuration.Yes
MAILGUN_DOMAINDeclared in the maintainer’s client configuration.Check documentation
MAILGUN_SENDER_ADDRESSDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

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

Frequently asked questions

Sinch MCP server Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.