Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for gdelt-mcp-server

Pod holds 15 of 15 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to gdelt-mcp-server.

Most discussed

bug(gdelt-pacer): start-relative spacing leaves no gap after a slow GDELT response

Server version

0.4.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

http

Description

gdeltFetch paces GDELT through the framework pacer — maxConcurrent: 1, minStartGapMs from GDELT_REQUEST_DELAY_MS. That gap spaces consecutive starts: the next start is max(previous start + gap, previous completion), so a response slower than the gap leaves ~0 ms before the next request goes out. GDELT's…

Read the thread · 2026-09-18 · closed · 4 comments

bug(gdelt-fetch): timeout errors omit the gdelt_unavailable contract

Server version

0.4.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

Every upstream-backed tool declares gdelt_unavailable with retryable: true and a recovery hint. A FetchTimeout raised below the handler bypasses that contract, so callers receive neither the stable reason nor the declared recovery guidance.

Steps to reproduce

  1. Replace globalThis.fetch with a…

Read the thread · 2026-08-31 · closed · 3 comments

bug(gdelt_get_tone_distribution): bin headers fold into the previous bin's article list

Server version

0.4.3

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

gdelt_get_tone_distribution renders each histogram bin as a line (**Bin -3:** 12 articles ███) followed by its article links as an indented list. No blank line separates a bin's list from the next bin's header, so CommonMark lazy continuation folds every header after the first into the previous bin's last…

Read the thread · 2026-09-24 · closed · 1 comment

bug(gdelt_list_tv_stations): empty-catalog error code, openWorldHint, and market grouping

Server version

0.4.3

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

gdelt_list_tv_stations has three contract defects in one definition file:

  1. An empty station catalog throws no_stations as NotFound (-32001) with no retryable flag, while its own when/recovery text describes a transient upstream failure ("API may be temporarily unavailable", "Retry after a short…

Read the thread · 2026-09-24 · closed · 1 comment

feat(gdelt_list_tv_stations): filter by station, network, or market instead of returning all 159 stations

Use case

gdelt_list_tv_stations takes no arguments and always returns the full catalog: 159 stations, 43,993 bytes per call (26,172 in structuredContent plus 17,821 in content[], catalog as of 2026-09-24). A caller checking one or two station IDs, or one network's affiliates, pays for all of it.

Proposed behavior

Add three optional filters, combined with AND:

Read the thread · 2026-09-19 · closed · 1 comment

bug(parseGdeltJson): "Invalid Station" rejection has no closing punctuation and lands on SerializationError

Server version

0.4.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

The TV API rejects an unknown station ID with the HTTP-200 plain-text body Invalid Station: <id>. It matches no entry in GDELT_REJECTIONS, and looksLikeGdeltRejection requires the body to end in ., ?, or !, so the positive-ID fallback misses it too. The caller's bad input is reported as a server-side…

Read the thread · 2026-09-18 · closed · 1 comment

bug(gdelt-fetch): 30s request deadline sits inside GDELT's latency spread, failing slow queries after 4 retries

Server version

0.4.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

gdeltFetch hardcodes a 30-second fetchWithTimeout deadline and leaves withRetry at its four-attempt default with no total budget. 30 s sits inside GDELT's response-time spread rather than above it, so the deadline and the upstream latency cross under load. The call then…

Read the thread · 2026-09-03 · closed · 1 comment

bug(empty-results): return normal output shapes for zero-match queries

Server version

0.4.0

mcp-ts-core version

^0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

Seven tools throw NotFound when a valid query matches nothing. GDELT's TV API answers that case with HTTP 200 {}, which the services map to empty arrays. Callers get isError: true for a normal search outcome and lose the output shape, totals, echoes, and pagination fields.

Affected tools, one throw site…

Read the thread · 2026-08-31 · closed · 1 comment

Most recent

bug(gdelt-fetch): non-timeout upstream failures lose the gdelt_unavailable contract

Server version

0.5.0

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

Every DOC and TV tool declares gdelt_unavailable (ServiceUnavailable, retryable: true, recovery "Retry after a short delay; GDELT may be temporarily unavailable."). Only an exhausted timeout carries that contract (#39). The other upstream failures gdeltFetch can end on reach the caller as a bare…

Read the thread · 2026-09-24 · open · 0 comments

feat(gdelt_search_themes): find GKG theme identifiers for the theme: query operator

Use case

The DOC tools accept theme:<GKG_THEME> in query, but nothing on the MCP surface maps a concept such as drought or displacement to one of the opaque identifiers. The advertised example theme:DISEASE_OUTBREAK is not in GDELT's lookup, which lists TAX_DISEASE_OUTBREAK.

Proposed behavior

Add gdelt_search_themes over GDELT's GKG theme lookup: 59,315 THEME<TAB>count lines as of 2026-09-24, last…

Read the thread · 2026-08-31 · closed · 1 comment

bug(format): Markdown-escape upstream text at the content[] render boundary

Server version

0.4.0

mcp-ts-core version

^0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

format() interpolates upstream text (titles, labels, clip shows and snippets, context terms, station metadata) raw into Markdown headings, link labels, bold spans, and list items, so content[] renders it as markup. A nested [x](y) or backtick breaks an article link, *…* turns into emphasis, a trailing `…

Read the thread · 2026-08-31 · closed · 1 comment

bug(gdelt_search_articles): 250-record page can exceed an MCP context

Server version

0.4.0

mcp-ts-core version

^0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

gdelt_search_articles renders every returned article (up to maxRecords 250) into both structuredContent and content[] with no size bound. Through the real handler and format(), an article costs a median 460 bytes per surface (560 max, live 5-article sample), so a full page is about 250 × that.…

Read the thread · 2026-08-31 · closed · 1 comment

bug(date-range): invalid calendar timestamps shift the requested window

Server version

0.4.0

mcp-ts-core version

^0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

Related: #22

The shared date schema checks only that startDatetime and endDatetime contain 14 digits. Calendar-invalid values therefore pass MCP validation and can be normalized by GDELT into a different, valid-looking window.

This is a silent wrong-answer path: the response succeeds, but it is not for…

Read the thread · 2026-08-31 · closed · 1 comment

bug(gdelt_get_tv_trending): retire the tool — the frozen TV archive leaves it no successful outcome

Server version

0.2.6

mcp-ts-core version

0.10.15

Runtime

Bun

Runtime version

Bun 1.3.x

Transport

HTTP (Streamable HTTP)

Description

gdelt_get_tv_trending has no successful outcome. The upstream trendingtopics endpoint still answers HTTP 200 and regenerates its timestamp every 15 minutes, but every topic array is empty. Its computation ran over the live TV monitoring feed, which froze in October 2024, and the endpoint serves no archived snapshot. So every…

Read the thread · 2026-08-21 · closed · 1 comment

bug(gdelt_get_tv_clips): 3000-record ceiling can exceed an MCP context

Server version

0.2.6

mcp-ts-core version

^0.10.15

Runtime

Bun

Runtime version

Bun 1.3.x

Transport

HTTP (Streamable HTTP)

Description

gdelt_get_tv_clips renders every returned clip (up to maxRecords 3,000) into both structuredContent and content[] with no size bound. Below 3,000 the cap-hit notice recommends raising maxRecords, and continuationWindows (#21) fires only at 3,000, after the full page is emitted.

Related: #37 (same fix for…

Read the thread · 2026-08-11 · closed · 1 comment

The remaining reports are on the project's issue tracker.