Skip to main content
Glama

getCountry

Retrieve comprehensive information about Colombia, including departments, regions, cities, tourist attractions, and general country data through the API Colombia service.

Instructions

Get information about a country

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function for the 'getCountry' tool. It fetches data about Colombia from the API Colombia service, formats it into a structured text response, handles errors, and returns an ApiColombiaResponse.
    export async function getCountry(): Promise<ApiColombiaResponse> {
        try {
            const apiUrl = process.env.API_COLOMBIA_URL || 'https://api-colombia.com/api/';
            const response = await fetch(`${apiUrl}v1/Country/Colombia`);
            
            if (!response.ok) {
                throw new Error(`HTTP error! status: ${response.status}`);
            }
            
            const countryData: CountryData = await response.json(); 
            
            const countryInfo = `
    Country: ${countryData.name}
    Capital: ${countryData.stateCapital}
    Population: ${countryData.population.toLocaleString()}
    Area: ${countryData.surface.toLocaleString()} km²
    Region: ${countryData.region} - ${countryData.subRegion}
    Languages: ${countryData.languages.join(', ')}
    Currency: ${countryData.currency} (${countryData.currencyCode} ${countryData.currencySymbol})
    Time Zone: ${countryData.timeZone}
    ISO Code: ${countryData.isoCode}
    Internet Domain: ${countryData.internetDomain}
    Phone Prefix: ${countryData.phonePrefix}
    Borders: ${countryData.borders.join(', ')}
    
    Description:
    ${countryData.description}
    
    Flag URLs:
    ${countryData.flags.join('\n')}
            `.trim();
            
            return {
                content: [{
                    type: 'text',
                    text: countryInfo
                }]
            };
            
        } catch (error) {
            const errorMessage = error instanceof Error ? error.message : ERROR_MESSAGES.UNKNOWN_ERROR;
            return {
                content: [{
                    type: 'text',
                    text: `${ERROR_MESSAGES.FETCH_ERROR}: ${errorMessage}`
                }]
            };
        }
    }
  • Registers the 'getCountry' tool in the tools array, specifying its name, description (from constants), and handler function.
    {
      name: TOOL_NAMES.GET_COUNTRY,
      description: TOOL_DESCRIPTIONS.GET_COUNTRY,
      handler: getCountry,
    },
  • Defines the schema/interface for tool configurations used in the registration, including handler signature expecting ApiColombiaResponse.
    export interface ToolConfig {
      name: string;
      description: string;
      handler: (...args: any[]) => Promise<ApiColombiaResponse>;
    }
  • Constants for tool names, including GET_COUNTRY used in tool registration.
    export const TOOL_NAMES = {
      GET_COUNTRY: 'getCountry',
      GET_REGIONS: 'getRegions',
      GET_REGION_BY_ID: 'getRegionById',
      GET_DEPARTMENTS_BY_REGION: 'getDepartmentsByRegion',
    } as const;
  • Constants for tool descriptions, including for GET_COUNTRY used in registration.
    export const TOOL_DESCRIPTIONS = {
      GET_COUNTRY: 'Get information about a country',
      GET_REGIONS: 'Get list of regions in Colombia',
      GET_REGION_BY_ID: 'Get detailed information about a specific region by ID',
      GET_DEPARTMENTS_BY_REGION: 'Get list of departments for a specific region by region ID',
    } as const;

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

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/esneyder/apicolombia-mcp'

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