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
- Replace
globalThis.fetchwith 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:
- An empty station catalog throws
no_stationsasNotFound(-32001) with noretryableflag, while its ownwhen/recoverytext 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:
stations: station IDs, the same parameter name the other TV tools use. Matches any listed ID.network: e.g.…
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.