communicationdeveloper-tools

Exotel

by exotel

Exotel MCP Server lets Agentic AI make calls, send messages, and automate customer outreach—secure telephony without the

Exotel’s MCP Server empowers Agentic AI to make calls, send messages, and automate customer outreach without telephony complexity.

github stars

3

Remote server — zero local setupDLT compliance built-inReal-time status tracking

best for

  • / AI agents handling customer outreach
  • / Automated notification systems
  • / Contact center automation
  • / Customer service workflows

capabilities

  • / Send SMS messages to single or multiple recipients
  • / Initiate voice calls and connect to call flows
  • / Track SMS and call delivery status
  • / Retrieve phone number metadata
  • / Send DLT-compliant bulk messaging
  • / Fetch call and message callback details

what it does

Integrates Exotel's SMS and voice calling APIs with AI agents, allowing them to send messages, make calls, and track communication status without handling telephony complexity.

about

Exotel is an official MCP server published by exotel that provides AI assistants with tools and capabilities via the Model Context Protocol. Exotel MCP Server lets Agentic AI make calls, send messages, and automate customer outreach—secure telephony without the It is categorized under communication, developer tools. This server exposes 15 tools that AI clients can invoke during conversations and coding sessions.

how to install

You can install Exotel in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server supports remote connections over HTTP, so no local installation is required.

license

MIT

Exotel is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

ExotelMCP

A Model Context Protocol (MCP) server that provides seamless integration between Claude AI and Exotel's communication APIs for SMS and voice calling services, plus quick audio tools.

Features

  • 📱 SMS Services: Send single, bulk, and dynamic SMS messages with DLT compliance
  • ☎️ Voice Calling: Initiate voice calls, connect numbers, and integrate with call flows
  • 📊 Status Tracking: Real-time delivery status and callback management
  • 🎵 Quick Audio Tools: One-click audio playback, download, and web player access
  • 🔐 Secure Authentication: Token-based authentication system
  • 🤖 Claude AI Integration: Direct integration with Claude through MCP protocol

Table of Contents

Prerequisites

Before using the Exotel MCP Server, ensure you have:

  • Claude Desktop App: Latest version installed
  • Node.js and npm: Required for MCP remote connection
  • Exotel Account: Active account with API credentials
  • MCP Remote Package: Install if not already available

Installing MCP Remote

If you don't have mcp-remote installed, run:

npm install -g mcp-remote

Verify installation:

npm list -g mcp-remote

Claude Desktop Configuration

To integrate ExotelMCP with Claude, add the following configuration to your Claude desktop settings:

Location: Claude Desktop → Settings → Developer → Edit Config

{
  "mcpServers": {
    "exotel": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.exotel.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "{'token':'YOUR_EXOTEL_TOKEN','from_number':'YOUR_FROM_NUMBER','dlt_temp':'YOUR_DLT_TEMPLATE','dlt_entity':'YOUR_DLT_ENTITY','caller_id':'YOUR_CALLER_ID','api_domain':'https://YOUR_SUB_DOMAIN','account_sid':'YOUR_ACCOUNT_SID','exotel_portal_url':'YOUR_EXOTEL_DASHBOARD_BASE_URL'}"
      }
    }
  }
}

Required Credentials

Replace the placeholder values with your actual Exotel credentials:

YOUR_EXOTEL_TOKEN: Base64 Encoded API Credentials

This token is created by encoding your Exotel API Key and Secret in Base64 format.

Step 1: Get your API credentials from Exotel Dashboard

  1. Log into your Exotel Dashboard
  2. Navigate to SettingsAPI Settings
  3. Copy your API Key and API Secret

Step 2: Create the Base64 token

Format: api_key:api_secret (colon-separated)

Example: If your API Key is abc123 and API Secret is xyz789, combine them as: abc123:xyz789

Step 3: Encode to Base64

You can use any of these methods:

Online Tool:

  • Visit base64encode.org
  • Enter your api_key:api_secret string
  • Copy the encoded result

Command Line (Mac/Linux):

echo -n "your_api_key:your_api_secret" | base64

Command Line (Windows):

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("your_api_key:your_api_secret"))

Other Required Values:

  • YOUR_FROM_NUMBER: Your registered Exotel phone number (from Dashboard → Numbers)
  • YOUR_DLT_TEMPLATE: DLT template ID for SMS compliance (from Dashboard → DLT)
  • YOUR_DLT_ENTITY: DLT entity ID for SMS compliance (from Dashboard → DLT)
  • YOUR_CALLER_ID: Your registered caller ID (from Dashboard → Numbers)
  • YOUR_ACCOUNT_SID: Your Exotel account SID (from Dashboard → API Settings)
  • YOUR_SUB_DOMAIN: Your Exotel account SubDomain (from Dashboard → API Settings)
  • YOUR_EXOTEL_DASHBOARD_BASE_URL: Your Exotel Dashboard base url

Usage

Once configured, you can use Claude to interact with Exotel services using natural language commands. Simply describe what you want to do, and Claude will handle the API calls through the MCP server.

