Humanitarian MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HMCP_CACHE | No | Cache backend: memory or sqlite | memory |
| HMCP_OFFLINE | No | 1 = serve cache only, never fetch | 0 |
| HMCP_CACHE_TTL | No | Seconds an entry is fresh | 3600 |
| HMCP_HTTP_HOST | No | Bind interface for HTTP mode | 127.0.0.1 |
| HMCP_HTTP_PORT | No | Port for HTTP mode | 8642 |
| HMCP_LOG_LEVEL | No | Log level: debug / info / warn / error | info |
| HMCP_PROVIDERS | No | Enabled providers, comma-separated | unhcr |
| HMCP_RATE_LIMIT_RPS | No | Outgoing requests/second per provider | 4 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_countryA | 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. |
| country_profileA | One-call humanitarian snapshot of a country: latest displaced population hosted (by category), population displaced FROM the country, and its top origin countries. |
| compare_countriesA | Compare a displacement metric across 2–5 countries over a year range. Defaults to refugees hosted (role "asylum") over the last 10 years. Set normalize_by to compare per 1,000 residents or per US$1bn GDP instead of absolute numbers. |
| refugee_populationA | Yearly displacement figures for a country: refugees, asylum-seekers, IDPs, stateless and others. role "asylum" (default) = hosted in the country; role "origin" = displaced from it. Optionally cross-filter by a second country (e.g. Syrians hosted in Egypt). Paginated. |
| demographicsA | Latest age/sex breakdown of displaced people connected to a country (role "asylum" = hosted there, default; "origin" = from there). UNHCR publishes demographics for recent years only. |
| latest_statisticsA | Most recent displacement figures. With a country: its latest hosted figures. Without: the latest global totals. |
| asylum_applicationsA | Individual asylum applications lodged per year. role "asylum" (default) = applications filed IN the country; "origin" = filed BY nationals of the country abroad. |
| asylum_decisionsA | Decisions on individual asylum applications per year — recognized, complementary protection, rejected, otherwise closed — plus the recognition rate. role "asylum" (default) = decided IN the country. |
| conflict_eventsA | Annual conflict event counts and fatalities for a country (ACLED via HDX). Pairs with refugee_population/trend_analysis to relate violence and displacement. |
| food_securityA | Latest IPC food-insecurity phase breakdown for a country: people per phase 1–5, with phase 3+ ("crisis or worse") as the headline. Data: IPC via HDX. |
| humanitarian_fundingA | Humanitarian appeal requirements vs funding received per year for a country, with coverage percentage (OCHA FTS via HDX). |
| situation_reportsA | Situation reports published about a country: yearly counts plus the most recent report titles and links (ReliefWeb). Use it to ground trends and anomalies from other tools in what was actually reported at the time. |
| trend_analysisA | Analyse how a displacement metric evolved for a country: yearly series, year-over-year changes, linear trend (slope, R²), CAGR and statistically anomalous years. Default: refugees hosted, last 10 years. |
| forecastA | Naive linear projection of a displacement metric 1–5 years ahead, based on the last 10 years. This is a statistical extrapolation, NOT a UNHCR planning figure — always present it with that caveat. |
| top_host_countriesA | Rank countries by a displacement metric for a year. by="asylum" (default) ranks host countries; by="origin" ranks countries people fled from. Set normalize_by="population" to rank per 1,000 residents (or "gdp" per US$1bn) — the ranking that shows Lebanon and Chad ahead of large economies. |
| generate_chartA | Render a displacement metric for one or more countries as a chart specification. Formats: "chartjs" (Chart.js v4 config JSON), "vega-lite" (v5 spec), "mermaid" (xychart block), "svg" (standalone image markup). Set normalize_by to plot per 1,000 residents or per US$1bn GDP. |
| generate_mapA | GeoJSON FeatureCollection of country centroid points sized by a displacement metric — drop it into any GeoJSON viewer (geojson.io, Leaflet, Kepler). by="asylum" maps host countries, by="origin" maps origins. |
| generate_country_reportA | 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. |
| export_dataA | Export normalized records from any dataset as csv, json, markdown or geojson (geojson only makes sense with group_by set, so rows map to countries). Use this when the user wants raw data to download or paste elsewhere. |
| get_metadataA | Describe the connected data providers: datasets served, metrics available, attribution and terms. Call this to learn what data exists before querying. |
| provider_healthA | Liveness check of every connected data provider (latency, reachability). Use when queries fail to distinguish upstream outages from bad parameters. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_situation | Concise overview of displacement in and from a country |
| compare_two_countries | Side-by-side displacement comparison of two countries |
| donor_briefing | Funding-oriented briefing for a country situation |
| explain_trends | Plain-language explanation of how and why displacement changed |
| find_anomalies | Hunt for statistically unusual years in a country’s displacement data |
| executive_report | Boardroom-ready report on a country situation |
| infographic_summary | Numbers and chart specs ready to hand to a designer |
| crisis_overview | Integrated displacement + conflict + hunger + funding picture for a country |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| providers-metadata | All enabled data providers with their datasets, attribution and terms |
| countries-metadata | All countries known to the primary provider, with ISO codes and regions |
| datasets-metadata | Every dataset served by any enabled provider, with metrics and citations |
| Forcibly displaced populations | End-year stocks of refugees, asylum-seekers, IDPs, stateless and other people of concern, by country of origin and country of asylum, 1951–present. |
| Demographics (age and sex) | Age/sex breakdown of people UNHCR protects or assists, by country. Recent years only. |
| Asylum applications | Individual asylum applications lodged, by year, origin and country of asylum. |
| Asylum decisions | Decisions on individual asylum applications: recognized, complementary protection, rejected, otherwise closed. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ahmedvnabil/humanitarian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server