get_department
Retrieve detailed information about Colombian departments by ID or name, including population, area, capital city, and descriptions.
Instructions
Obtiene información detallada de un departamento específico por ID o nombre.
Args:
id (number, opcional): ID del departamento (1-33)
name (string, opcional): Nombre del departamento (ej: "Antioquia", "Cundinamarca")
Returns: Información detallada del departamento incluyendo población, superficie, capital y descripción.
Ejemplo de uso:
"Dame información sobre Antioquia"
"¿Cuál es la capital de Cundinamarca?"
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ID del departamento (1-33) | |
| name | No | Nombre del departamento |
Implementation Reference
- src/index.ts:228-277 (handler)Handler function that retrieves detailed information about a specific department by its ID or name using the API, formats the response, and handles errors.async ({ id, name }) => { try { let department: Department; if (id) { department = await apiRequest<Department>(`/Department/${id}`); } else if (name) { department = await apiRequest<Department>(`/Department/name/${encodeURIComponent(name)}`); } else { return { content: [ { type: "text", text: "Error: Debes proporcionar un ID o nombre del departamento", }, ], }; } const resultado = { id: department.id, nombre: department.name, descripcion: department.description, capital: department.cityCapital?.name || "N/A", poblacion: department.population, superficie_km2: department.surface, municipios: department.municipalities, prefijo_telefonico: department.phonePrefix, region_id: department.regionId, }; return { content: [ { type: "text", text: JSON.stringify(resultado, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error al obtener departamento: ${error instanceof Error ? error.message : "Error desconocido"}`, }, ], }; } }
- src/index.ts:218-220 (schema)Input schema defining optional parameters 'id' (number 1-33) and 'name' (string) for the get_department tool.id: z.number().int().min(1).max(33).optional().describe("ID del departamento (1-33)"), name: z.string().optional().describe("Nombre del departamento"), },
- src/index.ts:201-278 (registration)Registration of the 'get_department' tool with title, description, input schema, annotations, and handler function.server.registerTool( "get_department", { title: "Obtener Departamento Específico", description: `Obtiene información detallada de un departamento específico por ID o nombre. Args: - id (number, opcional): ID del departamento (1-33) - name (string, opcional): Nombre del departamento (ej: "Antioquia", "Cundinamarca") Returns: Información detallada del departamento incluyendo población, superficie, capital y descripción. Ejemplo de uso: - "Dame información sobre Antioquia" - "¿Cuál es la capital de Cundinamarca?"`, inputSchema: { id: z.number().int().min(1).max(33).optional().describe("ID del departamento (1-33)"), name: z.string().optional().describe("Nombre del departamento"), }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, }, async ({ id, name }) => { try { let department: Department; if (id) { department = await apiRequest<Department>(`/Department/${id}`); } else if (name) { department = await apiRequest<Department>(`/Department/name/${encodeURIComponent(name)}`); } else { return { content: [ { type: "text", text: "Error: Debes proporcionar un ID o nombre del departamento", }, ], }; } const resultado = { id: department.id, nombre: department.name, descripcion: department.description, capital: department.cityCapital?.name || "N/A", poblacion: department.population, superficie_km2: department.surface, municipios: department.municipalities, prefijo_telefonico: department.phonePrefix, region_id: department.regionId, }; return { content: [ { type: "text", text: JSON.stringify(resultado, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error al obtener departamento: ${error instanceof Error ? error.message : "Error desconocido"}`, }, ], }; } } );
- src/index.ts:50-65 (schema)TypeScript interface defining the structure of a Department object used in the tool's response.interface Department { id: number; name: string; description: string; cityCapitalId: number; municipalities: number; surface: number; population: number; phonePrefix: string; regionId: number; cityCapital?: { id: number; name: string; description: string; }; }