Search and explore a global travel points-of-interest catalog (cities, countries, POIs).
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.
Find the nearest POIs to the given one by tag-cosine similarity (shared distinctive tags) — 'more like this'. Empty when the POI has only generic tags.
POI UUID or slug.
Language for human-readable name/description fields. EN is canonical.
Maximum number of similar POIs to return (1-30).
Find the nearest POIs to the given one by tag-cosine similarity (shared distinctive tags) — 'more like this'. Empty when the POI has only generic tags.
| Argument | Type | Description |
|---|---|---|
| id* | string | POI UUID or slug. |
| lang | string | Language for human-readable name/description fields. EN is canonical. |
| limit | integer | Maximum number of similar POIs to return (1-30). |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "POI UUID or slug."
},
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1,
"description": "Maximum number of similar POIs to return (1-30)."
}
},
"additionalProperties": false
}Get one city by slug, including POI count, top distinctive tags, top categories, and a sample of its top POIs.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language for human-readable name/description fields. EN is canonical. |
| slug* | string | City slug, e.g. 'berlin'. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
},
"slug": {
"type": "string",
"description": "City slug, e.g. 'berlin'."
}
},
"additionalProperties": false
}Get one country by ISO 3166-1 alpha-2 code, including its active cities (top 100 by POI count).
| Argument | Type | Description |
|---|---|---|
| iso2* | string | ISO 3166-1 alpha-2 code, e.g. 'DE'. |
{
"type": "object",
"required": [
"iso2"
],
"properties": {
"iso2": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code, e.g. 'DE'."
}
},
"additionalProperties": false
}Get one POI by UUID or slug, with full enrichment: coordinates, approved tags, categories, Wikidata/OSM/Google identifiers, and hero image.
| Argument | Type | Description |
|---|---|---|
| id* | string | POI UUID or slug. |
| lang | string | Language for human-readable name/description fields. EN is canonical. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "POI UUID or slug."
},
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
}
},
"additionalProperties": false
}List active cities ordered by POI count, with coordinates and Wikidata QID. Paginate with limit/offset; filter by ISO 3166-1 alpha-2 country code.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of cities to return (1-100). |
| offset | integer | Number of cities to skip, for pagination. |
| country | string | ISO 3166-1 alpha-2 country code filter, e.g. 'DE'. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of cities to return (1-100)."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Number of cities to skip, for pagination."
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code filter, e.g. 'DE'."
}
},
"additionalProperties": false
}List every country that has at least one active city, with city and POI counts.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Free-text POI search with prefix/tag/fuzzy ranking plus popularity and geo boosts. Provide `q` (free text, min 2 chars) and/or `city` (slug); with both, the search is scoped to that city. Optionally narrow with `tags` (a POI must carry all of them). At least one of `q` or `city` is required.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text query (min 2 chars). |
| city | string | Restrict to a city slug. |
| lang | string | Language for human-readable name/description fields. EN is canonical. |
| tags | array | Tag slugs; a POI must carry all of them. |
| limit | integer | Maximum number of POIs to return (1-50). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text query (min 2 chars)."
},
"city": {
"type": "string",
"description": "Restrict to a city slug."
},
"lang": {
"enum": [
"en",
"de"
],
"type": "string",
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs; a POI must carry all of them."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of POIs to return (1-50)."
}
},
"additionalProperties": false
}