Where to see the 2 August 2027 total solar eclipse: destinations, totality, lodging cost, flights
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The figures a choice between places turns on, for two to four destinations at once, in the order of the site's ranking whatever the order asked: totality and its times, lodging (eclipse-week mean, per person, Eclipse Premium, reading day), both ends of the cloud range, heat, access, airport, the cost of the observation, and the entry regime of one passport or of each passport we cover. get_destination has the rest.
Two to four destination keys, as list_destinations returns them.
ISO code of the traveller's passport. Without it, one short line per passport we cover.
The figures a choice between places turns on, for two to four destinations at once, in the order of the site's ranking whatever the order asked: totality and its times, lodging (eclipse-week mean, per person, Eclipse Premium, reading day), both ends of the cloud range, heat, access, airport, the cost of the observation, and the entry regime of one passport or of each passport we cover. get_destination has the rest.
| Argument | Type | Description |
|---|---|---|
| passport | string | ISO code of the traveller's passport. Without it, one short line per passport we cover. |
| destinations* | array | Two to four destination keys, as list_destinations returns them. |
{
"type": "object",
"required": [
"destinations"
],
"properties": {
"passport": {
"enum": [
"FR",
"GB",
"US",
"CA",
"SA",
"AE",
"MA"
],
"type": "string",
"description": "ISO code of the traveller's passport. Without it, one short line per passport we cover."
},
"destinations": {
"type": "array",
"items": {
"enum": [
"mecca",
"chefchaouen",
"tangier",
"jeddah",
"djerba",
"tetouan",
"marsa-alam",
"siwa-oasis",
"luxor",
"cadiz",
"gibraltar"
],
"type": "string"
},
"maxItems": 4,
"minItems": 2,
"description": "Two to four destination keys, as list_destinations returns them.",
"uniqueItems": true
}
},
"additionalProperties": false
}Everything EclipseMission holds on one place, each figure with its source and reading day: the eclipse (duration, and contact times where our oracle has them), lodging (eclipse week, week after, the two eclipse nights, solo traveller and hostels where measured, with the ten prices behind each mean), sky, heat, entry regime by passport, the cost of the observation itself, access and the airfares read to its airport.
| Argument | Type | Description |
|---|---|---|
| passport | string | ISO code of the traveller's passport: returns that passport's entry regime in full. Without it, one short line per passport we cover. |
| destination* | string | The destination key, as list_destinations returns it. |
{
"type": "object",
"required": [
"destination"
],
"properties": {
"passport": {
"enum": [
"FR",
"GB",
"US",
"CA",
"SA",
"AE",
"MA"
],
"type": "string",
"description": "ISO code of the traveller's passport: returns that passport's entry regime in full. Without it, one short line per passport we cover."
},
"destination": {
"enum": [
"mecca",
"chefchaouen",
"tangier",
"jeddah",
"djerba",
"tetouan",
"marsa-alam",
"siwa-oasis",
"luxor",
"cadiz",
"gibraltar"
],
"type": "string",
"description": "The destination key, as list_destinations returns it."
}
},
"additionalProperties": false
}The airfares EclipseMission has read, each dated and sourced. Two families that must never be added together: Google Flights searches (return trip, two adults, as the search displayed it) and easyJet fares read at the airline (one seat, one way). Filter by departure airport, destination, or both. A route we have not read is absent, which is not a claim that no flight exists.
| Argument | Type | Description |
|---|---|---|
| origin | string | IATA code of the departure airport, e.g. CDG. |
| destination | string | The destination key, as list_destinations returns it. |
{
"type": "object",
"properties": {
"origin": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "IATA code of the departure airport, e.g. CDG."
},
"destination": {
"enum": [
"mecca",
"chefchaouen",
"tangier",
"jeddah",
"djerba",
"tetouan",
"marsa-alam",
"siwa-oasis",
"luxor",
"cadiz",
"gibraltar"
],
"type": "string",
"description": "The destination key, as list_destinations returns it."
}
},
"additionalProperties": false
}Every place EclipseMission has measured for the total solar eclipse of 2 August 2027, in the order of the site's ranking: the places every reader can go to, ranked by lodging price per person, cheapest first, then Mecca, priced but unranked (entry restricted to Muslims). For each: totality duration (our validated oracle), lodging for two adults over four nights, 31 July to 4 August 2027 (mean of the ten cheapest rooms, dated), the Eclipse Premium (that price over the same search a week later), cloud as a range of two reanalyses, heat, public-transport access, the nearest airport and our one-word verdict. Filters narrow the list; they never reorder it.
| Argument | Type | Description |
|---|---|---|
| country | string | Keep one country, by English name or ISO code, whatever the case: Egypt, Gibraltar, Morocco, Saudi Arabia, Spain, Tunisia. |
| min_totality_seconds | number | Keep places with at least this much totality, in seconds (the longest on our list is about 381). |
| open_to_all_visitors | boolean | true leaves out places whose entry is restricted (Mecca, closed to non-Muslims). |
| max_price_per_person_eur | number | Keep places whose four-night stay costs at most this per person, in EUR (the price for two, halved). |
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Keep one country, by English name or ISO code, whatever the case: Egypt, Gibraltar, Morocco, Saudi Arabia, Spain, Tunisia."
},
"min_totality_seconds": {
"type": "number",
"minimum": 0,
"description": "Keep places with at least this much totality, in seconds (the longest on our list is about 381)."
},
"open_to_all_visitors": {
"type": "boolean",
"description": "true leaves out places whose entry is restricted (Mecca, closed to non-Muslims)."
},
"max_price_per_person_eur": {
"type": "number",
"minimum": 0,
"description": "Keep places whose four-night stay costs at most this per person, in EUR (the price for two, halved)."
}
},
"additionalProperties": false
}Points along the path of the 2 August 2027 eclipse for which our oracle computed totality once — towns, capes, peaks, monuments — with the cloud range of two reanalyses at each. Points, not destinations: nothing was priced there and no entry or access was read. Points outside the path carry no totality. No coordinates are taken: the list is fixed, and a place absent from it has not been computed.
| Argument | Type | Description |
|---|---|---|
| sort | string | name (default) is the order of the file; totality puts the longest first. |
| country | string | Keep one country, by ISO code or English name, whatever the case, e.g. ES or Spain. |
| in_path | boolean | true keeps points inside the path of totality, false those outside. |
| max_cloud_pct | number | Keep points whose cloud range stays at or under this percentage at its high end. |
| min_totality_seconds | number | Keep points with at least this much totality, in seconds. |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"name",
"totality"
],
"type": "string",
"description": "name (default) is the order of the file; totality puts the longest first."
},
"country": {
"type": "string",
"description": "Keep one country, by ISO code or English name, whatever the case, e.g. ES or Spain."
},
"in_path": {
"type": "boolean",
"description": "true keeps points inside the path of totality, false those outside."
},
"max_cloud_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Keep points whose cloud range stays at or under this percentage at its high end."
},
"min_totality_seconds": {
"type": "number",
"minimum": 0,
"description": "Keep points with at least this much totality, in seconds."
}
},
"additionalProperties": false
}The destinations that fit one traveller, in the order of the site's ranking, each with its lodging figure, totality and sky, the entry regime of their passport, and the fares we have read from their airport to it. The fares and the stay are given side by side, never summed: they are different searches, read on different days. A place with no fare read from that airport is kept, with a note: that is a gap in our readings, not a claim that no flight exists.
| Argument | Type | Description |
|---|---|---|
| origin | string | IATA code of the departure airport, e.g. MAD. |
| country | string | Keep one country, by English name or ISO code, whatever the case: Egypt, Gibraltar, Morocco, Saudi Arabia, Spain, Tunisia. |
| passport | string | ISO code of the traveller's passport: each place then carries that passport's entry regime. |
| min_totality_seconds | number | Keep places with at least this much totality, in seconds. |
| open_to_all_visitors | boolean | true leaves out places whose entry is restricted (Mecca, closed to non-Muslims). |
| max_price_per_person_eur | number | Keep places whose four-night stay costs at most this per person, in EUR. |
{
"type": "object",
"properties": {
"origin": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "IATA code of the departure airport, e.g. MAD."
},
"country": {
"type": "string",
"description": "Keep one country, by English name or ISO code, whatever the case: Egypt, Gibraltar, Morocco, Saudi Arabia, Spain, Tunisia."
},
"passport": {
"enum": [
"FR",
"GB",
"US",
"CA",
"SA",
"AE",
"MA"
],
"type": "string",
"description": "ISO code of the traveller's passport: each place then carries that passport's entry regime."
},
"min_totality_seconds": {
"type": "number",
"minimum": 0,
"description": "Keep places with at least this much totality, in seconds."
},
"open_to_all_visitors": {
"type": "boolean",
"description": "true leaves out places whose entry is restricted (Mecca, closed to non-Muslims)."
},
"max_price_per_person_eur": {
"type": "number",
"minimum": 0,
"description": "Keep places whose four-night stay costs at most this per person, in EUR."
}
},
"additionalProperties": false
}