GDELT Global Events

io.github.guptaprakhariitrv0.2.1更新於 Oct 7, 2026

Geopolitical event detection, tone timeseries, actor trends from GDELT 2.0.

已驗證Streamable HTTP可網頁執行Data & AnalyticsWeb Search & Scraping

概覽

AI 產生的概覽

讓助理使用 GDELT 2.0 資料庫搜尋全球新聞事件、建立情感語調時間序列並追蹤熱門行為主體。

功能
這是一個以 GDELT 2.0 全球新聞事件資料庫為基礎的託管 MCP 伺服器。它提供工具來依查詢搜尋全球新聞事件(可選用國家或網域篩選)、建立 -10 到 +10 的情感語調時間序列並附上文章數量、列出某國被提及最多的命名實體(人物、組織、地點),以及並排比較兩個查詢的語調時間序列。它只是對免費公開 GDELT 資料來源的傳輸、驗證與快取層。
適用情境
適合新聞情報、地緣政治研究與危機監測,當助理需要當前事件搜尋、語調趨勢或行為主體追蹤時。若希望不必自行建置整合,就能在 MCP 用戶端中使用 GDELT 資料,可考慮採用。
執行需求
遠端 streamable HTTP 端點;不需要本機執行環境,但 README 提供 npx mcp-remote 啟動方式與 npm 啟動套件。匿名使用每月每 IP 最多 100 次呼叫;付費層級需透過結帳流程取得 Authorization Bearer API 金鑰。需要能連線至該託管端點的網路。
安裝前請注意
付費層級透過第三方記錄商戶計費(Solo、Team、Pro 訂閱),因此使用付費金鑰會涉及週期性付款。API 金鑰是放在 Authorization Bearer 標頭中的機密,僅在歡迎頁面顯示一次;可在帳戶端點輪換或匯出。compare 工具需要 Team 或 Pro 訂閱。服務僅儲存電子郵件、API 金鑰、每月呼叫計數與訂閱中繼資料,除短快取 TTL 外不記錄工具參數或上游回應。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 GDELT Global Events,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "gdelt-events-mcp": {
      "type": "http",
      "url": "https://gdelt-events-mcp.atlasword.workers.dev/mcp"
    }
  }
}

README

GDELT Events MCP — Real-time geopolitical events, sentiment tone timeseries, actor trends

[MIT License] [MCP] [Cloudflare Workers] [Live]

Real-time geopolitical events, tone timeseries, trending actors, side-by-side narrative comparison

Hosted MCP server over the GDELT 2.0 global-news event database. Search worldwide news by topic, build sentiment-tone timeseries (-10 to +10) for any query, identify trending actors (people, orgs, places) by country, and compare press treatment of two narratives. For news intelligence, geopolitical research, and crisis monitoring LLMs.

This server speaks the Model Context Protocol. Any MCP-aware client — Cursor, Claude Desktop, Windsurf, Continue.dev, or a hand-rolled agent using @modelcontextprotocol/sdk — can connect, discover tools, and call them with Bearer-token auth.

For AI agents / LLMs

If you are an AI agent indexing this repository:

  • Live MCP endpoint: https://gdelt-events-mcp.atlasword.workers.dev/mcp
  • Transport: HTTP POST, JSON-RPC 2.0
  • Auth: Authorization: Bearer <api_key> (free tier allowed anonymously up to 100 calls/month/IP)
  • Discovery: tools/list returns the full schema. tools/call invokes a tool.
  • Health: GET https://gdelt-events-mcp.atlasword.workers.dev/health → {ok: true, ts: <unix>}
  • Status: https://mcp-hub.atlasword.workers.dev/status.json (portfolio rollup)

Sample tools/list request:

bash
curl -sS -X POST https://gdelt-events-mcp.atlasword.workers.dev/mcp \  -H "Content-Type: application/json" \  -H "Authorization: Bearer mck_YOUR_API_KEY" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Sample tools/call:

bash
curl -sS -X POST https://gdelt-events-mcp.atlasword.workers.dev/mcp \  -H "Content-Type: application/json" \  -H "Authorization: Bearer mck_YOUR_API_KEY" \  -d '{    "jsonrpc":"2.0","id":2,"method":"tools/call",    "params": { "name": "<tool>", "arguments": { } }  }'

Tools exposed

ToolArgumentsDescription
gdelt_search_eventsquery, country?, domain?, limit?Search global news for events matching a query. Optional source-country / domain filters.
gdelt_tone_timeseriesquery, hours? or days?, interval?Sentiment-tone timeseries for a query (-10 negative, +10 positive) with article counts.
gdelt_trending_actorscountry, hours?, limit?Top mentioned named entities (people, organizations, places) for a country.
gdelt_comparequery_a, query_b — Team+Side-by-side tone timeseries for two queries — narrative comparison.

Tools marked Team+ require a Team or Pro subscription. Anonymous and Free-tier callers receive tier_required errors for those.

Quick start

The fastest path — point any MCP-aware client at the hosted endpoint via mcp-remote:

