TravelType
Search and explore a global travel points-of-interest catalog (cities, countries, POIs).
¿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": {
"travel-poi": {
"url": "https://mcp.traveltype.app"
}
}
}Puntos de conexión remotos
https://mcp.traveltype.appstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (7)
🟢list_cities(country, limit, offset)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code filter, e.g. 'DE'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50,
"description": "Maximum number of cities to return (1-100)."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Number of cities to skip, for pagination."
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"name_en": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"poi_count": {
"type": "integer"
},
"wikidata_qid": {
"type": [
"string",
"null"
]
}
},
"required": [
"slug",
"name",
"country_iso2",
"lat",
"lng",
"poi_count"
]
}
},
"total": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
}
},
"required": [
"cities",
"total",
"limit",
"offset"
]
}🟢get_city(slug, lang)
Get one city by slug, including POI count, top distinctive tags, top categories, and a sample of its top POIs.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "City slug, e.g. 'berlin'."
},
"lang": {
"type": "string",
"enum": [
"en",
"de"
],
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
}
},
"required": [
"slug"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"name_en": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"poi_count": {
"type": "integer"
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"top_tags": {
"type": "array",
"items": {
"type": "string"
}
},
"top_categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
]
}
},
"sample_pois": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"city_slug": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": [
"string",
"null"
]
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
]
}
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"osm_id": {
"type": [
"string",
"null"
]
},
"google_place_id": {
"type": [
"string",
"null"
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"image_source": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"slug",
"name",
"lat",
"lng",
"tags",
"url"
]
}
}
},
"required": [
"slug",
"name",
"country_iso2",
"lat",
"lng",
"poi_count"
]
}🟢list_countries
List every country that has at least one active city, with city and POI counts.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"iso2": {
"type": "string"
},
"name_de": {
"type": "string"
},
"name_en": {
"type": "string"
},
"name_local": {
"type": [
"string",
"null"
]
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"city_count": {
"type": "integer"
},
"poi_count": {
"type": "integer"
}
},
"required": [
"iso2",
"name_de",
"name_en",
"city_count",
"poi_count"
]
}
}
},
"required": [
"countries"
]
}🟢get_country(iso2)
Get one country by ISO 3166-1 alpha-2 code, including its active cities (top 100 by POI count).
Esquema de entrada
{
"type": "object",
"properties": {
"iso2": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code, e.g. 'DE'."
}
},
"required": [
"iso2"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"iso2": {
"type": "string"
},
"name_de": {
"type": "string"
},
"name_en": {
"type": "string"
},
"name_local": {
"type": [
"string",
"null"
]
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"city_count": {
"type": "integer"
},
"poi_count": {
"type": "integer"
},
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"name_en": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"poi_count": {
"type": "integer"
},
"wikidata_qid": {
"type": [
"string",
"null"
]
}
},
"required": [
"slug",
"name",
"country_iso2",
"lat",
"lng",
"poi_count"
]
}
}
},
"required": [
"iso2",
"name_de",
"name_en",
"city_count",
"poi_count"
]
}🟢search_pois(q, city, tags, limit, lang)
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.
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."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs; a POI must carry all of them."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Maximum number of POIs to return (1-50)."
},
"lang": {
"type": "string",
"enum": [
"en",
"de"
],
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"pois": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"city_slug": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": [
"string",
"null"
]
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
]
}
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"osm_id": {
"type": [
"string",
"null"
]
},
"google_place_id": {
"type": [
"string",
"null"
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"image_source": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"slug",
"name",
"lat",
"lng",
"tags",
"url"
]
}
},
"count": {
"type": "integer"
}
},
"required": [
"pois",
"count"
]
}🟢get_poi_details(id, lang)
Get one POI by UUID or slug, with full enrichment: coordinates, approved tags, categories, Wikidata/OSM/Google identifiers, and hero image.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "POI UUID or slug."
},
"lang": {
"type": "string",
"enum": [
"en",
"de"
],
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
}
},
"required": [
"id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"city_slug": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": [
"string",
"null"
]
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
]
}
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"osm_id": {
"type": [
"string",
"null"
]
},
"google_place_id": {
"type": [
"string",
"null"
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"image_source": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"slug",
"name",
"lat",
"lng",
"tags",
"url"
]
}🟢find_similar_pois(id, limit, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "POI UUID or slug."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10,
"description": "Maximum number of similar POIs to return (1-30)."
},
"lang": {
"type": "string",
"enum": [
"en",
"de"
],
"default": "en",
"description": "Language for human-readable name/description fields. EN is canonical."
}
},
"required": [
"id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"pois": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"city_slug": {
"type": [
"string",
"null"
]
},
"country_iso2": {
"type": [
"string",
"null"
]
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
]
}
},
"wikidata_qid": {
"type": [
"string",
"null"
]
},
"osm_id": {
"type": [
"string",
"null"
]
},
"google_place_id": {
"type": [
"string",
"null"
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"image_source": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"slug",
"name",
"lat",
"lng",
"tags",
"url"
]
}
},
"count": {
"type": "integer"
}
},
"required": [
"pois",
"count"
]
}Comunidad
Evidencia