cyanheads/gdelt-mcp-server
Search and analyze global news coverage and US television transcripts from the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.
Changelog
All notable changes to this project. Each entry links to its full per-version file in changelog/.
0.8.1 — 2026-11-01
Response cache that serves a stored answer when GDELT refuses, an optional local GKG mirror the DOC tools fall back to, UTC timespan math, and mode-qualified analytics date descriptions.
0.8.0 — 2026-11-01 · ⚠️ Breaking
TV station and show rankings, pooled timelines, and complete count-paged coverage.
0.7.0 — 2026-10-14 · ⚠️ Breaking
Breaking: the three DOC analytics tools page by offset within a 48,000-byte response and keep 3 article links per unit beside a true count; coverage breakdown drops the summed Other series; TV series and clips carry station IDs beside stationName; oversized limits run at the cap and report it; caller text in notices is quoted.
0.6.1 — 2026-10-07
Framework 0.13.13: tool error results carry a request ID and keep stack traces and root causes out of their data, and the Docker image installs its dependencies on the build platform.
0.6.0 — 2026-09-24
New gdelt_search_themes tool finds GKG theme identifiers for the theme: operator the DOC tools accept, searching GDELT's theme lookup by identifier words.
0.5.0 — 2026-09-24 · ⚠️ Breaking
gdelt_get_tv_trending is retired and zero-match queries now succeed with a notice instead of a no_* error; upstream text is Markdown-escaped in content[], and article and clip pages fit a 48,000-byte budget with a continuation to the rest.
0.4.3 — 2026-09-22
GDELT requests get a configurable per-request deadline bounding the whole call, the pacer now spaces from the previous response's completion instead of its start, and invalid TV stations and calendar-invalid or reversed date ranges are rejected with a proper contract instead of an opaque error.
0.4.2 — 2026-09-19
GDELT requests run through the framework's shared outbound pacer with a cooldown gate and queue-wait rejection, and createApp() declares a stateless session posture in src/. Argument rejections carry a recovery hint, and client-added keys or case-style parameter variants are tolerated instead of rejected.
0.4.1 — 2026-09-02
Framework bump classifies an upstream 5xx as retryable and a mid-call disconnect as a cancellation rather than an internal error; MCP_SESSION_MODE is now stateless everywhere, matching the container.
0.4.0 — 2026-08-30 · ⚠️ Breaking
Bound TV timeline pages, normalize timeline dates, and align GDELT query parameters with documented API contracts.
0.3.1 — 2026-08-30
Synchronize the Claude and Codex plugin manifests with the published server version.
0.3.0 — 2026-08-30
Stabilize GDELT rate-limit recovery and enforce the DOC API's 15-minute timespan floor.
0.2.7 — 2026-08-22
Modern MCP protocol support and strict tool-input validation with mcp-ts-core 0.12.3.
0.2.6 — 2026-07-24
Fixed: unenumerated GDELT query-rejection sentences no longer serialize as server errors (#25); rate-limit responses fail fast instead of burning the retry budget (#26); mcp-ts-core ^0.10.15 clears 2 of 3 bun audit advisories
0.2.5 — 2026-07-15
Added: selectable series (#20) and named point expansion (#24); search_articles/get_tv_clips return continuationWindows instead of a dead-end cap notice (#21)
0.2.4 — 2026-07-15
Fixed: content[] omitted array data five tools returned in full in structuredContent (#19); gdelt_get_coverage_breakdown now documents its normalized values (#10)
0.2.3 — 2026-07-15
Fixed: unpaired date-range boundaries silently ignored (#22) and confusing GDELT query-rejection errors (#18); mcp-ts-core ^0.10.9 → ^0.10.14 clears 8 transitive advisories; new install-time supply-chain guard
0.2.2 — 2026-06-20
Maintenance: @cyanheads/mcp-ts-core ^0.10.6 → ^0.10.9, biome 2.5 + dev-dep refresh, re-synced framework skills/scripts, and the new dependency-specifier + plugin-manifest devcheck guards
0.2.1 — 2026-06-12
Adopt mcp-ts-core ^0.10.6, set explicit createApp name/title identity, MCPB bundle hygiene (clean-mcpb + packaging guards), Dockerfile healthcheck and version labels
0.2.0 — 2026-06-08
Rate-limiter abort signal, get_tv_context date-range params, resolved-timespan echoes, cap-hit notices, @types/node bump
0.1.8 — 2026-06-04
Fix multi-station TV query syntax, clipsAnalyzed false-zero, and trending recovery hint
0.1.7 — 2026-06-02
mcp-ts-core 0.9.21: per-request log context fix, secret-stripping in fetchWithTimeout, withRetry fail-fast on non-retryable errors; updated scripts and synced skills
0.1.6 — 2026-05-30
enrichment adoption: query/filter echoes, result counts, and empty-result guidance surface in a typed enrichment block on all search and analysis tools
0.1.5 — 2026-05-28
mcp-ts-core ^0.9.13: HTTP 413 body cap, session-init gate, quieter error logs, GET /mcp keywords; public landing page; hosted endpoint
0.1.4 — 2026-05-26
Package metadata, install badges, Docker image, bun run scripts
0.1.3 — 2026-05-25
Fix Docker build — invoke tsc/tsc-alias directly instead of via bun run to avoid tsx/Bun module resolution failure on Linux
0.1.2 — 2026-05-25
Add mcpName to package.json and publish-mcp script; trim server.json description to fit MCP Registry 100-char limit
0.1.1 — 2026-05-25
Fix 7 API contract bugs — wrong response keys, invalid query modes, and empty-response handling across TV and DOC tools
0.1.0 — 2026-05-25
Initial release — 9 tools for GDELT DOC and TV API search, timelines, tone analysis, and TV transcript coverage