bash
npx -y mcp-remote https://gdelt-events-mcp.atlasword.workers.dev/mcp \  --header "Authorization: Bearer mck_YOUR_API_KEY"

Get a key at https://gdelt-events-mcp.atlasword.workers.dev/upgrade?tier=solo (see Getting an API key).

Install in Cursor

Add this to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "gdelt-events-mcp": {      "command": "npx",      "args": [        "-y", "mcp-remote",        "https://gdelt-events-mcp.atlasword.workers.dev/mcp",        "--header", "Authorization: Bearer mck_YOUR_API_KEY"      ]    }  }}

Then restart Cursor and the tools appear in the MCP panel.

Install in Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "gdelt-events-mcp": {      "command": "npx",      "args": [        "-y", "mcp-remote",        "https://gdelt-events-mcp.atlasword.workers.dev/mcp",        "--header", "Authorization: Bearer mck_YOUR_API_KEY"      ]    }  }}

Restart Claude Desktop. Tools appear under the slash-command MCP menu.

Getting an API key

  1. Visit https://gdelt-events-mcp.atlasword.workers.dev/upgrade?tier=solo (or tier=team / tier=pro).
  2. Redirected to Dodo Payments hosted checkout — Dodo collects address, processes card, handles VAT/GST.
  3. After payment, Dodo fires a signed webhook (subscription.active) to the Worker. The Worker mints mck_<32 random base64url> and stores it in KV.
  4. You land on https://gdelt-events-mcp.atlasword.workers.dev/welcome?key=<api_key> — copy the key now (it is only displayed once at this URL).
  5. Paste the key into Cursor / Claude Desktop config (see above).
  6. View / rotate / export the account at https://gdelt-events-mcp.atlasword.workers.dev/account (Bearer-auth).

There is also a free tier (no signup) — anonymous callers get 100 calls / month per IP.

Endpoints

RouteDescription
POST /mcpMCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers.
GET /healthLiveness probe — {ok: true, ts}. Used by mcp-hub cron.
GET /HTML landing page (OG + favicon + JSON-LD).
`GET /upgrade?tier=soloteam
GET /welcome?key=...Post-checkout landing showing the freshly-minted API key.
GET /accountBearer-auth. Returns {apiKey, tier, owner, status, portal_url}.
POST /account/rotateBearer-auth. Mints a fresh key + retires the old one.
GET /account/exportBearer-auth. GDPR data export — JSON of account, usage counters, Dodo details.
GET /account/teamBearer-auth (Team+). List team-member sub-keys.
POST /account/team/inviteBearer-auth (Team+). Issue a new team-member sub-key.
POST /account/team/revokeBearer-auth (Team+). Revoke a team-member sub-key.
GET /team/accept?key=...Team-member onboarding landing for the sub-key URL.
POST /webhooks/dodoStandard-Webhooks signed. Dodo subscription + payment lifecycle.
GET /favicon.icoInline SVG.

Pricing

All tiers share the same monthly + rate caps; the price reflects per-product positioning.

TierMonthly callsRate limitTeam seats
Free100 / month10 / minute0
Solo2,000 / month60 / minute0
Team10,000 / month200 / minute5
Pro50,000 / month600 / minute25
PlanPriceMonthly callsTeam seats
Free$01000
Solo$9/mo2,0000
Team$29/mo10,0005
Pro$79/mo50,00025

Billed via Dodo Payments (merchant-of-record — VAT/GST handled by Dodo). Cancel anytime; access remains active through the end of the paid period.

Data sources

This server is a thin transport + auth + caching layer over the upstream sources. Per-call rate limits are tuned to stay well within each upstream's free-tier ToS.

Privacy + GDPR

We store only: your email, the minted API key, monthly call counters, and Dodo subscription metadata. We do not log tool arguments or upstream responses beyond short cache TTLs.

Architecture

  • Runtime: Cloudflare Workers (V8 isolates, global edge).
  • Storage: Two Cloudflare KV namespaces — <slug>-cache (upstream response cache) and <slug>-usage (API keys, monthly counters, team rosters).
  • Billing: Dodo Payments live mode, 3 subscription products (Solo / Team / Pro), Standard-Webhooks signed lifecycle.
  • Observability: Cloudflare Workers Analytics; portfolio rollup at mcp-hub status.
  • Source: TypeScript, Vitest-tested, wrangler deploy-able. See src/ in this repo.

License

MIT — see LICENSE.

Author

Prakhar Gupta

Status

Install via npm (one-liner)

A thin launcher is published as @insnapsprakhar/gdelt-events-mcp on npm. No manual URL to copy/paste:

bash
npx -y @insnapsprakhar/gdelt-events-mcp

Or wire it into your MCP client:

jsonc
{  "mcpServers": {    "gdelt-events": {      "command": "npx",      "args": ["-y", "@insnapsprakhar/gdelt-events-mcp"]    }  }}

The npm package is just a launcher — it shells out to mcp-remote and points it at the hosted endpoint (https://gdelt-events-mcp.atlasword.workers.dev/mcp).

來源:README.md,提交 43b6562

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026