cyanheads avatar

Reliefweb Mcp Server

cyanheads/reliefweb-mcp-server

Gives you programmatic access to ReliefWeb's humanitarian data through nine search and retrieval tools. You can query disaster reports, active crises, country profiles, job listings, and training opportunities with filters for location, date, organization, and content type. The API wraps ReliefWeb's public endpoints and returns structured data including full report bodies, GLIDE numbers for cross-system correlation, and OCHA-curated situation overviews. Use it when you're building humanitarian response dashboards, aggregating crisis intelligence, or need to pull country briefings and disaster metadata into an LLM workflow. Available over stdio or as a hosted HTTP endpoint, and includes a crisis briefing prompt template.

GitHub stars
2
tools
11
auth
Required
transport
STDIO, HTTP
env vars
9
last updated
Oct 26, 2026

Install

From registry metadata
$ npx add-mcp https://reliefweb.caseyjhand.com/mcp --name reliefweb

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http reliefweb https://reliefweb.caseyjhand.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

reliefweb_search_reportsSearch humanitarian reports on ReliefWeb with filtering by country, disaster, format, theme, language, source, and date. Returns paginated summaries — use reliefweb_get_report to fetch full body text. Report body is excluded from results (10–100KB each); call get_report when d...14 params

Search humanitarian reports on ReliefWeb with filtering by country, disaster, format, theme, language, source, and date. Returns paginated summaries — use reliefweb_get_report to fetch full body text. Report body is excluded from results (10–100KB each); call get_report when d...

Parameters* required
countrystring
ISO 3166-1 alpha-3 country code (e.g., SYR, AFG, UKR). Filters to content tagged with this country.
date_fromvalue
Earliest publication date. Filters on date.original (source publication date). A bare calendar date such as 2024-01-15 is accepted and resolves to start of that day in UTC; a datetime carrying any...
date_tovalue
Latest publication date. Pair with date_from for a date range. A bare calendar date resolves to end of that day in UTC, so the range covers it in full; a datetime carrying any offset is resolved to...
disaster_idinteger
ReliefWeb numeric disaster ID. Filters to reports linked to a specific disaster. Get the ID from reliefweb_search_disasters.
filterobject
Raw ReliefWeb filter object for compound conditions not covered by named params. Example: {"operator": "AND", "conditions": [{"field": "format.name", "value": "Map"}, {"field": "language.code", "va...
formatstring
Content format filter. One of: News and Press Release, Situation Report, Map, Infographic, Analysis, Other, Assessment, Manual and Guideline, Appeal, UN Document, Evaluation and Lessons Learned. Ca...
include_archivedboolean
No effect on reports. Reports have no archived class — every report is already in scope, whatever this is set to. Kept so existing calls that pass it keep working; it is meaningful on reliefweb_sea...
languagestring
ISO 639-1 language code (e.g., en, fr, es, ar). Filters on language.code.
limitinteger
Number of results to return (1–1000, default 10). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Use a smaller value for targeted lookups;...default: 10
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through large result sets.default: 0
sortstring
Sort order. Use date.original:desc for newest first (default), date.original:asc for oldest first, score:desc for relevance.
sourcestring
Organization short name (e.g., UNHCR, OCHA, WFP). Filters on source.shortname.
textstring
Full-text search query. Matches against title, body, and key metadata fields. Use plain natural language or keywords.
themestring
Sector or cross-cutting theme (e.g., Health, Food and Nutrition, Shelter and Non-Food Items, Protection). Open-ended — matches theme.name exactly as ReliefWeb spells it.
reliefweb_get_reportFetch a single ReliefWeb report by its numeric ID with full body text, file attachments, and all metadata. Use after reliefweb_search_reports to retrieve document content — body is excluded from search results to manage context budget. Report bodies can be 10–100KB. A record o...2 params

Fetch a single ReliefWeb report by its numeric ID with full body text, file attachments, and all metadata. Use after reliefweb_search_reports to retrieve document content — body is excluded from search results to manage context budget. Report bodies can be 10–100KB. A record o...

Parameters* required
id*integer
ReliefWeb numeric report ID. Obtained from reliefweb_search_reports results.
sectionsarray
Sections of the report record to return, named by the sections[].name values an outline response lists. Omit for the whole record, or for a section outline when the record is over the response budg...
reliefweb_search_disastersSearch active and historical disasters on ReliefWeb by type, country, status, date range, and GLIDE number. Default preset covers alert, ongoing, and past disasters. Use include_archived=true to reach alert-archive entries as well, for historical research. Returns IDs suitable...11 params

Search active and historical disasters on ReliefWeb by type, country, status, date range, and GLIDE number. Default preset covers alert, ongoing, and past disasters. Use include_archived=true to reach alert-archive entries as well, for historical research. Returns IDs suitable...

Parameters* required
countrystring
ISO 3166-1 alpha-3 country code (e.g., SYR, AFG, UKR). Filters to disasters tagged with this country.
date_fromvalue
Earliest disaster creation date. Filters on date.created. A bare calendar date such as 2024-01-15 is accepted and resolves to start of that day in UTC; a datetime carrying any offset is resolved to...
date_tovalue
Latest disaster creation date. Pair with date_from for a date range. A bare calendar date resolves to end of that day in UTC, so the range covers it in full; a datetime carrying any offset is resol...
disaster_typestring
Disaster type name (e.g., Earthquake, Flood, Drought, Cyclone). Filters on type.name.
glidestring
GLIDE number (global disaster identifier, e.g., EQ-2023-000053-TUR). Use for cross-system disaster correlation.
include_archivedboolean
Include alert-archive disasters in results, alongside alert, ongoing, and past. Uses preset=analysis. Off by default.
limitinteger
Number of results to return (1–1000, default 10). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Each call counts against the 1,000-calls/d...default: 10
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through results.default: 0
sortstring
Sort order. Use date.created:desc for newest first (default), date.created:asc for oldest, score:desc for relevance.
statusstring
Disaster status filter. One of: alert (newly declared), ongoing, past (resolved), alert-archive. Separate multiple values with commas; case, spacing, and punctuation are ignored, and any other valu...
textstring
Full-text search query. Matches against disaster name and description.
reliefweb_get_disasterFetch a disaster record by ReliefWeb numeric ID including description, affected countries, GLIDE number, profile overview, key content links, and active appeals or response plans. Use after reliefweb_search_disasters to retrieve full details. Each curated list also has an arch...3 params

Fetch a disaster record by ReliefWeb numeric ID including description, affected countries, GLIDE number, profile overview, key content links, and active appeals or response plans. Use after reliefweb_search_disasters to retrieve full details. Each curated list also has an arch...

Parameters* required
archiveobject
Archive mode: return a page of one curated list's ARCHIVED entries instead of the disaster record. The response carries the record identity, the selected list, and total / shown / offset, plus a ne...
id*integer
ReliefWeb numeric disaster ID. Obtained from reliefweb_search_disasters results.
sectionsarray
Sections of the disaster record to return, named by the sections[].name values an outline response lists. Omit for the whole record, or for a section outline when the record is over the response bu...
reliefweb_get_countryFetch a country profile from ReliefWeb by ISO3 code, including overview, humanitarian situation summary, key content links, active appeals and response plans, and useful external links. Country profiles are curated by OCHA editors and provide the authoritative situation summar...3 params

Fetch a country profile from ReliefWeb by ISO3 code, including overview, humanitarian situation summary, key content links, active appeals and response plans, and useful external links. Country profiles are curated by OCHA editors and provide the authoritative situation summar...

Parameters* required
archiveobject
Archive mode: return a page of one curated list's ARCHIVED entries instead of the country record. The response carries the record identity, the selected list, and total / shown / offset, plus a nex...
iso3*string
ISO 3166-1 alpha-3 country code (e.g., SYR, AFG, UKR). Used to look up the country's ReliefWeb profile.
sectionsarray
Sections of the country record to return, named by the sections[].name values an outline response lists. Omit for the whole record, or for a section outline when the record is over the response bud...
reliefweb_list_countriesList all countries and territories tracked by ReliefWeb, optionally filtered to active humanitarian situations. Returns ISO3 codes and status for each entry — use the ISO3 code with reliefweb_get_country to fetch a full profile. Set crisis_only=true to limit results to countri...3 params

List all countries and territories tracked by ReliefWeb, optionally filtered to active humanitarian situations. Returns ISO3 codes and status for each entry — use the ISO3 code with reliefweb_get_country to fetch a full profile. Set crisis_only=true to limit results to countri...

Parameters* required
crisis_onlyboolean
When true, filters to countries with an active humanitarian situation (status ongoing). Default false returns all countries.
limitinteger
Number of results to return (1–1000, default 100). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Each call counts against the 1,000-calls/...default: 100
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through results.default: 0
reliefweb_search_jobsSearch humanitarian job listings on ReliefWeb by country, organization, career category, theme, and experience level. Returns current open positions — expired postings are excluded by default. Use include_archived=true to search the full history of postings, which is far large...10 params

Search humanitarian job listings on ReliefWeb by country, organization, career category, theme, and experience level. Returns current open positions — expired postings are excluded by default. Use include_archived=true to search the full history of postings, which is far large...

Parameters* required
career_categorystring
ReliefWeb career-category name (e.g., Program/Project Management, Information and Communications Technology, Logistics/Procurement). Filters on career_categories.name.
countrystring
ISO 3166-1 alpha-3 country code (e.g., SYR, AFG, UKR). Filters to jobs tagged with this country.
experiencestring
Experience level (e.g., 0-2 years, 3-4 years, 5-9 years). Filters on experience.name.
include_archivedboolean
Search expired postings alongside the open ones. Uses preset=analysis. Off by default — the open set is a small fraction of the archive, so turn this on for labour-market history rather than for a...
limitinteger
Number of results to return (1–1000, default 10). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Each call counts against the 1,000-calls/d...default: 10
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through results.default: 0
sortstring
Sort order. Use date.created:desc for newest postings first (default), date.closing:asc to surface roles closing soonest, or score:desc for relevance.
sourcestring
Organization short name (e.g., UNHCR, OCHA, WFP). Filters on source.shortname.
textstring
Full-text search query. Matches against job title, body, and key metadata fields.
themestring
Sector or cross-cutting theme (e.g., Health, Food and Nutrition, Protection). Filters on theme.name.
reliefweb_get_jobFetch a job posting by ReliefWeb numeric ID with the full vacancy description, application instructions, dates, hiring organization, and location and taxonomy metadata. Use after reliefweb_search_jobs, which returns summaries without the description or application instructions...2 params

Fetch a job posting by ReliefWeb numeric ID with the full vacancy description, application instructions, dates, hiring organization, and location and taxonomy metadata. Use after reliefweb_search_jobs, which returns summaries without the description or application instructions...

Parameters* required
id*integer
ReliefWeb numeric job ID. Obtained from reliefweb_search_jobs results.
sectionsarray
Sections of the job record to return, named by the sections[].name values an outline response lists. Omit for the whole record, or for a section outline when the record is over the response budget....
reliefweb_search_trainingSearch humanitarian training and learning opportunities on ReliefWeb by country, format, date, source, career category, cost, listing language, and delivery language. Covers on-site and online capacity-building events. Training date fields use date.start / date.end — different...14 params

Search humanitarian training and learning opportunities on ReliefWeb by country, format, date, source, career category, cost, listing language, and delivery language. Covers on-site and online capacity-building events. Training date fields use date.start / date.end — different...

Parameters* required
career_categorystring
ReliefWeb career-category name (e.g., Program/Project Management, Information and Communications Technology, Logistics/Procurement). Filters on career_categories.name.
coststring
Training cost: free or fee-based. Case, spacing, and punctuation are ignored; blank is omitted.
countrystring
ISO 3166-1 alpha-3 country code (e.g., KEN, ETH, COD). Filters to training tagged with this country.
date_start_fromvalue
Training start date lower bound. Filters on date.start — use to find training starting after a given date. A bare calendar date resolves to start of that day in UTC, and a datetime carrying any off...
date_start_tovalue
Training start date upper bound. Filters on date.start — pair with date_start_from for a window. A bare calendar date resolves to end of that day in UTC, and a datetime carrying any offset is resol...
formatstring
Training format. Valid values: on-site, online. Filters on format.name.one of on-site · online
include_archivedboolean
Search concluded listings alongside the current ones. Uses preset=analysis. Off by default. Setting this also drops the start-from-now default bound, so an otherwise unbounded search reaches back t...
languagestring
Listing language code (ISO 639-1, e.g., en, fr, es). Filters on language.code; use training_language for the course delivery language.
limitinteger
Number of results to return (1–1000, default 10). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Each call counts against the 1,000-calls/d...default: 10
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through results.default: 0
sortstring
Sort order. Use date.start:asc for soonest-starting training first (default), date.start:desc for latest-starting, date.created:desc for most recently posted, or score:desc for relevance.
sourcestring
Organization short name. Filters on source.shortname.
textstring
Full-text search query. Matches against training title and description.
training_languagestring
Course delivery language code (ISO 639-1, e.g., en, fr, es). Filters on training_language.code independently of the listing language.
reliefweb_get_trainingFetch a training listing by ReliefWeb numeric ID with the full description, registration instructions, event link, cost and fee information, dates, languages, and organizing source. Use after reliefweb_search_training, which returns summaries without the description, registrat...2 params

Fetch a training listing by ReliefWeb numeric ID with the full description, registration instructions, event link, cost and fee information, dates, languages, and organizing source. Use after reliefweb_search_training, which returns summaries without the description, registrat...

Parameters* required
id*integer
ReliefWeb numeric training ID. Obtained from reliefweb_search_training results.
sectionsarray
Sections of the training record to return, named by the sections[].name values an outline response lists. Omit for the whole record, or for a section outline when the record is over the response bu...
reliefweb_list_sourcesBrowse source organizations that contribute content to ReliefWeb, optionally filtered by name text or organization type. Returns short names, types, and URLs. Use the shortname value with the source filter in reliefweb_search_reports, reliefweb_search_jobs, and reliefweb_searc...4 params

Browse source organizations that contribute content to ReliefWeb, optionally filtered by name text or organization type. Returns short names, types, and URLs. Use the shortname value with the source filter in reliefweb_search_reports, reliefweb_search_jobs, and reliefweb_searc...

Parameters* required
limitinteger
Number of results to return (1–1000, default 10). Larger integers are clamped to 1000 with a notice when clamping is enabled; otherwise they are rejected. Each call counts against the 1,000-calls/d...default: 10
offsetinteger
Zero-based offset for pagination. Use with limit and the totalCount enrichment field to page through results.default: 0
textstring
Full-text search query. Matches against organization name and short name.
typestring
Organization type. One of: Non-governmental Organization, International Organization, Academic and Research Institution, Other, Government, Media, Red Cross/Red Crescent Movement. Filters on type.n...one of Non-governmental Organization · International Organization · Academic and Research Institution · Other · Government · Media

Sponsors

Configuration

RELIEFWEB_APP_NAME*

Pre-approved appname for the ReliefWeb API v2. Required since November 2025.

RELIEFWEB_CLAMP_LIMITSdefault: true

Clamp over-cap page limits with a notice; false restores strict schema maxima.

MCP_LOG_LEVELdefault: info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

MCP_TRANSPORT_TYPEdefault: http

Selects the HTTP transport.

MCP_HTTP_HOSTdefault: 127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

The endpoint path for the MCP server.

MCP_PUBLIC_URL

Public origin override for deployments behind a TLS-terminating reverse proxy.

MCP_AUTH_MODEdefault: none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

Readme

@cyanheads/reliefweb-mcp-server

Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP. STDIO or Streamable HTTP.

11 Tools • 3 Resources • 1 Prompt • 1 Skill

Details

Repository
github.com/cyanheads/reliefweb-mcp-server
Category
Search & Web Crawling
Package
@cyanheads/reliefweb-mcp-server
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
1
Prompts
1
Tools verified
Nov 6, 2026

More from cyanheads

Related Search & Web Crawling MCP servers

View all
1cyanheads avatarSmithsonian Mcp Servercyanheads/smithsonian-mcp-serverSearch 14.5M Smithsonian Open Access objects, get CC0 images, find cross-collection connections.2stars
2cyberpapiii avatarImessage Maxcyberpapiii/imessage-maxAI-optimized MCP server for iMessage on macOS. Read, search, and send messages.2stars
3davooxbv2 avatarClishopdavooxbv2/clishopOrder anything from your terminal — search, buy, track, and manage via MCP tools.2stars
4cotletdev avatarQuora MCP Server and API by Cotletcotletdev/quora-api-mcp-serverQuora questions and answers community MCP server: search questions, post answer, list my answers.0stars
5geiserx avatarLynxPromptgeiserx/lynxprompt-mcpSearch, read and manage AI agent instruction blueprints (AGENTS.md, CLAUDE.md) on LynxPrompt2stars
6gregario avatarDnd Oraclegregario/dnd-oracleD&D 5e SRD MCP server with monster, spell, equipment search and encounter building tools2stars