protogrid

Search / io.github.cyanheads/reliefweb-mcp-server

reliefweb-mcp-server

R0· no sign-in

Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.

v0.2.3 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality89good
Trust94of 100
Uptime, 30 days100%
Latency p50184 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "reliefweb-mcp-server": {
      "type": "http",
      "url": "https://reliefweb.caseyjhand.com/mcp"
    }
  }
}
claude mcp add --transport http reliefweb-mcp-server https://reliefweb.caseyjhand.com/mcp
[mcp_servers.reliefweb-mcp-server]
url = "https://reliefweb.caseyjhand.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "reliefweb-mcp-server": {
      "type": "remote",
      "url": "https://reliefweb.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "reliefweb-mcp-server": {
      "type": "http",
      "url": "https://reliefweb.caseyjhand.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=reliefweb-mcp-server&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcmVsaWVmd2ViLmNhc2V5amhhbmQuY29tL21jcCJ9"
}
{
  "servers": {
    "reliefweb-mcp-server": {
      "type": "http",
      "url": "https://reliefweb.caseyjhand.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "reliefweb-mcp-server": {
      "httpUrl": "https://reliefweb.caseyjhand.com/mcp"
    }
  }
}
extensions:
  "reliefweb-mcp-server":
    enabled: true
    name: "reliefweb-mcp-server"
    type: streamable_http
    uri: "https://reliefweb.caseyjhand.com/mcp"
    timeout: 300

Quality 89 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations11 of 11 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: reliefweb_search_disasters (destructiveHint); reliefweb_get_country (destructiveHint); reliefweb_list_countries (destructiveHint); …
  • pass
    tools.token_costabout 6,737 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes5 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15

11 tools, about 6,737 tokens to load them all · tool set 28e404d09395 · tools last changed 2026-10-09 · checked 2026-10-19 10:52 UTC

Tool changes

  • reliefweb_get_trainingchangedinput schema
  • reliefweb_get_jobchangedinput schema
  • reliefweb_get_countrychangedinput schema
  • reliefweb_get_disasterchangedinput schema
  • reliefweb_get_reportchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% +updated-10d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

@cyanheads/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://reliefweb.caseyjhand.com/mcp streamable-httpnoneyes100%184 ms2026-07-282026-10-19
packageregistryversionruntimesecrets
@cyanheads/reliefweb-mcp-servernpm0.2.3npx
@cyanheads/reliefweb-mcp-servernpm0.2.3npx

Tools (11)

reliefweb_get_countryread-onlyFetch 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 summary for humanitarian responders. Each curated list also has an archive — thousands of entries deep for a long-running crisis — which the profile leaves out. Two alternative selectors, at most one per call: sections names parts of the profile to return, archive pages one list's archived entries in place of the profile. A profile over the response budget comes back as a section outline naming every section and its byte size. Nothing is truncated on any path.
reliefweb_get_disasterread-onlyFetch 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 archive, which the record leaves out. Two alternative selectors, at most one per call: sections names parts of the record to return, archive pages one list's archived entries in place of the record. Description and profile overview can together run to tens of KB for major disasters. A record over the response budget comes back as a section outline naming every section and its byte size. Nothing is truncated on any path.
reliefweb_get_jobread-onlyFetch 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. Reaches expired postings as well as open ones. A record over the response budget comes back as a section outline naming every section and its byte size; re-call with sections to pull only the ones needed. Nothing is truncated on either path.
reliefweb_get_reportread-onlyFetch 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 over the response budget comes back as a section outline naming every section and its byte size; re-call with sections to pull only the ones needed. Nothing is truncated on either path.
reliefweb_get_trainingread-onlyFetch 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, registration instructions, or cost detail. Reaches concluded listings as well as current ones. A record over the response budget comes back as a section outline naming every section and its byte size; re-call with sections to pull only the ones needed. Nothing is truncated on either path.
reliefweb_list_countriesread-onlyList 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 countries with active humanitarian situations.
reliefweb_list_sourcesread-onlyBrowse 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_search_training.
reliefweb_search_disastersread-onlySearch 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 for use with reliefweb_get_disaster and as disaster_id filter in reliefweb_search_reports.
reliefweb_search_jobsread-onlySearch 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 larger than the open set. Use text search for role titles and job descriptions.
reliefweb_search_reportsread-onlySearch 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 document content is needed. Every report is reachable by default — reports have no archived class, so include_archived has no effect here. Note: each call counts against the 1,000 calls/day quota.
reliefweb_search_trainingread-onlySearch humanitarian training and learning opportunities on ReliefWeb by country, format, date, source, career category, and language. Covers on-site and online capacity-building events. Training date fields use date.start / date.end — different from report date fields. Use date_start_from and date_start_to to find upcoming training within a window. Results default to soonest-starting first (date.start:asc). With neither date bound supplied the search is scoped to training starting from now, so the first page is upcoming opportunities; supply either bound to search an explicit range, including a historical one. Use include_archived=true to search concluded listings as well, which are far more numerous than the current ones.

Schemas: list_tools.

Similar MCP servers

More from io.github.cyanheads

And 136 more from this publisher.

Official server.json
{
  "name": "io.github.cyanheads/reliefweb-mcp-server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://reliefweb.caseyjhand.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.3",
  "packages": [
    {
      "version": "0.2.3",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@cyanheads/reliefweb-mcp-server",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "RELIEFWEB_APP_NAME",
          "format": "string",
          "isRequired": true,
          "description": "Pre-approved appname for the ReliefWeb API v2. Required since November 2025."
        },
        {
          "name": "MCP_LOG_LEVEL",
          "format": "string",
          "default": "info",
          "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
        }
      ]
    },
    {
      "version": "0.2.3",
      "transport": {
        "url": "http://localhost:3010/mcp",
        "type": "streamable-http"
      },
      "identifier": "@cyanheads/reliefweb-mcp-server",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "MCP_TRANSPORT_TYPE",
          "value": "http",
          "format": "string",
          "description": "Selects the HTTP transport."
        },
        {
          "name": "RELIEFWEB_APP_NAME",
          "format": "string",
          "isRequired": true,
          "description": "Pre-approved appname for the ReliefWeb API v2. Required since November 2025."
        },
        {
          "name": "MCP_HTTP_HOST",
          "format": "string",
          "default": "127.0.0.1",
          "description": "The hostname for the HTTP server."
        },
        {
          "name": "MCP_HTTP_PORT",
          "format": "string",
          "default": "3010",
          "description": "The port to run the HTTP server on."
        },
        {
          "name": "MCP_HTTP_ENDPOINT_PATH",
          "format": "string",
          "default": "/mcp",
          "description": "The endpoint path for the MCP server."
        },
        {
          "name": "MCP_PUBLIC_URL",
          "format": "string",
          "description": "Public origin override for deployments behind a TLS-terminating reverse proxy."
        },
        {
          "name": "MCP_AUTH_MODE",
          "format": "string",
          "default": "none",
          "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
        },
        {
          "name": "MCP_LOG_LEVEL",
          "format": "string",
          "default": "info",
          "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/cyanheads/reliefweb-mcp-server",
    "source": "github"
  },
  "description": "Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP."
}