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 |
Capabilities
Features and capabilities supported by this server
| 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
- 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