Twilio Call Service MCP Server

Twilio Call Service MCP Server

Enables AI-driven interaction with Twilio call services, including initiating outbound calls and retrieving call history via FastMCP tools.

Category
Visit Server

README

Twilio Call Service (FastAPI)

This microservice replicates Axiom's Swift/Vapor IVR functionality using Python 3.11.9 and FastAPI.

Features

  • Interactive Voice Response (IVR) system powered by Twilio.
  • REST API endpoints for managing call sessions and handling Twilio webhooks.
  • Proxy integration with PEAK API for user authentication.
  • FastMCP Integration: Enables AI-driven tools and streaming capabilities for enhanced functionality.
  • Supports deployment to Heroku with PostgreSQL.

Local Development

Prerequisites

  • Python 3.11.9
  • Twilio account credentials
  • PostgreSQL (optional, SQLite is supported for local testing)

Setup

  1. Create a virtual environment and install dependencies:
    python -m venv env && source env/bin/activate
    pip install -r requirements.txt
    
  2. Copy the example environment file and edit credentials:
    cp .env.example .env  # edit credentials
    
  3. Start the FastAPI server:
    uvicorn app.main:app --reload
    

Expose port 8000 via ngrok for Twilio testing:

ngrok http 8000

Set your Twilio Voice webhooks:

  • Incoming: https://<ngrok>/twilio/voice/incoming (POST)
  • Outbound (when creating calls): https://<ngrok>/twilio/call

Deploy to Heroku

heroku create my-twilio-call-svc
heroku addons:create heroku-postgresql:hobby-dev
heroku config:set TWILIO_ACCOUNT_SID=... TWILIO_AUTH_TOKEN=... TWILIO_PHONE_NUMBER=...

Push the code:

git push heroku Head:main

Heroku provides DB_URL automatically.

Triggering an outbound call via Twilio REST API

from twilio.rest import Client
from dotenv import load_dotenv
import os

load_dotenv()
client = Client(os.getenv("TWILIO_ACCOUNT_SID"), os.getenv("TWILIO_AUTH_TOKEN"))
call = client.calls.create(
    to="<patient_phone>",
    from_=os.getenv("TWILIO_PHONE_NUMBER"),
    url="https://<app_url>/twilio/call?name=John&referrer=Dr.%20Smith"
)
print(call.sid)
Invoke-RestMethod -Method Post "https://dev-qa-axiom-cms-server-03e5df5ab8f3.herokuapp.com/test-call?to=+12345678900" 

FastMCP Integration

This project uses FastMCP to provide AI-driven tools and streaming capabilities. Key features include:

  • Tooling: Custom tools like list_history and make_call are exposed via the MCP server.
  • Streaming: Supports Server-Sent Events (SSE) for real-time communication.
  • OpenAPI Compatibility: Automatically generates OpenAPI documentation for MCP endpoints.

FastMCP is mounted at /mcp, and its streaming endpoint is available at /sse.

Example Usage

You can interact with the MCP server using HTTP requests or AI tools. For example:

  • List Call History: Use the list_history tool to retrieve call session data.
  • Make a Call: Use the make_call tool to initiate a Twilio call.

For more details, refer to the FastMCP documentation: FastMCP Documentation.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured