Twilio Call Service MCP Server
Provides an Interactive Voice Response (IVR) system, manages call sessions, handles Twilio webhooks, and enables outbound calls via the Twilio REST API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Twilio Call Service MCP ServerMake a call to +12223334444"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: Twilio MCP Server
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.txtCopy the example environment file and edit credentials:
cp .env.example .env # edit credentialsStart the FastAPI server:
uvicorn app.main:app --reload
Expose port 8000 via ngrok for Twilio testing:
ngrok http 8000Set 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:mainHeroku 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/caleb-overbay4/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server