ExplorersMap
Update your ExplorersMap travel map from an AI assistant: countries, regions, places and trips.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"explorersmap": {
"url": "https://explorersmap.net/mcp"
}
}
}Puntos de conexión remotos
https://explorersmap.net/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (18)
🟢whoami
Who the connected ExplorersMap account belongs to, and how much of today's fair-use quota is left.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢get_stats
A summary of this account's map: how many countries, territories, regions and places are marked, the Explorer score, and the share of the world explored. Answers "how many countries have I been to", and is the quickest way to see where the user stands before suggesting what to add next.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢get_badges
Achievements this account has earned, newest first.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢list_visited(type, limit, offset)
Everything marked as visited, newest first. Paged: check `total` against `returned` and follow `nextOffset` to read the rest. Filter by type to keep the response small.
Esquema de entrada
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"country",
"region",
"place"
],
"description": "Which kind to list."
},
"limit": {
"type": "number",
"description": "Rows per page, default 100, max 500."
},
"offset": {
"type": "number",
"description": "Skip this many. Use nextOffset from the previous page."
}
},
"required": [
"type"
]
}🟡add_country(country, notes)
Mark a country as visited. Accepts an ISO-2 code or the country name. Idempotent.
Esquema de entrada
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO-2 code or name, e.g. \"PT\" or \"Portugal\"."
},
"notes": {
"type": "string",
"description": "Optional private note."
}
},
"required": [
"country"
]
}🔴remove_country(country)
Unmark a country, undoing add_country. Accepts an ISO-2 code or the country name. Unmarking something that was never marked is not an error. This lowers the user's score, so confirm before removing anything they did not name.
Esquema de entrada
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO-2 code or name."
}
},
"required": [
"country"
]
}🟡add_region(region, country, level, notes)
Mark a state, province or département as visited. Accepts a region id (FR-95) or a name plus country. Idempotent.
Esquema de entrada
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Region id like \"FR-95\", or a name like \"Gironde\"."
},
"country": {
"type": "string",
"description": "Country, to disambiguate a name used in several places."
},
"level": {
"type": "string",
"enum": [
"passed",
"visited",
"slept",
"lived"
],
"description": "How well you know it. Default visited."
},
"notes": {
"type": "string",
"description": "Optional private note kept with this visit. Only the account owner sees it."
}
},
"required": [
"region"
]
}🔴remove_region(region, country)
Unmark a state, province or département, undoing add_region. Accepts a region id like "FR-95", or a region name plus its country. Unmarking something that was never marked is not an error. This lowers the user's score, so confirm before removing anything they did not name.
Esquema de entrada
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Region id like \"FR-95\", or a region name like \"Gironde\"."
},
"country": {
"type": "string",
"description": "Country of that region, to disambiguate a name used in several countries."
}
},
"required": [
"region"
]
}🟢search_places(query, type, country, limit)
Find places in the 90,000-entry database — cities, airports, monuments, museums, parks, heritage sites and more. Use this to get an id before add_place. Matching is on part of the name, so short beats formal: "Louvre" finds it, "Musee du Louvre" may not. Types overlap (the Louvre is filed under heritage, not museum), so a type filter narrows rather than decides — anything it excludes comes back under otherTypes.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Part of the name."
},
"type": {
"type": "string",
"description": "Prefer a type, e.g. \"monument\", \"museum\", \"airport\", \"city\", \"heritage\", \"park\". Other-type matches still come back, under otherTypes."
},
"country": {
"type": "string",
"description": "Narrow by country (ISO-2 or name)."
},
"limit": {
"type": "number",
"description": "Max results, default 10."
}
},
"required": [
"query"
]
}🟡add_place(place, notes)
Mark a specific place as visited — a monument, museum, airport, city, park and so on. Pass an id from search_places.
Esquema de entrada
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "A place id from search_places, e.g. \"monument:eiffel-tower-fr\"."
},
"notes": {
"type": "string",
"description": "Optional private note kept with this visit. Only the account owner sees it."
}
},
"required": [
"place"
]
}🔴remove_place(place)
Unmark a specific place such as a monument, museum, airport or city, undoing add_place. Accepts a place id from search_places or the exact place name. This lowers the user's score, so confirm before removing anything they did not name.
Esquema de entrada
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "A place id, or its exact name."
}
},
"required": [
"place"
]
}🟢list_trips(limit, offset)
The user's trips, newest first. Paged: check `total` against `returned` and follow `nextOffset` to read the rest.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Rows per page, default 100, max 200."
},
"offset": {
"type": "number",
"description": "Skip this many. Use nextOffset from the previous page."
}
}
}🟢get_rank(board)
This account's position on a global leaderboard, with the value it was ranked on and how many explorers are ranked in total. Boards: overall score, renown, countries, regions or places. Use it to answer "where do I rank" or to compare progress over time.
Esquema de entrada
{
"type": "object",
"properties": {
"board": {
"type": "string",
"enum": [
"score",
"renown",
"countries",
"regions",
"places"
],
"description": "Which board. Default score."
}
}
}🟡add_places_to_trip(tripId, visitIds)
Attach places you have already marked to a trip. Pass visit ids from list_visited.
Esquema de entrada
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"description": "From list_trips."
},
"visitIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Visit ids, e.g. \"place:museum:Q1954384\". Countries and regions are not attachable."
}
},
"required": [
"tripId",
"visitIds"
]
}🟡set_trip_visibility(tripId, visibility)
Publish a trip on the user's public profile, or take it private again. Private trips are visible only to the account owner. Always ask before making a trip public, since it then shows the trip's title, dates and places to anyone.
Esquema de entrada
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"description": "From list_trips."
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
],
"description": "public shows the trip on the user's profile; private hides it again."
}
},
"required": [
"tripId",
"visibility"
]
}🔴delete_trip(tripId, confirm)
Permanently delete a trip. The places in it stay marked on the map — only the grouping is removed. Requires the exact trip id and confirm:true.
Esquema de entrada
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"description": "The exact id from list_trips. Titles and labels are not accepted."
},
"confirm": {
"type": "boolean",
"description": "Must be true. Ask the user first — this cannot be undone from here."
}
},
"required": [
"tripId",
"confirm"
]
}🟡set_visit_dates(visitId, dates)
Set the travel dates on something already marked as visited. Does not change score.
Esquema de entrada
{
"type": "object",
"properties": {
"visitId": {
"type": "string",
"description": "The id from list_visited, e.g. \"PT\" or \"reg:FR-95\"."
},
"dates": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO dates, YYYY-MM-DD."
}
},
"required": [
"visitId",
"dates"
]
}🟡create_trip(title, dateFrom, dateTo, visibility)
Create a trip with a title and date range. Private by default.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "What the trip is called, e.g. \"Iberia 2026\"."
},
"dateFrom": {
"type": "string",
"description": "First day of the trip, YYYY-MM-DD."
},
"dateTo": {
"type": "string",
"description": "Last day of the trip, YYYY-MM-DD."
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
],
"description": "Default private."
}
},
"required": [
"title"
]
}Prompts recomendados
search_placessearch_placesget_statsget_statslist_visitedComunidad
Evidencia