Skip to main content
Glama
Malja MCP

Malja MCP

Official

Generate country report

generate_country_report
Read-only

Generates a complete markdown humanitarian situation report for a country with key figures, refugee trends and chart, origins, asylum decisions, and demographics, reporting progress as it assembles.

Instructions

Compose a full markdown humanitarian situation report for a country: key figures, refugee trend with an embedded chart, origins of hosted refugees, asylum decisions and demographics. Reports progress while assembling.

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": {
      "country": "<country>"
    },
    "name": "generate_country_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
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.
countryYesCountry name or ISO3 code, e.g. "Egypt", "EGY", "syria"
year_toNoLast year of the range (default: latest available)
year_fromNoFirst year of the range (default: 10 years back)

Output Schema

NameRequiredDescriptionDefault
countryYes
year_toYes
markdownYes
year_fromYes
country_codeYes

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

A3.9/5.0
Behavior4/5

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

Annotations only cover readOnlyHint and openWorldHint; the description adds genuinely new behavior: output is markdown, a chart is embedded, and it streams "reports progress while assembling," which tells the agent to expect progressive output. It stops short of saying how long or how expensive a full report is, or whether failures partially stream.

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?

A single sentence that front-loads the action and output artifact, then lists sections in the order they appear. No filler, nothing redundant with the title.

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?

An output schema exists, so return values need no explanation, and the description covers the composite sections that matter for deciding whether one call replaces several. For a read-only generation tool with full schema coverage, nothing needed is missing.

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 country, locale, year_from and year_to are already fully documented at the field level. The description adds nothing about them — not even that the year range drives the trend chart — so the baseline 3 applies.

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

Purpose4/5

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

Uses a specific verb ("Compose") on a specific resource ("full markdown humanitarian situation report for a country") and enumerates the sections included, which separates it from aggregating siblings like country_profile or latest_statistics. It never names a sibling tool outright, so the differentiation is inferential rather than explicit.

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

Usage Guidelines3/5

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

The content list implies when this is the right tool (a narrative report rather than raw statistics), but there is no explicit "use this when…" or "use X instead for…" guidance against siblings such as situation_reports, export_report, or generate_chart. The agent must infer the routing from the phrasing alone.

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