Humanitarian Data Exchange

live Data

Humanitarian Data Exchange (HDX) MCP — data.humdata.org, the open

4 tools
0ms auth
free tier 50 calls/day

Tools

search_datasets

Search the Humanitarian Data Exchange catalogue (CKAN package_search) for datasets on displacement, refugees, food security, conflict, disasters, health, population, etc. Returns matching datasets wit

No parameters required.

Try it
dataset_details

Full dataset record by id or slug (CKAN package_show), including its resources. Each resource has a "download_url"/"url" pointing at the actual data file (usually CSV/XLSX) — that is how you read the

No parameters required.

Try it
list_locations

List the locations on HDX (CKAN group_list) — countries and crises, each keyed by a lowercase ISO3 code (e.g. {"name":"syr","display_name":"Syrian Arab Republic"}). Use a code as fq="groups:<name>" in

No parameters required.

Try it
list_organizations

List the publishing organizations on HDX (CKAN organization_list) — UN agencies and NGOs such as OCHA, UNHCR, WFP, IDMC, ACAPS. Use an org "name" as fq="organization:<name>" in search_datasets.

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/hdx/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/hdx/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_datasets","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_datasets", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("humanitarian data exchange (hdx) mcp — data");