Servidor MCP

TravelType

io.github.TravelType/travel-poi
Mapas y ubicación Viajes y hospitalidad Público y accesible MCP 2026-07-28

Qué hace este MCP

Searches and explores a global catalog of travel points of interest, cities, countries, and related places with geographic and category details.

find_similar_pois
Find similar POIs
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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['pois', 'count'], 'properties': {'pois': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name', 'lat', 'lng', 'tags', 'url'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'osm_id': {'type': ['string', 'null']}, 'city_slug': {'type': ['string', 'null']}, 'image_url': {'type': ['string', 'null']}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'description': {'type': ['string', 'null']}, 'country_iso2': {'type': ['string', 'null']}, 'image_source': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}, 'google_place_id': {'type': ['string', 'null']}}}}, 'count': {'type': 'integer'}}}
get_city
Get city details
Get one city by slug, including POI count, top distinctive tags, top categories, and a sample of its top POIs.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['slug', 'name', 'country_iso2', 'lat', 'lng', 'poi_count'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'name_en': {'type': ['string', 'null']}, 'top_tags': {'type': 'array', 'items': {'type': 'string'}}, 'poi_count': {'type': 'integer'}, 'sample_pois': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name', 'lat', 'lng', 'tags', 'url'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'osm_id': {'type': ['string', 'null']}, 'city_slug': {'type': ['string', 'null']}, 'image_url': {'type': ['string', 'null']}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'description': {'type': ['string', 'null']}, 'country_iso2': {'type': ['string', 'null']}, 'image_source': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}, 'google_place_id': {'type': ['string', 'null']}}}}, 'country_iso2': {'type': 'string'}, 'wikidata_qid': {'type': ['string', 'null']}, 'top_categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}}}}}}
get_country
Get country details
Get one country by ISO 3166-1 alpha-2 code, including its active cities (top 100 by POI count).
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', 'required': ['iso2'], 'properties': {'iso2': {'type': 'string', 'description': "ISO 3166-1 alpha-2 code, e.g. 'DE'."}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['iso2', 'name_de', 'name_en', 'city_count', 'poi_count'], 'properties': {'iso2': {'type': 'string'}, 'cities': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'country_iso2', 'lat', 'lng', 'poi_count'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'name_en': {'type': ['string', 'null']}, 'poi_count': {'type': 'integer'}, 'country_iso2': {'type': 'string'}, 'wikidata_qid': {'type': ['string', 'null']}}}}, 'name_de': {'type': 'string'}, 'name_en': {'type': 'string'}, 'poi_count': {'type': 'integer'}, 'city_count': {'type': 'integer'}, 'name_local': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}}}
get_poi_details
Get POI details
Get one POI by UUID or slug, with full enrichment: coordinates, approved tags, categories, Wikidata/OSM/Google identifiers, and hero image.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['id', 'slug', 'name', 'lat', 'lng', 'tags', 'url'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'osm_id': {'type': ['string', 'null']}, 'city_slug': {'type': ['string', 'null']}, 'image_url': {'type': ['string', 'null']}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'description': {'type': ['string', 'null']}, 'country_iso2': {'type': ['string', 'null']}, 'image_source': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}, 'google_place_id': {'type': ['string', 'null']}}}
list_cities
List cities
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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['cities', 'total', 'limit', 'offset'], 'properties': {'limit': {'type': 'integer'}, 'total': {'type': 'integer'}, 'cities': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'country_iso2', 'lat', 'lng', 'poi_count'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'name_en': {'type': ['string', 'null']}, 'poi_count': {'type': 'integer'}, 'country_iso2': {'type': 'string'}, 'wikidata_qid': {'type': ['string', 'null']}}}}, 'offset': {'type': 'integer'}}}
list_countries
List countries
List every country that has at least one active city, with city and POI counts.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['countries'], 'properties': {'countries': {'type': 'array', 'items': {'type': 'object', 'required': ['iso2', 'name_de', 'name_en', 'city_count', 'poi_count'], 'properties': {'iso2': {'type': 'string'}, 'name_de': {'type': 'string'}, 'name_en': {'type': 'string'}, 'poi_count': {'type': 'integer'}, 'city_count': {'type': 'integer'}, 'name_local': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}}}}}}
search_pois
Search points of interest
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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['pois', 'count'], 'properties': {'pois': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name', 'lat', 'lng', 'tags', 'url'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'osm_id': {'type': ['string', 'null']}, 'city_slug': {'type': ['string', 'null']}, 'image_url': {'type': ['string', 'null']}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'description': {'type': ['string', 'null']}, 'country_iso2': {'type': ['string', 'null']}, 'image_source': {'type': ['string', 'null']}, 'wikidata_qid': {'type': ['string', 'null']}, 'google_place_id': {'type': ['string', 'null']}}}}, 'count': {'type': 'integer'}}}
Añadido
find_similar_pois
17 de September de 2026 a las 12:52
Añadido
get_poi_details
17 de September de 2026 a las 12:52
Añadido
search_pois
17 de September de 2026 a las 12:52
Añadido
get_country
17 de September de 2026 a las 12:52
Añadido
list_countries
17 de September de 2026 a las 12:52
Añadido
get_city
17 de September de 2026 a las 12:52
Añadido
list_cities
17 de September de 2026 a las 12:52