Skip to content

cyanheads/gdelt-mcp-server

v0.8.1Apache-2.0

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