Example Commands:

  • "Send an SMS to +919999999999 saying 'Hello from Claude!'"
  • "Call +919999999999"
  • "Check the delivery status of my last SMS"
  • "Connect +919999999999 with +919888888888"

Audio Commands:

API Services

SMS Services

Send Individual SMS

Send a single SMS message to a specific phone number with DLT compliance.

Example:

Send an SMS to +919999999999 with message "Hello from Claude!" using DLT template 1107160086208866373 and entity 1101428740000012125

Send Bulk SMS (Same Message)

Send the same message to multiple recipients at once.

Example:

Send "Welcome to our service!" to these numbers: +919999999999, +919888888888, +919777777777

Send Dynamic Bulk SMS

Send personalized messages to multiple recipients with different content for each.

Example:

Send personalized messages: "Hello John" to +919999999999 and "Hello Jane" to +919888888888

Voice Services

Make Voice Call

Initiate a voice call to any phone number using your registered Exotel number.

Example:

Call +919999999999 from my registered number

Connect Two Numbers

Bridge two phone numbers in a single call, connecting them together.

Example:

Connect +919999999999 with +919888888888 in a conference call

Call Flow Integration

Connect a phone number to a predefined Exotel call flow or IVR system.

Example:

Connect +919999999999 to call flow app_id 12345

Status & Tracking Services

Check SMS Delivery Status

Get real-time delivery status and details for sent SMS messages.

Example:

Check the delivery status of SMS sent to +919999999999

Check Voice Call Status

Retrieve call details, duration, and status for voice calls.

Example:

Get call details for calls made to +919999999999

Get Call History

Retrieve bulk call details and history for analysis.

Example:

Get all call details made from +919999999999

Number Information

Get metadata and information about phone numbers.

Example:

Get information about phone number +919999999999

Audio Services

Quick Audio Tools

Quick one-click audio playback and management tools.

Quick Play Audio

Get instant clickable links to play any audio URL in your browser.

Example:

Play audio from https://example.com/song.mp3
Open Audio Player

Access the web-based audio player interface for full control.

Example:

Open the audio player interface
Quick Download

Get direct download links for any audio file.

Example:

Download audio from https://example.com/song.mp3

Authentication

The Exotel MCP Server uses secure token-based authentication. All your Exotel credentials are configured in the Claude desktop configuration and are used to authenticate with Exotel's APIs.

Security Features

  • Secure Token Handling: Your Exotel API tokens are securely processed
  • User Isolation: Each user's data is kept separate and secure
  • DLT Compliance: Built-in support for DLT (Distributed Ledger Technology) requirements for SMS in India

Getting Your Exotel Credentials

  1. Log into your Exotel Dashboard
  2. Navigate to Settings → API Settings to get your API Key, API Secret, and Account SID
  3. Go to Numbers section to note your registered phone numbers and caller IDs
  4. Visit DLT section to get your DLT Template and Entity IDs (required for SMS compliance in India)
  5. Create your Base64 token using the API Key and Secret as detailed in the Configuration section

All these credentials should be properly formatted and added to your Claude configuration as shown above.

Hosting & Deployment

🌐 IMPORTANT: Public Domain Requirement

This application MUST be hosted with a public domain and HTTPS enabled for the following reasons:

  1. MCP Remote Connection: Claude Desktop connects to your server via the public internet
  2. Exotel Webhooks: Exotel needs to send callback notifications to your server
  3. Security: HTTPS is required for secure communication between Claude and your server
  4. Production Ready: Ensures reliable service for SMS/voice status updates

Deployment Option

Docker Setup
FROM openjdk:21-jdk-slim

WORKDIR /app
COPY target/mcp_api-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8080
CMD ["java", "-jar", "app.jar"]
# Build and run
docker build -t exotel-mcp .
docker run -p 8080:8080 -e EXOTEL_BASE_URL=https://your-domain.com exotel-mcp
Docker Compose with HTTPS
version: '3.8'
services:
  app:
    build: .
    ports:
      - "8080:8080"
    environment:
      - EXOTEL_BASE_URL=https://your-domain.com
  
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./ssl:/etc/ssl/certs

Environment Configuration

Production Environment Variables

# Server Configuration
SERVER_PORT=8080
SPRING_PROFILES_ACTIVE=production

# Application URL (CRITICAL - must match your domain)
EXOTEL_BASE_URL=https://your-domain.com

# Security
SPRING_SECURITY_REQUIRE_SSL=true

# Logging
LOGGING_LEVEL_ROOT=WARN
LOGGING_LEVEL_COM_EXAMPLE_MCP_API=INFO

Update Claude Configuration

{
  "mcpServers": {
    "exotel": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-domain.com/mcp",
        "--allow-http"  // remove this if your server running on https.
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "{'token':'YOUR_EXOTEL_TOKEN','from_number':'YOUR_FROM_NUMBER','dlt_temp':'YOUR_DLT_TEMPLATE','dlt_entity':'YOUR_DLT_ENTITY','caller_id':'YOU

---