mcpbeat Sign in

Unhcr Refugees MCP Server

answering

Unhcr Refugees MCP Server is answering right now. Last checked 15 min ago. 124 installs a week from npm. It exposes 8 tools. Last commit 20 Oct 2026.

Query UNHCR refugee, IDP, and stateless populations, asylum decisions, returns, and resettlement.

Installs per day peak 190 · avg 17 · +107% w/w
a month agotoday
Uptime history 29 days of history · worst day 98%
29 days agonow
100.0%
Uptime 24h
91 of 91 checks
8
Tools
read from the server
531 ms
Response time
average over 24h
124
Installs / week
npm and PyPI

What changed 8

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 20 October 2026. No other catalogue keeps this.

20 Oct 6 tools changed the parameters they ask for unhcr_dataframe_query, unhcr_get_asylum_applications, unhcr_get_asylum_decisions and 3 more
20 Oct a tool description was rewritten unhcr_dataframe_query
20 Oct a tool changed version

Nothing serious here today

Today is the operative word: we check Unhcr Refugees MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 15 min ago.

run in your terminal
claude mcp add unhcr-refugees-mcp-server --transport http https://unhcr-refugees.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://unhcr-refugees.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.unhcr-refugees-mcp-server]
url = "https://unhcr-refugees.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "unhcr-refugees-mcp-server": {
      "url": "https://unhcr-refugees.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "unhcr-refugees-mcp-server": {
      "type": "http",
      "url": "https://unhcr-refugees.caseyjhand.com/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

unhcr
unhcr_dataframe_describe
Describe a dataframe (df_XXXXX_XXXXX) staged by the unhcr_get_* tools — any response carrying a dataset handle staged its full result here — or list them all where this deployment allows listing. Each entry gives the source tool, query parameters, creation and expiry time, row count, whether the upstream fetch was complete, and the column schema. Read the columns here before writing SQL for unhcr_dataframe_query.
unhcr_dataframe_query
Run a single-statement SELECT against the dataframes staged by the unhcr_get_* tools. Check a dataframe’s columns with unhcr_dataframe_describe first. Writes, DDL, DROP, COPY, PRAGMA, ATTACH, file references, external-data functions, engine introspection, dynamic table lookup, and system catalogs are rejected; query() accepts only a single SQL string literal, checked by the same gate. Optional register_as saves the result as a new dataframe with a fresh TTL. Recompute rates from summed counts rather than averaging rate columns.
unhcr_get_asylum_applications
Get asylum applications lodged per year (2000 to the latest year) by country of origin and/or asylum, split by default into application stage — new, repeat, appeal, and the combined stages some countries report — so new claims are not added to appeals of old ones. Counts given as cases are never added to counts of persons; each row states its unit. Decode stage, authority, and decision-level codes with unhcr_list_reference (topic asylum_codes).
unhcr_get_asylum_decisions
Get asylum decisions per year (2000 to the latest year) by country of origin and/or asylum: recognized as refugees, complementary protection, rejected, and otherwise closed, with UNHCR's Refugee Recognition Rate and Total Protection Rate computed over substantive decisions (otherwise-closed cases excluded). By default all decision levels are summed and each row lists the levels it includes; appeal-stage decisions can concern people already decided at first instance, so split_by decision_level or filter decision_levels to FI for first-instance rates. Cases and persons are never added together.
unhcr_get_demographics
Get UNHCR year-end stocks (2001 to the latest year) broken down by population type, sex, and age band (0–4, 5–11, 12–17, 18–59, 60+, unknown age), by country of origin and/or asylum. Coverage is partial: each row gives the share of its total that UNHCR could disaggregate by sex, and age bands are null where no breakdown exists. These totals come from a separate collection and need not match unhcr_get_population.
unhcr_get_population
Get UNHCR year-end displacement stocks (1951 to the latest year) by country of origin and/or asylum: refugees, asylum-seekers, other people in need of international protection, IDPs, stateless people, others of concern, and host communities, plus refugees and IDPs who returned during the year. Stocks count people in a situation on 31 December, not arrivals. Palestine refugees under UNRWA's mandate and IDMC's conflict-IDP estimate are separate series shown beside each row. Set include_nowcast for UNHCR's current-year estimate by asylum country; for sex and age breakdowns, use unhcr_get_demographics.
unhcr_get_solutions
Get durable solutions per year (1959 to the latest year) by country of origin and/or asylum: refugees who returned home, refugees resettled to a third country, refugees naturalised, and IDPs who returned. The asylum country means something different per column: the country refugees returned from, the country they were resettled to, the country that naturalised them; IDP returns sit on the origin country itself. Null means the figure was not collected for that country and year, not zero.
unhcr_list_reference
Decode the vocabulary the unhcr_* tools take as input: countries (ISO3, ISO2, UNHCR code, names, UNHCR and UN regions), UNHCR’s regional bureaus, each dataset’s first and latest year, population-type definitions, and the asylum authority, stage, decision-level, and unit codes. Filter countries with name_contains to turn a country name into the ISO3 code that origin and asylum take.

Endpoints

URLTransportStateLatencyChecked
https://unhcr-refugees.caseyjhand.com/mcp streamable-http answering 525 ms 15 min ago

Alternatives to Unhcr Refugees MCP Server

same job, measured the same way
Unhcr MCP
by mrfentmen

UNHCR forced displacement statistics: refugees, asylum seekers and stateless people by origin or

614 installs/wk local only
Sounding
by zeromega01

Sounding checks proposed decisions and returns structured proceed, revise, or pause assessments.

1 tools answering
Eurostat Statistics
by taru0208

Access European statistics: GDP, unemployment, inflation, population data.

answering
Us Drought Monitor MCP Server
by cyanheads

Query U.S. Drought Monitor severity, DSCI, population, and drought duration.

529 installs/wk 7 tools answering
Census MCP
by mrfentmen

US Census population data by nation, state, and county. Requires a free Census API key.

124 installs/wk local only
RegLayer Instant Decision Briefs
by reglayer

Company-specific regulatory assessments for concrete business questions, as structured data or PDF.

10 tools answering
Algenta MCP Server
by thyn-ai

Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.

1 087 installs/wk 140 tools answering
Uk Parliament Questions Statements
by nick-ma

MCP server for UK Parliament Questions and Statements API

38 installs/wk local only

Unhcr Refugees MCP Server — questions

Answers built from our own checks of this server.

What can Unhcr Refugees MCP Server do?
It exposes 8 tools, read directly from the server on our last check. Among them: unhcr_dataframe_describe, unhcr_dataframe_query, unhcr_get_asylum_applications, unhcr_get_asylum_decisions, unhcr_get_demographics, unhcr_get_population and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Unhcr Refugees MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 531 ms. The bar chart above shows every period we have measured.
How do I connect Unhcr Refugees MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Unhcr Refugees MCP Server need an API key?
No. Unhcr Refugees MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Unhcr Refugees MCP Server?
It answers our handshake in 531 ms on average, which is faster than 22% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Unhcr Refugees MCP Server?
The npm package @cyanheads/unhcr-refugees-mcp-server was installed 124 times in the last week. Week over week that is +107%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Unhcr Refugees MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 1 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at unhcr-refugees.caseyjhand.com, which runs on its operator's own terms.