Skip to content

Releases: cyanheads/reliefweb-mcp-server

v0.1.14: active-only profile links, sort on job/training search

Choose a tag to compare

@cyanheads cyanheads released this 13 Jul 18:39
v0.1.14
a4a6772

active-only profile links, sort on job/training search

Bounds crisis-country get_country/get_disaster payloads and adds sort control to the job and training search tools.

Added:

  • sort input on reliefweb_search_jobs and reliefweb_search_training, mirroring the reports/disasters sort surface (#12)

Changed:

  • reliefweb_search_training now defaults to date.start:asc (soonest-starting), replacing date.created:desc (#12)
  • reliefweb_get_country / reliefweb_get_disaster return only the currently-active curated links for keyContent / appealsResponsePlans / usefulLinks; get_disaster gains a prose-size advisory (#9)

Fixed:

  • reliefweb_get_country no longer exceeds the client token limit for long-running crises — the key_content archive (2,300+ entries for Syria) is no longer merged into the response (#9)

172 tests pass; bun run devcheck clean.

CHANGELOG v0.1.14

v0.1.13: filter/taxonomy corrections + mcp-ts-core ^0.10.14

Choose a tag to compare

@cyanheads cyanheads released this 13 Jul 17:08
v0.1.13
914e0d3

filter/taxonomy corrections + mcp-ts-core ^0.10.14

Corrects filter fields and documented taxonomy across the search/list tools; framework and supply-chain maintenance.

Fixed:

  • search_reports/search_disasters country filter now matches country.iso3 (any tagged country), not primary_country.iso3 (#8)
  • list_sources text search now queries name + shortname, so acronym lookups resolve (#10)
  • list_countries crisis filter now sends the ongoing status directly instead of the legacy alert/current alias (#11)
  • Filter-value docs corrected across tool descriptions, README.md, and docs/design.md (#11)

Changed:

  • list_sources.type and search_training.format tightened to z.enum over the real ReliefWeb taxonomy; invalid values now rejected (#11)
  • Supply-chain hardening: Socket install scanner via bunfig.toml, pinned oven/bun:1.3.14 with --ignore-scripts + BuildKit cache, .github/SECURITY.md

Dependency bumps:

162 tests pass; bun run devcheck clean.

CHANGELOG v0.1.13

v0.1.12: mcp-ts-core ^0.10.9 maintenance

Choose a tag to compare

@cyanheads cyanheads released this 20 Jun 18:09
v0.1.12
4f18413

mcp-ts-core ^0.10.9 maintenance

Framework-maintenance release; no tool, resource, or server behavior changes.

Dependency bumps:

  • @cyanheads/mcp-ts-core ^0.10.6 → ^0.10.9
  • @types/node ^25.9.3 → ^26.0.0

Added:

  • check-dependency-specifiers devcheck step — floating-specifier guard over package.json deps and bun.lock workspaces (cyanheads/mcp-ts-core#246)
  • Plugin marketplace manifest checks in lint:packaging, gated by devcheck.config packaging.pluginManifests (cyanheads/mcp-ts-core#240)

Changed:

  • Re-synced vendored framework scripts (fresh-scaffold .git-absent skips, worktree-deletion guard) and eight skills (cyanheads/mcp-ts-core#237, #242, #243)
  • Populated the empty .codex-plugin longDescription

156 tests pass; bun run devcheck clean.

v0.1.11: Typed upstream-error contracts and applied-filter echoes

Choose a tag to compare

@cyanheads cyanheads released this 16 Jun 02:28
v0.1.11
40b9979

Typed upstream-error contracts and applied-filter echoes

Search and list tools now route ReliefWeb API failures through a typed contract, and the search tools surface the resolved filter set they ran with.

Added:

  • upstream_error errors[] contract on all six search/list tools — failures carry data.reason for agent routing (#6)
  • appliedFilters output on the four search tools — resolved filter set echoed back, rendered into content[] (#7)
  • notice enrichment on list_countries and list_sources for empty filtered results (#7)

Changed:

  • Empty-result notices on the four search tools echo every active filter (#7)
  • release:github runs via bun run; tsx devDependency removed

156 tests pass; bun run devcheck clean.

v0.1.10: server instructions, plugin display identity

Choose a tag to compare

@cyanheads cyanheads released this 16 Jun 00:56
v0.1.10
c8917de

server instructions, plugin display identity

Adds a server-level instructions string sent on every initialize, and unscopes the plugin manifest display identity to the hyphenated repo name.

Added:

  • instructions on createApp() — tool families, required RELIEFWEB_APP_NAME, identifier shapes (ISO3 country codes, numeric report/disaster IDs, organization shortnames), search-then-fetch workflow, daily call quota

Changed:

  • Plugin manifest display identity unscoped to reliefweb-mcp-server.claude-plugin/plugin.json (name, mcpServers key), .codex-plugin/plugin.json (interface.displayName), .codex-plugin/mcp.json (server key); install args stay @cyanheads/reliefweb-mcp-server

Dependency bumps:

  • vitest ^4.1.8 → ^4.1.9

136 tests pass; bun run devcheck clean.

v0.1.9: mcp-ts-core ^0.10.6, server identity, MCPB bundle cleaner

Choose a tag to compare

@cyanheads cyanheads released this 13 Jun 03:44
v0.1.9
58b31d5

mcp-ts-core ^0.10.6, server identity, MCPB bundle cleaner

Maintenance release: framework adoption, explicit display identity, and a
post-pack MCPB cleaner that strips dependency-shipped agent docs.

Added:

  • scripts/clean-mcpb.ts — post-pack MCPB cleaner (mcpb clean + exact-name strip
    of node_modules/** skills/, .claude/, .agents/, SKILL.md), wired into bundle
  • Docker HEALTHCHECK (bun-native fetch /healthz) and org.opencontainers.image.version label

Changed:

  • createApp() sets explicit name/title ('reliefweb-mcp-server') for display identity
  • .mcpbignore dev-dir patterns root-anchored so they don't strip nested runtime paths
  • lint:packaging gains bundle-content + name/title identity guards
  • check-framework-antipatterns: z.coerce.boolean() env-flag rule; skips comment lines

Dependencies:

  • @cyanheads/mcp-ts-core ^0.9.21 → ^0.10.6
  • @biomejs/biome ^2.4.16 → ^2.5.0
  • @types/node ^25.9.1 → ^25.9.3
  • tsx ^4.22.3 → ^4.22.4
  • vitest ^4.1.7 → ^4.1.8

136 tests pass; bun run devcheck clean.

v0.1.8: Three data-shape bug fixes: GET envelope, profile sub-fields, source type

Choose a tag to compare

@cyanheads cyanheads released this 04 Jun 07:42
v0.1.8
0a0a3ac

Three data-shape bug fixes: GET envelope, profile sub-fields, source type

All three tools that call single-record GET endpoints were broken against
the real ReliefWeb API due to shape mismatches in the service layer.

Fixed:

  • reliefweb_get_report / reliefweb_get_disaster: GET endpoint returns data
    as an array, not a single object; unwrap data[0] (#3)
  • reliefweb_get_country / reliefweb_get_disaster: profile sub-fields
    (key_content, appeals_response_plans, useful_links) are { title, active,
    archive } objects, not flat arrays; concatenate active + archive (#4)
  • reliefweb_list_sources: type field is a single { name } object, not an
    array; types was always absent from results; filter docs showed wrong
    values (e.g. 'NGO' vs 'Non-governmental Organization') (#5)

Service-level tests added in tests/services/reliefweb-service.test.ts
covering all three shapes; 136 tests pass total.

bun run devcheck clean.

v0.1.7: mcp-ts-core ^0.9.21 framework adoption

Choose a tag to compare

@cyanheads cyanheads released this 02 Jun 15:07
v0.1.7
9434bb1

mcp-ts-core ^0.9.21 framework adoption

Adopts three framework fixes from @cyanheads/mcp-ts-core ^0.9.21.

Changed:

  • HTTP transport per-request log context: logs and traces now carry fresh request + trace/span IDs instead of the frozen boot context.
  • fetchWithTimeout strips query-string secrets (e.g. ?api_key=) from error messages and logs.
  • withRetry fails fast on non-retryable errors; ctx.fail auto-populates the retryable flag.
  • README mcpServers keys normalized to package name (reliefweb-mcp-server).
  • release:github script added for structured GitHub Release creation.
  • devcheck: Open-Indexed Interfaces and Skill Versions checks added.
  • api-mirror and orchestrations skills added; 8 skills updated.

Dependencies:

  • @cyanheads/mcp-ts-core ^0.9.16 -> ^0.9.21
  • tsx ^4.22.3 -> ^4.22.4
  • vitest ^4.1.7 -> ^4.1.8

127 tests pass; bun run devcheck clean.

v0.1.6: enrichment block for search/list tools

Choose a tag to compare

@cyanheads cyanheads released this 30 May 10:11
v0.1.6
a5a80c0

enrichment block for search/list tools

Search and list tools now surface true upstream totals and empty-result
guidance in a typed enrichment block reaching both structuredContent (JSON)
and content[] (markdown trailer).

Changed:

  • reliefweb_search_reports, search_disasters, search_jobs, search_training: totalCount and empty-result hint moved to enrichment contract via ctx.enrich.total() / ctx.enrich.notice()
  • reliefweb_list_countries, list_sources: totalCount moved to enrichment via ctx.enrich.total()
  • output.message renamed to enrichment.notice (search tools) — value unchanged
  • @cyanheads/mcp-ts-core ^0.9.13 → ^0.9.16

43 tests pass; bun run devcheck clean.

v0.1.5: mcp-ts-core ^0.9.9 → ^0.9.13, plugin metadata files

Choose a tag to compare

@cyanheads cyanheads released this 29 May 05:40
v0.1.5
b647ba5

mcp-ts-core ^0.9.9 → ^0.9.13, plugin metadata files

Adopts framework releases 0.9.10–0.9.13.

Changed:

  • MCP_HTTP_MAX_BODY_BYTES — configurable inbound body cap (default 1 MiB); oversized requests rejected with HTTP 413 before the SDK parses the body
  • HTTP session-init gate — stateful HTTP mode rejects non-initialize requests without Mcp-Session-Id header with HTTP 400
  • Expected client errors (401/403/400/404) log at warning level, no stack traces
  • GET /mcp now surfaces package.json keywords in the status JSON

Added:

  • .claude-plugin/ and .codex-plugin/ — plugin metadata files
  • CITATION.cff — citation metadata
  • skills/code-simplifier/ — post-session cleanup skill

Dependency bumps:

  • @cyanheads/mcp-ts-core ^0.9.9 → ^0.9.13
  • @biomejs/biome ^2.4.15 → ^2.4.16

44 tests pass; bun run devcheck clean.