Dictator Alert MCP (track dictators' aircraft)
Dictator Alert MCP — track dictators' planes with AI The successor to Dictator Alert, rebuilt as an MCP server.
What it can do
- Flight List Flights: Paginated flight rows with optional filters: aircraft id substring, departure/arrival airport or city substring, country substrings, date range, sortBy (Flight scalar field), sort
- Flight List Aircraft: Paginated aircraft directory (AircraftList): optional reg (hyphens stripped), 2-letter country, ICAO/id substring, usedBy substring, sortBy (AircraftList scalar), sortOrder. Retu
- Flight Get Aircraft From List: Single AircraftList row by id (fast header lookup). Returns null if missing. Use get_aircraft_detail for charts and full derived stats.
What data it sees
Do you need an account
No: the server works without sign-in
Dictator Alert MCP — track dictators' planes with AI
The successor to Dictator Alert, rebuilt as an MCP server. Follow the jets of authoritarian leaders, heads of state and royal families from Claude, ChatGPT, Cursor or any MCP-compatible AI assistant, powered by FlightDB.
Ask in plain language: "Where has Lukashenko's plane flown this year?" or "Which government jets landed in Geneva last month?" — and get answers from unfiltered ADS-B flight history.
Independent project. Not affiliated with the original Dictator Alert or its authors.
Connect
https://flightdb.org/mcp/dictatoralert
Add this URL as a custom MCP connector. Sign in with Google when prompted.
- Transport: Streamable HTTP
- Auth: Google OAuth
- Docs: flightdb.org/mcp/connect
Why FlightDB
- Unfiltered ADS-B data from ADS-B Exchange — no LADD/PIA blocking, unlike FlightRadar24 or FlightAware
- Full flight history per aircraft since 2016, not just the last 7 days
- Registry records with owner and operator for government and VIP aircraft
- Airport-level analytics: who landed where, how often, and for how long
Regime jets you can track
A sample of state aircraft already in FlightDB:
| Country | Registration | Aircraft | Frequent destinations |
|---|---|---|---|
| Belarus (Lukashenko) | EW-001PB | Boeing 767-32K | Minsk, Abu Dhabi, Beijing |
| Belarus (Lukashenko) | EW-001PA | Boeing 737 BBJ2 | Minsk, St Petersburg, Moscow Vnukovo, Beijing |
| Russia (Putin / state fleet) | RA-96019, RA-96021, RA-96022, RA-96023 | Ilyushin Il-96-300 / 300PU | Moscow Vnukovo, St Petersburg, Dakar, Yerevan, Brazil |
| Turkmenistan | EZ-A777 | Boeing 777-200LR | London Stansted, Paris Orly, Baku |
| Turkmenistan | EZ-A700, EZ-A007 | Boeing 737 BBJ | Munich, Glasgow, London Stansted, Dushanbe |
| Azerbaijan (Aliyev) | 4K-AI001 | Boeing 777-200LR | Baku, Dubai, Italy, Turkey |
| Azerbaijan (Aliyev) | 4K-AI01, 4K-AI08 | Boeing 767 / Airbus A340-600 | Baku, Basel-Mulhouse, Dubai, Tirana |
| Azerbaijan | 4K-AI88, 4K-AI06 | Gulfstream G650 / G550 | Zurich, Dubai, Ibiza, Luton |
| Kazakhstan | UP-A2001 | Airbus ACJ320 | Almaty, Astana, Moscow, Paris |
| Kazakhstan | UP-A3001 | Airbus A330-200 | Astana, Oslo, Basel-Mulhouse, Andrews AFB |
| Saudi Arabia | HZ-HM1 | Boeing 747-400 | Riyadh, Jeddah, Basel-Mulhouse, Morocco |
| Saudi Arabia | HZ-HM3, HZ-HM4, HZ-HM5 | Boeing 787-8 BBJ / 777-300ER | Riyadh, Jeddah, Paris CDG, Switzerland |
| Saudi Arabia | HZ-HMS2 | Airbus A340-200 | Jeddah, London Stansted, Washington Dulles |
| Niger (junta) | 5U-GRN | Boeing 737-700 | Niamey, Basel-Mulhouse, Ouagadougou |
Plus thousands of business jets of oligarchs, royals and billionaires — search by registration, country, owner or ICAO hex code.
What you can do
- Follow a presidential or government jet's full flight history
- See which countries and airports a regime's aircraft visited, year by year
- Measure how long a plane stayed at an airport (e.g. Geneva, Zurich, Paris Le Bourget, Dubai)
- List all government-owned aircraft of a country
- Find the top routes between two countries
- Spot unusual arrivals at an airport over time
Tools
| Tool | Description |
|---|---|
Flight_list_aircraft |
Aircraft directory — filter by registration, country, owner/operator, ICAO hex |
Flight_get_aircraft_from_list |
Aircraft header (registration, type, owner, operator) |
Flight_get_aircraft_detail |
Full aircraft profile with all flights and aggregates |
Flight_list_flights |
Flights filtered by aircraft, airport, country and date range |
Flight_flights_by_year |
Flights per year for an aircraft |
Flight_flights_by_country |
Arrival countries per year for an aircraft |
Flight_flights_by_distance |
Short / medium / long-haul split per year |
Flight_airport_visits |
Visits and length of stay per airport |
Flight_visit_history |
Chronological visit timeline |
Flight_top_routes |
Most-flown routes between countries or airports |
Flight_search_airports |
Find airports by name, city, IATA or ICAO |
Flight_get_airport |
Airport details |
Flight_airport_stats |
Departures, top destinations and top aircraft at an airport |
Flight_airport_arrival_trend |
Arrivals to an airport by day / month / year |
Flight_airport_arrivals_by_country |
Arrivals to an airport by origin country |
Example prompts
- "Show every flight of Lukashenko's Boeing 767 (EW-001PB) in the last 12 months."
- "Which countries did Putin's Il-96 fleet fly to in 2025?"
- "How many times did Aliyev's jets land in Switzerland, and how long did they stay?"
- "Where has the Turkmenistan Boeing 777 EZ-A777 been since it was delivered?"
- "List every aircraft owned by the Government of Kazakhstan and their last flight."
- "Which Saudi royal aircraft visited France this year?"
- "Track the Niger junta's Boeing 737 5U-GRN — where did it go after the coup?"
- "Which government jets landed in Geneva in the last 3 months?"
Keywords
dictator alert, dictator alert successor, dictator plane tracker, dictator jet tracker, authoritarian regime aircraft, presidential jet tracking, government aircraft tracker, head of state flights, Lukashenko plane, Putin plane, Aliyev jet, Turkmenistan presidential plane, Saudi royal flight, VIP jet tracking, oligarch jet tracker, ADS-B, OSINT, flight tracking MCP
How to connect
How to connect Dictator Alert MCP (track dictators' aircraft) to Claude
The server address to paste into Claude settings:
https://dictatoralert--flightdb.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Dictator Alert MCP (track dictators' aircraft) to ChatGPT
The server address to paste into ChatGPT settings:
https://dictatoralert--flightdb.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Dictator Alert MCP (track dictators' aircraft) to Cursor
The server address to paste into Cursor settings:
https://dictatoralert--flightdb.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (15)
Raw names from tools/list. Only developers need these.
| Flight_list_flights | Paginated flight rows with optional filters: aircraft id substring, departure/arrival airport or city substring, country substrings, date range, sortBy (Flight scalar field), sortOrder. Returns { data, total }. Each row includes nested departure/arrival airport { id, name, municipality, timezone }. |
| Flight_list_aircraft | Paginated aircraft directory (AircraftList): optional reg (hyphens stripped), 2-letter country, ICAO/id substring, usedBy substring, sortBy (AircraftList scalar), sortOrder. Returns { data, total }. |
| Flight_get_aircraft_from_list | Single AircraftList row by id (fast header lookup). Returns null if missing. Use get_aircraft_detail for charts and full derived stats. |
| Flight_get_aircraft_detail | All flights for an aircraft plus derived aggregates used on the detail page: flights (newest first), byYear, byDistance, byCountry, airportVisits, visitHistory. Empty aggregates when no flights. |
| Flight_flights_by_year | Per-calendar-year flight counts for one aircraft id ({ years, counts }). |
| Flight_flights_by_distance | Per-year counts binned by trip distance category (Short / Medium / Long / Unknown) for one aircraft id. |
| Flight_flights_by_country | Per-year arrival-country flight counts for one aircraft id (stacked-series style payload). |
| Flight_airport_visits | Per-airport visit and stay aggregates by year for one aircraft id. |
| Flight_visit_history | Visit timeline / history structure for one aircraft id (same shape as UI visit history). |
| Flight_top_routes | Top flight routes ranked by frequency. Filter by departure/arrival country or airport. Set bidirectional=true to combine both directions (e.g. AU↔ID). Returns routes sorted by flight count descending with city and country info. Example: top routes between Australia and Indonesia with departureCountry=AU, arrivalCountry=ID, bidirectional=true. |
| Flight_search_airports | Search airports by name, city, IATA or ICAO code. Returns large and medium airports only. Use this to find an airport's ICAO code before calling other airport tools. |
| Flight_airport_stats | Aggregated stats for one airport: total departures, top destination airports, top aircraft, and departures by year. Use the ICAO code (4 letters, e.g. WADD for Bali). |
| Flight_airport_arrival_trend | Arrival counts to one airport grouped by day/month/year. Optional date range. Returns [{ period, count }] sorted chronologically. Example: arrivals to Bali (WADD) for the last 12 months with granularity=month. |
| Flight_airport_arrivals_by_country | Arrival counts to one airport broken down by departure country, grouped by day/month/year. Optional date range and country filter. Returns [{ period, byCountry: { "IN": 12, "CN": 8, ... } }] sorted chronologically. Example: compare India vs China arrivals to Bali from January to May with countries=["IN","CN"]. |
| Flight_get_airport | Airport row by IATA/ICAO code (id). Returns null if not found. |