ExplorersMap

Update your ExplorersMap travel map from an AI assistant: countries, regions, places and trips.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
87%
Naming quality
99%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,564Tokens (tool definitions)
~705 BTypical response size
Significant attention impact (2.00% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "explorersmap": {
      "url": "https://explorersmap.net/mcp"
    }
  }
}

Remote endpoints

https://explorersmap.net/mcpstreamable-http

What it can do

Tool inventory

Tools (18)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒whoami

Who the connected ExplorersMap account belongs to, and how much of today's fair-use quota is left.

Input Schema

{
  "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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟒get_badges

Achievements this account has earned, newest first.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using ExplorersMap
Expected tools: search_places
find_specific
Find [specific item] using ExplorersMap
Expected tools: search_places
retrieve_data
Get details about [item] from ExplorersMap
Expected tools: get_stats
fetch_info
Fetch [information type] using ExplorersMap
Expected tools: get_stats
list_items
List all [items] available in ExplorersMap
Expected tools: list_visited

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded18 tools
verifiedversion not recorded18 tools