Skip to main content
Glama

get_tourist_attractions

Find tourist attractions in Colombia by city or keyword to plan visits and discover destinations. Returns names, descriptions, locations, and images.

Instructions

Obtiene atracciones turísticas de Colombia. Puedes buscar por ciudad o por palabra clave.

Args:

  • city_id (number, opcional): ID de la ciudad para filtrar

  • search (string, opcional): Palabra clave para buscar (ej: "playa", "museo", "parque")

Returns: Lista de atracciones con nombre, descripción, ubicación e imágenes.

Ejemplo de uso:

  • "¿Qué lugares turísticos hay en Cartagena?"

  • "Busca atracciones relacionadas con playas"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
city_idNoID de la ciudad
searchNoPalabra clave para buscar

Implementation Reference

  • The main handler function for the get_tourist_attractions tool. It fetches tourist attractions from the external API based on optional city_id or search parameters, processes up to 20 results, and returns a formatted JSON response or error message.
    async ({ city_id, search }) => { try { let attractions: TouristAttraction[]; if (city_id) { attractions = await apiRequest<TouristAttraction[]>(`/City/${city_id}/touristattractions`); } else if (search) { attractions = await apiRequest<TouristAttraction[]>(`/TouristAttraction/search/${encodeURIComponent(search)}`); } else { attractions = await apiRequest<TouristAttraction[]>("/TouristAttraction"); } const resultado = { total: attractions.length, atracciones: attractions.slice(0, 20).map(a => ({ id: a.id, nombre: a.name, descripcion: a.description, coordenadas: { latitud: a.latitude, longitud: a.longitude, }, imagenes: a.images || [], ciudad_id: a.cityId, })), }; return { content: [ { type: "text", text: JSON.stringify(resultado, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error al obtener atracciones: ${error instanceof Error ? error.message : "Error desconocido"}`, }, ], }; } } );
  • Zod input schema defining optional parameters city_id (number) and search (string) for the tool.
    inputSchema: { city_id: z.number().int().optional().describe("ID de la ciudad"), search: z.string().optional().describe("Palabra clave para buscar"), },
  • src/index.ts:421-422 (registration)
    Registers the tool named 'get_tourist_attractions' with the MCP server.
    server.registerTool( "get_tourist_attractions",
  • TypeScript interface defining the TouristAttraction data structure used to type the API response in the tool handler.
    interface TouristAttraction { id: number; name: string; description: string; images: string[]; latitude: string; longitude: string; cityId: number; city?: City; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crexative/colombia-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server