Twilio Call Service MCP Server
Enables AI-driven interaction with Twilio call services, including initiating outbound calls and retrieving call history via FastMCP tools.
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
- Create a virtual environment and install dependencies:
python -m venv env && source env/bin/activate pip install -r requirements.txt - Copy the example environment file and edit credentials:
cp .env.example .env # edit credentials - 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_historyandmake_callare 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_historytool to retrieve call session data. - Make a Call: Use the
make_calltool to initiate a Twilio call.
For more details, refer to the FastMCP documentation: FastMCP Documentation.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.