Skip to main content
Glama

List World Bank Countries

worldbank_list_countries
Read-onlyIdempotent

Lists countries and regional aggregates with metadata: ISO codes, region, income level, capital, and coordinates. Filterable by region code (e.g. EAS, SSF, NAC) and income level (LIC, LMC, UMC, HIC). By default, excludes regional/income-group aggregate entries and returns individual countries only. Set include_aggregates=true to also see region, income group, and world aggregate entities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPagination page number (1-based).
regionNoFilter by World Bank region code. Valid codes: EAS (East Asia & Pacific), ECS (Europe & Central Asia), LCN (Latin America & Caribbean), MEA (Middle East & North Africa), NAC (North America), SAS (South Asia), SSF (Sub-Saharan Africa).
per_pageNoResults per page (default: server default, max: 300).
income_levelNoFilter by income group code: LIC (Low income), LMC (Lower middle income), UMC (Upper middle income), HIC (High income).
include_aggregatesNoWhen true, includes regional, income-group, and world aggregate entries alongside individual countries. Default false (individual countries only).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
countriesNoCountries (and optionally aggregates) matching the filters.
totalCountNoTotal matching entries before pagination (includes aggregates if include_aggregates=true).
totalPagesNoTotal number of pages.
currentPageNoCurrent page number.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, covering safety and idempotency. The description adds value by disclosing the default filtering behavior (excludes aggregates) and the optional inclusion of aggregate entities, which is not fully captured by annotations. It also specifies the metadata fields returned, giving the agent a clearer picture of the output. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences: the first establishes the tool's purpose and content, and the second explains the default and the flag to change it. There is no redundancy, and the most important information (what it lists and the default) is front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full input schema and an output schema present, the description does not need to detail return formats. It adequately covers the core behavior (listing, filtering, aggregate control) and aligns with the annotations. An agent can correctly invoke the tool for a listing task without missing essential information, given the schema and annotations cover the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are documented in the schema with meaning. The description restates the filters and include_aggregates, but adds no new semantic nuance beyond what the schema already provides (e.g., it does not explain interaction effects or pagination behavior). Given the schema's thoroughness, the description adds minimal extra value, aligning with the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Lists') and a clear resource ('countries and regional aggregates'), and enumerates the metadata included (ISO codes, region, income level, capital, coordinates). It distinguishes itself from siblings like worldbank_get_country by focusing on listing, while also clarifying the default exclusion of aggregates. This is unambiguous and directly informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool (to list countries) and explains the default behavior (individual countries only) and how to opt into aggregates (include_aggregates=true). However, it does not explicitly mention alternative tools or state when not to use it, such as when a specific country is needed. Thus it meets the 'clear context, no exclusions' bar but stops short of explicit alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: metadata retrieval (worldbank_get_country, worldbank_get_indicator, worldbank_list_countries, worldbank_list_sources, worldbank_list_topics), data querying (worldbank_get_data, worldbank_get_poverty), and searching (worldbank_search_indicators, worldbank_search_projects). No two tools overlap in function; even search_indicators vs get_indicator are complementary (search returns IDs, get fetches details).

Naming Consistency5/5

All tools follow a uniform pattern: the 'worldbank_' prefix followed by a consistent verb_noun structure (get_country, get_data, list_sources, search_indicators). The convention is applied uniformly across all 9 tools, with no mixed styles or deviating verbs.

Tool Count5/5

9 tools is well-scoped for a World Bank data server. It covers metadata, discovery, data access, and project search without redundancy. The number is neither too sparse nor overwhelming, and each tool serves a clear role in the domain.

Completeness5/5

The tool surface covers the core workflows: browsing the catalog (topics, sources, indicators), fetching metadata, retrieving time-series data, accessing poverty/inequality data, and exploring the lending portfolio. There are no obvious gaps; the inclusion of pagination and clear chaining (e.g., search → get) makes the set comprehensive.