Skip to main content
Glama
Malja MCP

Malja MCP

Official

Asylum applications

asylum_applications
Read-only

Retrieve yearly individual asylum application counts by country, indicating whether applications were filed in that country or by its nationals abroad.

Instructions

Individual asylum applications lodged per year. role "asylum" (default) = applications filed IN the country; "origin" = filed BY nationals of the country abroad.

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": "asylum_applications"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleNo"asylum" = people hosted IN the country; "origin" = people displaced FROM the country
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
roleYes
sourceYes
yearlyYes
countryYes
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.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds real scope context — this is applications lodged, not decisions or refugee stock — but says nothing about coverage gaps, data provenance, or rate/auth behavior.

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

Conciseness4/5

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

Two short sentences with the measurement grain front-loaded and the mode disambiguation second. There is a small formatting defect (unbalanced quote before the first 'asylum'), but no wasted content.

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, all five parameters are fully documented, and annotations carry the safety profile. The description only needed to add grain and the role disambiguation, which it does.

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 the baseline is 3. The role explanation in the description largely restates the schema's own enum text ('hosted IN' vs 'filed BY'), adding only mild framing rather than new operational meaning.

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?

States a specific verb+resource+unit ('Individual asylum applications lodged per year'), which separates it from flow/stock siblings like refugee_population and asylum_decisions. It does not name any sibling explicitly, so the differentiation is inferential rather than stated.

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?

Explains what the two role modes mean and which is the default, which implies when to pick each, but gives no explicit 'use X instead when...' routing against siblings such as asylum_decisions or refugee_population. Usage is implied rather than directed.

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