Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GDELT_CLAMP_LIMITS, GDELT_BASE_URL, GDELT_REQUEST_DELAY_MS, GDELT_REQUEST_TIMEOUT_MS, GDELT_MIRROR_PATH, GDELT_MIRROR_WINDOW_DAYS, MCP_LOG_LEVELYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://gdelt.caseyjhand.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"gdelt": {
"command": "npx",
"args": [
"-y",
"@cyanheads/gdelt-mcp-server"
],
"env": {
"GDELT_CLAMP_LIMITS": "your-value",
"GDELT_BASE_URL": "your-value",
"GDELT_REQUEST_DELAY_MS": "your-value",
"GDELT_REQUEST_TIMEOUT_MS": "your-value",
"GDELT_MIRROR_PATH": "your-value",
"GDELT_MIRROR_WINDOW_DAYS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http gdelt https://gdelt.caseyjhand.com/mcpclaude mcp add gdelt --env GDELT_CLAMP_LIMITS=your-value --env GDELT_BASE_URL=your-value --env GDELT_REQUEST_DELAY_MS=your-value --env GDELT_REQUEST_TIMEOUT_MS=your-value --env GDELT_MIRROR_PATH=your-value --env GDELT_MIRROR_WINDOW_DAYS=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/gdelt-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gdelt": {
"url": "https://gdelt.caseyjhand.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gdelt": {
"command": "npx",
"args": [
"-y",
"@cyanheads/gdelt-mcp-server"
],
"env": {
"GDELT_CLAMP_LIMITS": "your-value",
"GDELT_BASE_URL": "your-value",
"GDELT_REQUEST_DELAY_MS": "your-value",
"GDELT_REQUEST_TIMEOUT_MS": "your-value",
"GDELT_MIRROR_PATH": "your-value",
"GDELT_MIRROR_WINDOW_DAYS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"gdelt": {
"type": "http",
"url": "https://gdelt.caseyjhand.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"gdelt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/gdelt-mcp-server"
],
"env": {
"GDELT_CLAMP_LIMITS": "your-value",
"GDELT_BASE_URL": "your-value",
"GDELT_REQUEST_DELAY_MS": "your-value",
"GDELT_REQUEST_TIMEOUT_MS": "your-value",
"GDELT_MIRROR_PATH": "your-value",
"GDELT_MIRROR_WINDOW_DAYS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://gdelt.caseyjhand.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
GDELT_CLAMP_LIMITS envGDELT_BASE_URL envGDELT_REQUEST_DELAY_MS envGDELT_REQUEST_TIMEOUT_MS envGDELT_MIRROR_PATH envGDELT_MIRROR_WINDOW_DAYS envMCP_LOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
gdelt_search_articlesSearch the last 3 months of global news coverage (65+ languages) using the GDELT DOC API. Fetches up to 250 articles with URL, title, source domain, language, country, publication date, and social image URL, and returns every fetched article inside the requested window. Query sup
gdelt_get_coverage_timelineRetrieve a time series showing when news coverage of a topic spiked, or how average tone shifted over time. Use mode "volume" for normalized coverage intensity (% of all global coverage per timestep). Use "volume_raw" for distinct matching-article counts per timestep and norm, th
gdelt_get_tone_distributionGet the tonal distribution of articles matching a query as a histogram (bins approximately -30 to +30). Unlike a single average tone score, the histogram reveals whether coverage is uniformly negative, bimodal (some articles extremely positive and some extremely negative), or clu
gdelt_get_coverage_breakdownBreak down news coverage volume over time by source language or source country, returning a multi-series time series (one series per language or country). Shows which countries or languages drove early vs. late coverage — useful for tracing how a story propagated geographically o
gdelt_search_themesFind GDELT Global Knowledge Graph (GKG) theme identifiers for the theme: operator that gdelt_search_articles, gdelt_get_coverage_timeline, gdelt_get_tone_distribution, and gdelt_get_coverage_breakdown accept in query. Searches the identifiers in the GDELT GKG theme lookup, which
gdelt_search_tvSearch television news closed captions for spoken mentions of a query. Returns a bounded, paged per-station time series showing airtime devoted to the topic — 500 points by default, up to 20,000 per page. Each series carries GDELT's display name for the station and, when that nam
gdelt_get_tv_breakdownRank TV stations or shows mentioning a query. Station values are percentages of each station’s monitored airtime, or raw matching 15-second clip counts with normalize=false. Show values always represent percentages of matching clips, even with normalize=false. Labels are preserve
gdelt_get_tv_clipsRetrieve the top matching TV news clips for a query from the Internet Archive's Television News Archive: returns every fetched in-window clip, up to 3,000. Each clip includes show name, the station's display name — with its station ID when that name resolves to one — air timestam
gdelt_get_tv_contextGet the top co-occurring words and phrases from TV news clips matching a query — the vocabulary framing a topic on television. Returns the most frequent non-stopword terms with relative frequency scores (0–100, where 100 = the query term itself). Terms and scores come from GDELT'
gdelt_list_tv_stationsList the television stations available for TV search with their market, network, monitoring start date, and monitoring end date — every station by default, or only those matching the optional stations, network, and market filters (each an exact, case-insensitive match; combined w
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account cyanheads, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 79 ms (HTTP 200)
No sign-in needed
Read 10 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.8.1) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@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. 10 Tools
Public Hosted Server: https://gdelt.caseyjhand.com/mcp
News and TV coverage analysis from the GDELT Project: global news in 65+ languages, and historical TV transcripts across 150+ stations, with coverage dates varying by station. Article search and relative timespan windows cover the last 3 months; explicit dates reach older windows in the coverage timeline's volume and tone modes, the language and country breakdowns, and the tone distribution. Search articles and clips, track coverage spikes, analyze tone, and compare coverage across languages, countries, stations, and shows.
| Tool | Description |
|---|---|
gdelt_search_articles | Search recent global news with full-text and filter operators. Returns every fetched in-window article, up to 250 per call, with date-window continuation guidance at the provider ceiling. |
gdelt_get_coverage_timeline | Track normalized coverage, raw matching-article counts with monitored denominators, or average tone. Expand supplied article references for selected timesteps. |
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 | Compare coverage by source language or source country. Values are normalized shares of each source population's media output, not additive article counts. |
gdelt_search_themes | Find GKG theme identifiers for the theme: operator the DOC tools accept — drought finds NATURAL_DISASTER_DROUGHT, cyberattack finds CYBER_ATTACK — ranked by the count GDELT's theme lookup lists. |
gdelt_search_tv | Search television news closed captions and return separate station timelines or pooled coverage. |
gdelt_get_tv_breakdown | Rank stations by airtime share or matching-clip count, and shows by share of matching clips. |
gdelt_get_tv_clips | Retrieve up to 3,000 matching TV clips with transcript excerpts and Internet Archive viewing links, returning every fetched in-window clip. |
gdelt_get_tv_context | Get the most frequent co-occurring words and phrases from GDELT's relevance-ranked sample of TV clips matching a query. |
gdelt_list_tv_stations | List TV stations with market, network, and monitoring date ranges — all of them, or filtered by station ID, network, or market — to verify station availability before querying. |
gdelt_search_articles toolsourcecountry:, sourcelang:, domain:, theme:, tone</tone>), proximity (near20:) and repetition (repeat3:) — gdelt_search_themes finds the identifiers theme: takesrelevance, dateDesc, dateAsc, toneDesc, toneAsc, hybridRel) and fetch count, up to 250 per call; larger maxRecords values clamp to 250 by defaultcontinuationWindows gives narrower date windows to re-query (de-duplicate by url). The ceiling is not a cursor; an indivisible window can still contain more matches than GDELT returnsstartDatetime/endDatetime window are dropped, and the notice counts themgdelt_get_coverage_timeline toolvolume (normalized % per timestep), volume_raw (matching-article counts with the monitored-article denominator norm), volume_with_articles (volume plus supplied top articles), and tone (average sentiment)referenceCount, the number of references GDELT supplied, not all matching articles. points: [" "] selects named timesteps with every supplied link; GDELT's reference list itself is capped at tenoffset and limit (default 10, cap 400); nextOffset retrieves the next page. Each series' pointCount and peak cover the full series on every pagevolume_raw, smoothing changes value, not normtimespan (up to 3 months) or explicit startDatetime/endDatetime; date resolution (15min/hour/day) is inferred from returned intervals. In volume and tone modes an explicit window may predate the last 3 months; volume_raw and volume_with_articles cover only the last 3 monthspoints date matching no timestep, or an offset past the last timestep, is rejected with the valid valuesgdelt_get_tone_distribution toolcount counts matching articles, while referenceCount counts supplied links. The default preview shows 3 links; bins: [ ] selects named bins with every supplied link. An unknown bin is rejected with the available binspeakNegativeBin, peakPositiveBin, neutralPct (% of articles in the −2 to +2 range)offset and limit (default 10, cap 400), returning nextOffset when more remain. This is a snapshot across matching articles, unlike the tone timelinetimespan (up to 3 months) or explicit startDatetime/endDatetime, and an explicit window may predate the last 3 monthsgdelt_get_coverage_breakdown toollanguage or country into a multi-series time series: the top 10 series by summed value, with every other series named in otherSeriesLabelsseries: [" "] returns only those series, complete, under selectedSeries; a label matching no series is rejected with the available labelsoffset and limit (default 10, cap 75), returning nextOffset when more remain. Copy exact labels from the response for series selectionstimespan (up to 3 months) or explicit startDatetime/endDatetime, and an explicit window may predate the last 3 monthsgdelt_search_themes tooloperator such as theme:TAX_DISEASE_OUTBREAKcyberattack → CYBER_ATTACK, plant disease → TAX_PLANTDISEASE). If nothing matches, it retries once with a trailing s dropped (protests → PROTEST) and the notice says sooffset / limit (default 25, cap 100); larger limits clamp by default. nextOffset appears only when more matches remain, and an offset past a non-empty result fails offset_out_of_rangegdelt_search_tv toolstations (e.g. ["CNN", "FOXNEWS"]) preserve the entire requested list. TV queries can also use station, network, or market selectors; verify IDs and coverage dates through the station catalognormalize toggles relative airtime % (default) vs. raw matching 15-second clip counts; optional dateres aggregation (hour/day/week/month/year). TV operators: station:, network:, market:, show:, context:station (the ID the stations input takes, FOXNEWS) and stationName (GDELT's label, FOX News). If an ID can't be resolved, the series keeps stationName without station and the notice says sonextOffset with the same inputs for the next page. The text surface's per-station count, sum, and peak cover only the returned pagecombined: true pools stations into a Combined timeline. Normalized values use pooled matching clips divided by pooled monitored clips, not an average of station percentages; no station ID is assigned to the combined seriesgdelt_list_tv_stations before querying recent eventsgdelt_get_tv_clips toolmaxRecords values clamp to 3,000 by defaultstation and stationName (resolved as in gdelt_search_tv, so a series' station passes straight into stations), air timestamp, 15-second transcript excerpt, direct Archive.org link, and optional thumbnailstartDatetime/endDatetime window are dropped and counted in the notice (a timespan call drops nothing)continuationWindows gives narrower windows to re-query (de-duplicate by archiveUrl); whole-hour retrieval can still prevent reaching every match in a dense hourgdelt_get_tv_breakdown toolOnly the beginning is shown; read the rest in the repo