Skip to main content
Glama
Malja MCP

Malja MCP

Official

Search country

search_country
Read-only

Resolve free-text country queries to canonical names and ISO3 codes. Use it first when unsure how a country is spelled in the data.

Instructions

Resolve a free-text country query ("egypt", "DRC", "syria") to canonical names and ISO3 codes. Use this first when unsure how a country is spelled in the data.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_country"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax matches (default 5)
queryYesCountry name fragment, ISO2/ISO3 code or alias
localeNoLanguage of the human-readable text output: "en" (default) or "ar" (Modern Standard Arabic, right-to-left). Structured JSON fields, ISO3 codes and dataset ids stay in English either way.

Output Schema

NameRequiredDescriptionDefault
matchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.0
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv0.7.0

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and scope are covered. The description adds that matching is free-text/fuzzy resolution against aliases, but says nothing about behavior on zero matches or how many candidates come back, which matters most for a resolver step that gates downstream calls.

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?

Two sentences, both earning their place: the first defines input-to-output, the second places the tool in the workflow. No restatement of the title or name.

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

Completeness4/5

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

With an output schema present and all three parameters documented, the description covers what an agent needs to call it. The remaining gap is the no-result case, which is the primary failure mode for a normalization step feeding ~20 sibling tools.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The parenthetical examples ('egypt', 'DRC', 'syria') genuinely illustrate the accepted input space – lowercase spelling variants and acronyms – going beyond the schema's generic 'name fragment, ISO2/ISO3 code or alias' wording.

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?

States a specific verb and resource ('Resolve a free-text country query to canonical names and ISO3 codes') and gives concrete input examples. It is clearly distinguishable from data-retrieval siblings like country_profile or compare_countries, which consume country identifiers rather than produce them.

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?

"Use this first when unsure how a country is spelled in the data" gives an explicit trigger and a workflow position (before the data tools). No alternative is named or exclusion stated for the case where the agent already knows the ISO3 code, but the implied ordering is clear.

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