ElevenAir Customer Service — MCP Server
Click on "Deploy 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., "@ElevenAir Customer Service — MCP Serverauthenticate booking LX-2025-014 and rebook to the next available flight"
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.
ElevenAir Customer Service — MCP Server (example)
A small, self-contained Model Context Protocol (MCP) server that gives a conversational AI voice agent a set of airline customer-service tools. It powers a demo in which a caller reaches "ElevenAir", authenticates, and rebooks a canceled flight — ending with a real HTML confirmation e-mail.
This is a demo/example project. Bookings and flights are mock data, and the rebooking is simulated (not persisted). The only real side effect is sending the confirmation e-mail over SMTP.
Features
Five MCP tools exposed over the streamable-HTTP transport.
Mock data for 10 bookings and a set of alternative flights (JSON files).
Real confirmation e-mail rendered from a clean HTML template and sent via your own SMTP server (with a plain-text fallback).
Readable terminal logs (via rich) so you can follow every tool call live.
Simulated e-mail mode when no SMTP credentials are configured, so the server runs out of the box.
Related MCP server: Airline Flight Delays MCP Server
Tools
Tool | Parameters | Description |
|
| Verifies the caller's identity before anything else. |
|
| Returns the current booking and flight status. |
|
| Lists alternatives on the same route, earliest first. |
|
| Rebooks onto a new flight (mocked, not persisted). |
|
| Sends the HTML confirmation e-mail via SMTP. |
Project layout
server.py FastMCP server and the five tools
data.py Loads mock data and provides lookup helpers
logs.py Rich-based terminal logging helpers
email_template.html HTML e-mail template (tokenized with {{...}})
bookings.json Mock bookings
flights.json Mock alternative flights
smoke_test.py Manual end-to-end check of all tools
requirements.txt Pinned dependencies
.env.example Template for SMTP configurationRequirements
Python 3.10+ (developed on 3.14)
An SMTP account if you want real e-mails (optional; otherwise sends are simulated)
Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtConfiguration
Copy the example environment file and fill in your SMTP details:
cp .env.example .envSMTP_HOST=smtp.example.com
SMTP_PORT=587 # 587 (STARTTLS) or 465 (SSL)
SMTP_USER=you@example.com
SMTP_PASSWORD=your-app-password
SMTP_FROM=you@example.comIf SMTP_HOST, SMTP_USER, or SMTP_PASSWORD are empty, the server logs a
simulated send instead of contacting a mail server.
To receive the confirmation e-mail during a demo, set the passenger email in
bookings.json to an inbox you control.
Run
python server.pyThe MCP endpoint is served at http://127.0.0.1:8000/mcp, with a health check at
http://127.0.0.1:8000/health.
Expose it publicly
A cloud-hosted MCP client needs a public URL to reach the server. For local development, tunnel with ngrok:
ngrok http 8000Use the resulting HTTPS URL plus /mcp as the server URL, e.g.
https://<subdomain>.ngrok-free.app/mcp.
Connect it to a voice agent
Any MCP client that supports the streamable-HTTP transport can use this server:
Server URL: your public URL ending in
/mcp.Transport: Streamable HTTP.
If you tunnel through ngrok, send the HTTP header
ngrok-skip-browser-warning: trueto skip ngrok's interstitial page.Drive the flow from the agent's instructions: authenticate first, then look up the booking, offer the next flight, rebook, and send the confirmation.
Smoke test
Exercise all five tools in one shot (this sends a real e-mail if SMTP is set):
python smoke_test.pySecurity
Secrets live only in
.env, which is git-ignored and must never be committed.The server reads all credentials from environment variables.
Treat any tunnel URL as sensitive while it is live.
Notes
The network covers five cities: London (LHR), New York (JFK), San Francisco (SFO), Warsaw (WAW), and Berlin (BER).
Rebooking is a mock: it confirms and e-mails, but does not change stored data.
This server cannot be deployed
Maintenance
Related MCP Connectors
Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.
Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
Outbound phone calls placed by an AI voice agent to book, ask, or confirm on your behalf.
Give your AI agent a phone. Place outbound calls to US businesses to ask, book, or confirm.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive airline booking operations server that enables users to search flights, create bookings, check-in, select seats, track flights, and manage loyalty programs through natural language interactions.1-
- FlicenseNot gradedqualityDmaintenanceAn AI-powered customer service automation system designed to handle flight disruptions by providing real-time flight status, sentiment-aware passenger communication, and personalized engagement activities. It streamlines rebooking, airport recommendations, and human agent handoffs to improve the passenger experience during delays.-

mcp-travelcodeofficial
AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search flights and hotels, manage bookings, check flight status, and access delay statistics through the TravelCode corporate travel API, all via natural language conversations.13 npm2MIT
AirLabs MCP Serverofficial
AlicenseAqualityDmaintenanceProvides AI assistants with access to real-time flight data, airport schedules, delays, and aviation reference databases through natural language queries.12131 npmMIT