关于 GDELT Global Events — hosted on Cloudflare Workers (HTTP + npm stdio)
面向研究人员和监测团队的托管 MCP 服务,基于 GDELT 2.0 查询全球新闻事件、语气和相关人物,并支持比较不同叙事。
主要功能
- 01搜索全球新闻事件
- 02生成语气时间序列
- 03按国家查找热门人物
- 04比较两种叙事
适用场景
- 01监测地缘政治事件
- 02跟踪某主题的语气变化
- 03识别常被提及的人物或组织
- 04比较媒体对不同主题的报道
MCP 相关
通过 HTTP 向 MCP 客户端提供 GDELT 事件搜索、语气时间序列、人物趋势和叙事比较工具。也提供 npm 启动器,用于连接托管端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gdelt-events-mcp.atlasword.workers.dev/mcpclaude mcp add --transport http gdelt-events https://gdelt-events-mcp.atlasword.workers.dev/mcp{"mcpServers":{"gdelt-events":{"type":"http","url":"https://gdelt-events-mcp.atlasword.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"gdelt-events":{"type":"http","url":"https://gdelt-events-mcp.atlasword.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"gdelt-events":{"type":"http","url":"https://gdelt-events-mcp.atlasword.workers.dev/mcp"}}}{"mcpServers":{"gdelt-events":{"serverUrl":"https://gdelt-events-mcp.atlasword.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
3| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | GDELT 搜索查询,支持引号和 OR 等运算符。 |
| domain | string | 否 | 筛选为单个发布域名。 |
| country | string | 否 | 来源国家/地区筛选条件(ISO 2 位字母代码,例如“IN”“US”)。 |
| timespan | string | 否 | 例如“1d”“7d”“1m”。默认值为“1d”。 |
| max_records | integer | 否 |
详细介绍
GDELT Events MCP — 实时地缘政治事件、情感基调时间序列、参与者趋势
实时地缘政治事件、基调时间序列、热门参与者、并列叙事对比
基于 GDELT 2.0 全球新闻事件数据库托管的 MCP 服务。按主题搜索全球新闻,为任意查询构建情感基调时间序列(-10 到 +10),按国家识别热门参与者(人物、组织、地点),并比较两种叙事受到的媒体报道方式。适用于新闻情报、地缘政治研究和危机监测大模型。
此服务使用 Model Context Protocol。任何支持 MCP 的客户端——Cursor、Claude Desktop、Windsurf、Continue.dev,或使用 @modelcontextprotocol/sdk 自行构建的 Agent——都可以通过 Bearer 令牌身份验证连接、发现工具并调用工具。
面向 AI Agent / 大模型
如果你是正在索引此代码仓库的 AI Agent:
- 在线 MCP 端点:
https://gdelt-events-mcp.atlasword.workers.dev/mcp - 传输方式: HTTP POST,JSON-RPC 2.0
- 身份验证:
Authorization: Bearer <api_key>(免费套餐允许匿名调用,每个 IP 每月最多 100 次) - 发现:
tools/list返回完整架构。tools/call用于调用工具。 - 健康状态:
GET https://gdelt-events-mcp.atlasword.workers.dev/health→{ok: true, ts: <unix>} - 状态:
https://mcp-hub.atlasword.workers.dev/status.json(产品组合汇总)
tools/list 请求示例:
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"}'
tools/call 示例:
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": { } }
}'
提供的工具
| 工具 | 参数 | 描述 |
|---|---|---|
gdelt_search_events | query, country?, domain?, limit? | 搜索符合查询条件的全球新闻事件。可选按来源国家/域名筛选。 |
gdelt_tone_timeseries | query, hours? or days?, interval? | 查询的情感基调时间序列(-10 为负面,+10 为正面),并包含文章数量。 |
gdelt_trending_actors | country, hours?, limit? | 某个国家提及次数最多的命名实体(人物、组织、地点)。 |
gdelt_compare | query_a, query_b — Team+ | 两个查询的并列基调时间序列——叙事对比。 |
标有 Team+ 的工具需要 Team 或 Pro 订阅。匿名用户和免费套餐用户调用这些工具时会收到 tier_required 错误。
快速开始
最快的方法——通过 mcp-remote 将任意支持 MCP 的客户端指向托管端点:
npx -y mcp-remote https://gdelt-events-mcp.atlasword.workers.dev/mcp \
--header "Authorization: Bearer mck_YOUR_API_KEY"
前往 https://gdelt-events-mcp.atlasword.workers.dev/upgrade?tier=solo 获取密钥(参见获取 API 密钥)。
在 Cursor 中安装
将以下内容添加到 ~/.cursor/mcp.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"
]
}
}
}
然后重启 Cursor,工具就会显示在 MCP 面板中。
在 Claude Desktop 中安装
将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"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"
]
}
}
}
重启 Claude Desktop。工具会显示在斜杠命令 MCP 菜单中。
获取 API 密钥
- 访问
https://gdelt-events-mcp.atlasword.workers.dev/upgrade?tier=solo(或tier=team/tier=pro)。 - 页面将重定向至 Dodo Payments 托管结账页面——Dodo 收集地址、处理银行卡付款并处理 VAT/GST。
- 付款后,Dodo 会向 Worker 发送已签名的 webhook(
subscription.active)。Worker 会生成mck_<32 random base64url>并将其存储在 KV 中。 - 你将进入
https://gdelt-events-mcp.atlasword.workers.dev/welcome?key=<api_key>——请立即复制密钥(该 URL 仅显示一次)。 - 将密钥粘贴到 Cursor / Claude Desktop 配置中(见上文)。
- 前往
https://gdelt-events-mcp.atlasword.workers.dev/account查看 / 轮换 / 导出账户(Bearer 身份验证)。
此外还有免费套餐(无需注册)——匿名调用者每个 IP 每月可调用 100 次。
端点
| 路由 | 描述 |
|---|---|
POST /mcp | MCP JSON-RPC 2.0 工具接口(主要 API)。付费套餐需要 Bearer 身份验证。 |
GET /health | 存活探针——{ok: true, ts}。供 mcp-hub cron 使用。 |
GET / | HTML 登陆页(OG + favicon + JSON-LD)。 |
| `GET /upgrade?tier=solo | team |
GET /welcome?key=... | 结账后的登陆页,显示新生成的 API 密钥。 |
GET /account | Bearer 身份验证。返回 {apiKey, tier, owner, status, portal_url}。 |
POST /account/rotate | Bearer 身份验证。生成新密钥并停用旧密钥。 |
GET /account/export | Bearer 身份验证。GDPR 数据导出——包含账户、使用量计数器和 Dodo 详情的 JSON。 |
GET /account/team | Bearer 身份验证(Team 及以上套餐)。列出团队成员子密钥。 |
POST /account/team/invite | Bearer 身份验证(Team 及以上套餐)。签发新的团队成员子密钥。 |
POST /account/team/revoke | Bearer 身份验证(Team 及以上套餐)。撤销团队成员子密钥。 |
GET /team/accept?key=... | 团队成员通过子密钥 URL 加入时使用的引导页。 |
POST /webhooks/dodo | 由 Standard-Webhooks 签名。处理 Dodo 订阅和付款生命周期。 |
GET /favicon.ico | 内嵌 SVG。 |
定价
所有套餐共享相同的月度调用次数和速率上限;价格体现各产品的定位。
| 套餐 | 月度调用次数 | 速率限制 | 团队席位 |
|---|---|---|---|
| Free | 每月 100 次 | 每分钟 10 次 | 0 |
| Solo | 每月 2,000 次 | 每分钟 60 次 | 0 |
| Team | 每月 10,000 次 | 每分钟 200 次 | 5 |
| Pro | 每月 50,000 次 | 每分钟 600 次 | 25 |
| 方案 | 价格 | 月度调用次数 | 团队席位 |
|---|---|---|---|
| Free | $0 | 100 | 0 |
| Solo | $9/mo | 2,000 | 0 |
| Team | $29/mo | 10,000 | 5 |
| Pro | $79/mo | 50,000 | 25 |
通过 Dodo Payments 计费(名义商户——VAT/GST 由 Dodo 处理)。可随时取消;访问权限在已付费周期结束前仍保持有效。
数据来源
- GDELT 2.0 Project — https://www.gdeltproject.org/ — 免费公共 API
此服务是对上游数据源提供的轻量传输 + 身份验证 + 缓存层。每次调用的速率限制经过调整,确保远低于各上游服务免费套餐的 ToS 限制。
隐私 + GDPR
- 隐私政策: https://mcp-hub.atlasword.workers.dev/privacy
- 条款: https://mcp-hub.atlasword.workers.dev/terms
- 退款政策: https://mcp-hub.atlasword.workers.dev/refund
- 数据导出:
GET https://gdelt-events-mcp.atlasword.workers.dev/account/export(Bearer 身份验证)会返回机器可读的 JSON 快照,其中包含你的账户、使用量计数器和 Dodo 客户详情。 - 删除: 使用账户存档的邮箱发送邮件至
[email protected]。
我们仅存储:你的邮箱、生成的 API 密钥、月度调用计数器和 Dodo 订阅元数据。我们不会记录工具参数或上游响应(短暂缓存有效期内除外)。
架构
- 运行时: Cloudflare Workers(V8 隔离环境、全球边缘网络)。
- 存储: 两个 Cloudflare KV 命名空间——
<slug>-cache(上游响应缓存)和<slug>-usage(API 密钥、月度计数器、团队名单)。 - 计费: Dodo Payments 实时模式,3 个订阅产品(Solo / Team / Pro),生命周期事件使用 Standard-Webhooks 签名。
- 可观测性: Cloudflare Workers Analytics;项目组合汇总见 mcp-hub 状态。
- 源代码: TypeScript,使用 Vitest 测试,可通过
wrangler deploy部署。请参阅此仓库中的src/。
许可证
MIT — 详见 LICENSE。
作者
Prakhar Gupta
- 电子邮件:
[email protected] - GitHub:@guptaprakhariitr
状态
- 实时状态页: https://mcp-hub.atlasword.workers.dev/status
- 机器可读状态: https://mcp-hub.atlasword.workers.dev/status.json
- 源代码仓库: https://github.com/guptaprakhariitr/gdelt-events-mcp
通过 npm 安装(一行命令)
轻量启动器已作为 @insnapsprakhar/gdelt-events-mcp 发布到 npm。无需手动复制粘贴 URL:
npx -y @insnapsprakhar/gdelt-events-mcp
或者将其接入你的 MCP 客户端:
{
"mcpServers": {
"gdelt-events": {
"command": "npx",
"args": ["-y", "@insnapsprakhar/gdelt-events-mcp"]
}
}
}
这个 npm 包只是一个启动器——它会调用 mcp-remote,并将其指向托管端点(https://gdelt-events-mcp.atlasword.workers.dev/mcp)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。