Releases: cyanheads/gdelt-mcp-server
Release list
v0.4.1: mcp-ts-core bump — retryable 5xx, cancellation classification, stateless sessions
mcp-ts-core bump — retryable 5xx, cancellation classification, stateless sessions
- An upstream 5xx now classifies as retryable (ServiceUnavailable) instead of failing immediately (InternalError); a caller disconnect mid-call reports as a cancellation, not an internal error (mcp-ts-core ^0.12.5)
- MCP_SESSION_MODE set explicitly to stateless in .env.example and the README, matching the Dockerfile default (#34)
- Server identity (name/version/description) and a relative LOGS_DIR now resolve from the served package rather than the launching process's cwd
- deps:
@cyanheads/mcp-ts-core^0.12.3 → ^0.12.5,zod^4.4.3 → ^4.5.4 (+ 10 skills synced)
v0.4.0: Bounded TV timelines and GDELT API alignment
Bounded TV timelines and GDELT API alignment
- Page
gdelt_search_tvresponses with parity-identical structured and text point data (#23) - Normalize TV coverage, dates, and resolution handling (#27, #29)
- Align DOC and TV smoothing and sorting with documented GDELT parameters (#28)
- Release metadata, plugin manifests, changelog, and generated tree are synchronized
v0.3.1: Plugin manifest version sync
Plugin manifest version sync
- Synchronize Claude and Codex plugin manifests with the published server version
v0.3.0: GDELT error contracts and DOC time windows
GDELT error contracts and DOC time windows
v0.2.7: MCP SDK v2 maintenance
MCP SDK v2 maintenance
- Streamable HTTP supports protocol revision 2026-07-28 alongside legacy clients; undeclared tool inputs are rejected.
- Bun 1.4 Docker builds, TypeScript 7 tests, framework tooling, and community-health docs are synchronized.
- deps: @cyanheads/mcp-ts-core ^0.10.15 -> ^0.12.3 (plus development tooling updates)
v0.2.6: GDELT query-rejection classification and rate-limit fail-fast
GDELT query-rejection classification and rate-limit fail-fast
- Unenumerated GDELT query-rejection sentences now classify as invalid_query with a recovery hint instead of a server-fault SerializationError (#25)
- Rate-limit rejections (HTTP 429, HTTP-200 HTML, HTTP-200 plain-text) fail fast instead of retrying into GDELT's still-closed cooldown window; request spacing widened 5100ms → 5300ms for jitter headroom (#26)
- deps:
@cyanheads/mcp-ts-core^0.10.14 → ^0.10.15, biome → 2.5.5; bun audit clears 2 of 3 advisories, one moderate remains (unfixable from this repo)
v0.2.5: retrieval paths for series, points, and cap overflow
retrieval paths for series, points, and cap overflow
Folded-in series, capped timeline points, and cap-hit search/TV overflow now have named retrieval routes instead of dead ends.
Added:
gdelt_get_coverage_breakdown:seriesinput returns folded-in labels complete under newselectedSeries;otherSeriesLabelsnames them, ranked (#20)gdelt_get_coverage_timeline:pointsinput renders a named timestep's full article list under newexpandedPoints(#24)gdelt_search_articles,gdelt_get_tv_clips: newcontinuationWindowsenrichment hands back the queried window halved at the maxRecords ceiling — halves overlap by one second so nothing drops on the seam (#21)
Changed:
gdelt_get_coverage_timelinecapped-link rendering now shows how many links it displayed next to the true count (#24)
Fixed:
gdelt_search_articles,gdelt_get_tv_clipscap-hit notice no longer tells the caller to raisemaxRecordsalready at its ceiling (#21)
370 tests pass; bun run devcheck clean.
v0.2.4: content[] parity fixes; breakdown normalization documented
content[] parity fixes; breakdown normalization documented
Five tools stopped truncating array data in content[] that structuredContent already returned in full; gdelt_get_coverage_breakdown now documents its normalized values.
Fixed:
gdelt_get_tone_distribution,gdelt_get_tv_context,gdelt_get_tv_trendingrender every array element instead of slicing to 2/50/50 (#19)gdelt_get_coverage_timelinerenders every series point; per-point article links stay capped at 3, tracked in #24 (#19)gdelt_get_coverage_breakdownrenders every topSeries/otherAggregated point instead of only a total and peak; thegdelt_search_tvseries points remain unrendered, tracked in #23 (#19)gdelt_get_coverage_breakdowndiscloses that values are normalized shares of media output, not absolute article counts (#10)
334 tests pass; bun run devcheck clean.
v0.2.3: Date-range validation and GDELT query-error fixes
Date-range validation and GDELT query-error fixes
Fixed two input-handling bugs across all seven date/query-taking tools, and
picked up mcp-ts-core ^0.10.14 with a new install-time supply-chain guard.
Fixed:
- Unpaired startDatetime/endDatetime is now rejected instead of silently
dropped — format-validated by regex, pairing enforced in the handler (#22) - GDELT's plain-text query rejections (missing TV station, bad keyword,
unbalanced parens, illegal character) now classify as ValidationError with
a tailored recovery hint instead of a generic SerializationError (#18)
Added:
- bunfig.toml supply-chain guard — minimumReleaseAge blocks packages
published <3 days ago (framework excluded); @socketsecurity/bun-security-scanner
^1.1.2 scans every install
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.9 → ^0.10.14vitest^4.1.9 → ^4.1.10@types/node^26.0.0 → ^26.1.1ignore^7.0.5 → ^7.0.6tsc-alias^1.8.17 → ^1.9.0
Clears 8 transitive advisories (2 high, 6 moderate) across hono, js-yaml, and
vite — bun audit is clean.
325 tests pass; bun run devcheck clean.
v0.2.2: mcp-ts-core ^0.10.9 maintenance
mcp-ts-core ^0.10.9 maintenance
Framework, dependency, and tooling refresh — no server behavior change.
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.6 → ^0.10.9@biomejs/biome^2.4.16 → ^2.5.0@types/node^25.9.3 → ^26.0.0vitest^4.1.8 → ^4.1.9
Changed:
- Framework ^0.10.9 brings the
ctx.contentimage/audio collector, Canvas SQL-gateinvalid_sqlclassification, and theDuckdbProvider.describe()filter-qualification fix. devcheck.config.jsongainspackaging.pluginManifests: true—lint:packagingnow validates the Claude/Codex plugin manifests (descriptions, unscoped identity, full-name install arg).- Re-synced 13 framework skills + 6 devcheck scripts, including the new
check-dependency-specifiersstep guarding against floating dependency specifiers.
195 tests pass; bun run devcheck clean.