Gdelt MCP Server

Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs.

Remote serverstreamable-http

What is the Gdelt MCP server?

Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs. That is what the gdelt mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

  • Declarative tool definitions — single file per tool, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

The tools it exposes

The server publishes 11 tools. What each one is for:

  • gdelt_search_articles — Search the last 3 months of global news coverage (65 languages) with full-text and filter operators. Returns up to 250 articles, and hands back the
  • gdelt_get_coverage_timeline — Retrieve a time series of coverage volume or average tone for a query. volume_with_articles mode includes top articles per spike timestep, with
  • gdelt_get_tone_distribution — Get a tone histogram (bins ~−30 to +30) showing whether coverage is uniformly negative, bimodal, or clustered near neutral
  • gdelt_get_coverage_breakdown — Break down coverage volume by source language or source country — a multi-series time series showing geographic propagation. Values are normalized
  • gdelt_search_tv — Search US television news closed captions (2009–Oct 2024) and return per-station airtime time series
  • gdelt_get_tv_clips — Retrieve up to 3,000 matching TV clips with transcript excerpts and Internet Archive viewing links, and the date windows to re-query when that
  • gdelt_get_tv_context — Get the most frequent co-occurring words and phrases from TV clips matching a query
  • gdelt_get_tv_trending — Retrieve trending topics currently dominating US television news (updated every 15 minutes; no query required)
  • gdelt_list_tv_stations — List all TV stations with market, network, and monitoring date ranges to verify station availability before querying
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

What it needs from you

Configuration is passed through the environment: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, GDELT_BASE_URL, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Bun v1.3.0 or higher (or Node.js v24+). - No API key required — GDELT is a free public API.

Getting it running

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

How it compares

Among the file and storage access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Gdelt's toolset — gdelt_search_articles, gdelt_get_coverage_timeline, gdelt_get_tone_distribution and 8 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Gdelt's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Gdelt.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
gdelt_search_articlesSearch the last 3 months of global news coverage (65 languages) with full-text and filter operators. Returns up to 250 articles, and hands back the date windows to re-query when that ceiling is hit.
gdelt_get_coverage_timelineRetrieve a time series of coverage volume or average tone for a query. volume_with_articles mode includes top articles per spike timestep, with points to render a timestep's full article list.
gdelt_get_tone_distributionGet a tone histogram (bins ~−30 to +30) showing whether coverage is uniformly negative, bimodal, or clustered near neutral.
gdelt_get_coverage_breakdownBreak down coverage volume by source language or source country — a multi-series time series showing geographic propagation. Values are normalized shares of media output, not article counts.
gdelt_search_tvSearch US television news closed captions (2009–Oct 2024) and return per-station airtime time series.
gdelt_get_tv_clipsRetrieve up to 3,000 matching TV clips with transcript excerpts and Internet Archive viewing links, and the date windows to re-query when that ceiling is hit.
gdelt_get_tv_contextGet the most frequent co-occurring words and phrases from TV clips matching a query.
gdelt_get_tv_trendingRetrieve trending topics currently dominating US television news (updated every 15 minutes; no query required).
gdelt_list_tv_stationsList all TV stations with market, network, and monitoring date ranges to verify station availability before querying.
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Gdelt MCP server

{
  "mcpServers": {
    "gdelt-mcp-server": {
      "type": "streamable-http",
      "url": "https://gdelt.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.0 or higher (or Node.js v24+). - No API key required — GDELT is a free public API.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
GDELT_BASE_URLEndpoint or connection string the server talks to.Yes
MCP_HTTP_ENDPOINT_PATHFilesystem location the server is allowed to use.Optional
MCP_PUBLIC_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Gdelt to gdelt search articles.
  • Use Gdelt to gdelt get coverage timeline.
  • Use Gdelt to gdelt get tone distribution.

Frequently asked questions

It connects Gdelt to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (gdelt_search_articles, gdelt_get_coverage_timeline, gdelt_get_tone_distribution, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Gdelt directly.