What Flytoday MCP server does
The Flytoday MCP server exposes read-only travel search tools for Flytoday, an Iranian travel website. It covers domestic and international flights, hotels, villas and apartments, trains, buses, airport CIP services, eSIM plans, visas, tours and activities. Queries can be made in Persian or English, while most prices are returned in Toman.
Flight tools find airport and city IATA codes, search one-way or return fares, compare prices across nearby departure dates, and retrieve fare conditions. Fare details can include refund and change rules, baggage allowances and international entry notes. Search results support filters, sorting and paging.
Accommodation tools resolve hotel, city, region and villa identifiers before searching. Hotel results include stay and nightly prices, star ratings, scores, meal information and refundability. A hotel lookup provides room offers, remaining availability, cancellation terms and room details. Review lookups return guest scores, text, positive points and negative points. Stay tools cover villas and apartments in Iran, including total and nightly prices, blocked dates and reviews.
How it works
The Flytoday MCP server runs on the user’s machine and communicates with an AI client through standard MCP over stdio. It then makes HTTPS requests to the same public gateway used by flytoday.ir, including the related Flytoday service endpoints. There is no hosted intermediary and no login or API key requirement described by the project.
Each travel area uses its own identifiers. Flights use IATA codes; hotels and stays use city, hotel or region identifiers; trains use station codes; and buses use numeric city IDs. Finder tools can return popular locations when no search term is supplied, which helps an agent obtain the identifiers needed by later searches.
Calendar tools are useful for reducing repeated searches. Flight calendars compare fares around a selected date, train calendars cover roughly the next 16 days, and bus calendars show the site’s price strip for the coming weeks. Search results and details can then be narrowed to a specific fare or property.
Setup and configuration
Install Python 3.10 or newer and uv, then register the server with an MCP client using uvx flytoday-mcp. The standard command is:
claude mcp add flytoday -- uvx flytoday-mcp
It can also be installed with pip install flytoday-mcp and run as flytoday-mcp. The README documents configurations for Claude Desktop, Cursor, VS Code with Copilot agent mode and Claude Code. A standard stdio-compatible MCP client can run the same command.
Set FLYTODAY_MCP_PROXY to an HTTP proxy URL only when the network cannot reach Flytoday or the client’s IP is rate limited. No other environment variable or authentication credential is required.
Tools and capabilities
The 22 tools use the ft_ prefix and cover:
- Airports, hotels, stays, train stations and bus cities
- Flight, hotel, villa, train and bus searches
- Flight, train and bus date-based price calendars
- Flight fare rules, baggage and entry notes
- Hotel rooms, meals, cancellation terms and reviews
- Train stops, times, amenities and meals
- CIP and VIP lounge pricing at IKA and MHD
- Country-specific eSIM plans and visa pricing, documents and processing times
- Destination activities, tickets, options and cheapest dates
Results use Gregorian dates in YYYY-MM-DD format. Flight searches return values such as search_id and fare_source_code; these identifiers generally expire after about 15 minutes.
Limitations and notes
The Flytoday MCP server is read-only. It does not log in, hold seats, confirm bookings, accept payments or replace the checkout process on flytoday.ir. Availability, prices and remaining seats can change between calls. Searches are rate limited per IP, so calendar queries and paging are preferable to making many repeated searches. Visa and some activity prices may use a foreign currency rather than Toman.