get_maps
Retrieve maps of Colombia or specific departments to access geographical information for navigation, planning, or educational purposes.
Instructions
Obtiene mapas de Colombia o de un departamento específico.
Args:
department_id (number, opcional): ID del departamento para obtener su mapa
Returns: URLs de mapas del departamento o país.
Ejemplo de uso:
"Dame el mapa de Antioquia"
"Quiero ver mapas de Colombia"
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| department_id | No | ID del departamento |
Implementation Reference
- src/index.ts:986-1026 (handler)Handler function for 'get_maps' tool: fetches maps from API (/Department/{id}/maps or /Map), processes into structured JSON with id, name, description, url, department_id, and returns as text content. Handles errors gracefully.async ({ department_id }) => { try { let maps: any[]; if (department_id) { maps = await apiRequest<any[]>(`/Department/${department_id}/maps`); } else { maps = await apiRequest<any[]>("/Map"); } const resultado = { total: maps.length, mapas: maps.map(m => ({ id: m.id, nombre: m.name, descripcion: m.description, url: m.url, departamento_id: m.departmentId, })), }; return { content: [ { type: "text", text: JSON.stringify(resultado, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error al obtener mapas: ${error instanceof Error ? error.message : "Error desconocido"}`, }, ], }; } } );
- src/index.ts:963-985 (schema)Tool schema definition: title, description, optional input 'department_id' validated as integer via Zod, and annotations indicating read-only, non-destructive, idempotent, open-world tool.{ title: "Obtener Mapas", description: `Obtiene mapas de Colombia o de un departamento específico. Args: - department_id (number, opcional): ID del departamento para obtener su mapa Returns: URLs de mapas del departamento o país. Ejemplo de uso: - "Dame el mapa de Antioquia" - "Quiero ver mapas de Colombia"`, inputSchema: { department_id: z.number().int().optional().describe("ID del departamento"), }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, },
- src/index.ts:961-1026 (registration)Registration of the 'get_maps' tool using server.registerTool, including name, metadata/schema, and handler function.server.registerTool( "get_maps", { title: "Obtener Mapas", description: `Obtiene mapas de Colombia o de un departamento específico. Args: - department_id (number, opcional): ID del departamento para obtener su mapa Returns: URLs de mapas del departamento o país. Ejemplo de uso: - "Dame el mapa de Antioquia" - "Quiero ver mapas de Colombia"`, inputSchema: { department_id: z.number().int().optional().describe("ID del departamento"), }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, }, async ({ department_id }) => { try { let maps: any[]; if (department_id) { maps = await apiRequest<any[]>(`/Department/${department_id}/maps`); } else { maps = await apiRequest<any[]>("/Map"); } const resultado = { total: maps.length, mapas: maps.map(m => ({ id: m.id, nombre: m.name, descripcion: m.description, url: m.url, departamento_id: m.departmentId, })), }; return { content: [ { type: "text", text: JSON.stringify(resultado, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error al obtener mapas: ${error instanceof Error ? error.message : "Error desconocido"}`, }, ], }; } } );