全球新闻数据分析服务

提供与GDELT(全球事件、语言和情感数据库)API集成的服务,支持全球新闻覆盖、情感分析、地理数据和视觉内容搜索。

  • by anysiteio
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anysiteio/GDELT-mcp

使用说明

GDELT MCP服务器

模型上下文协议(MCP)服务器,用于与GDELT(事件、语言和音调的全局数据库)API集成。通过6个核心工具提供对全球新闻报道、情绪分析、地理数据和视觉内容的访问。

特性

  • 不要求进行验证 -GDELT API完全开放
  • 实时数据 -每15分钟更新一次
  • 6核心工具:
    • 使用高级过滤器搜索文章
    • 时间线分析(音量、音调、语言、来源国)
    • 情绪/语调分布
    • 使用GeoJSON输出进行地理搜索
    • 视觉内容搜索
    • 实时新闻监控

安装

npm install

建筑

npm run build

跑步

发展模式

npm run dev

生产模式

npm start

Claude桌面配置

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

选项1:使用npx(推荐-无需安装)

{
  "mcpServers": {
    "gdelt": {
      "command": "npx",
      "args": ["-y", "@anysiteio/gdelt-mcp-server"]
    }
  }
}

方案2:地方发展

{
  "mcpServers": {
    "gdelt": {
      "command": "node",
      "args": ["/absolute/path/to/GDELT-mcp/dist/index.js"]
    }
  }
}

更新配置后,重新启动Claude Desktop。

可用工具

1.gdelt_search_文章

使用高级过滤功能搜索新闻文章。

参数:

  • query (必填):带运算符的搜索查询
  • timespan (可选,默认:“3d”):时间窗口(15分钟、2小时、3d、1w、2m)
  • maxrecords (可选,默认值:75):最大结果(1-250)
  • sort (可选,默认:“DateDesc”):排序顺序

查询运算符:

  • "phrase" -精确短语匹配
  • domain:cnn.com -按域筛选
  • sourcecountry:russia -按来源国筛选
  • sourcelang:spanish -按语言筛选
  • tone<-5 -负面情绪过滤器
  • theme:TERROR -按GKG主题筛选

例子:

query: "climate change" sourcecountry:us
timespan: 1w
maxrecords: 100

2.gdelt_timeline

获取显示随时间变化趋势的时间线分析。

参数:

  • query (必填):搜索查询
  • timespan (可选,默认值:“1w”):时间窗口
  • timeline_type (可选,默认:“体积”):分析类型
    • volume:随时间变化的覆盖量
    • tone:随时间推移的平均情绪
    • language:按语言分布
    • sourcecountry:按来源国分列

例子:

query: "artificial intelligence"
timespan: 2w
timeline_type: tone

3.gdelt_tone_chart

获取情绪分布直方图。

参数:

  • query (必填):搜索查询
  • timespan (可选,默认:“3d”):时间窗口

例子:

query: "presidential election"
timespan: 7d

4.gdelt_geo_search

地理搜索返回GeoJSON数据。

参数:

  • query (必填):搜索查询
  • timespan (可选,默认值:“1d”):时间窗口(最多7天)
  • output_mode (可选,默认:“点”):聚合模式
    • point:个别地点
    • country:按国家汇总
    • adm1:按行政部门汇总
  • maxpoints (可选,默认值:100):最大位置(1-1000)

例子:

query: "earthquake"
timespan: 3d
output_mode: country

5.gdelt_image_search

使用视觉知识图谱搜索图像。

参数:

  • query (必填):使用图像运算符进行搜索查询
  • timespan (可选,默认:“3d”):时间窗口
  • maxrecords (可选,默认值:75):最大图像数(1-250)

图像操作员:

  • imagetag:"flood" -深度学习检测到的对象
  • imagewebtag:"election" -众包字幕
  • imageocrmeta:"protest" -OCR+EXIF元数据
  • imagefacetone<-1.5 -面部情绪
  • imagenumfaces>3 -面孔数量

例子:

query: imagetag:"protest" imagenumfaces>5
timespan: 1w

6.gdelt_monitor

监控实时新闻报道。

参数:

  • query (必填):搜索查询
  • interval (可选,默认:“15min”):监测间隔
    • 15min:最后15分钟
    • 1h:最后一小时
    • 3h:过去3小时

例子:

query: "breaking news" domain:cnn.com
interval: 15min

GDELT API限值

  • API文件:过去3个月,每次请求最多250个结果
  • GEO API:最近7天,最高1000点
  • 更新频率:每15分钟
  • 速率限制:无(负责任地使用)

项目结构

GDELT-mcp/
├── src/
│   ├── index.ts              # Entry point
│   ├── server.ts             # MCP server setup
│   ├── tools/                # Tool implementations
│   │   ├── search-articles.ts
│   │   ├── timeline.ts
│   │   ├── tone-chart.ts
│   │   ├── geo-search.ts
│   │   ├── image-search.ts
│   │   └── monitor.ts
│   ├── gdelt/                # GDELT API client
│   │   ├── client.ts
│   │   ├── types.ts
│   │   └── utils.ts
│   └── schemas/              # Zod validation schemas
│       └── tool-schemas.ts
├── package.json
├── tsconfig.json
└── README.md

资源

许可证

麻省理工学院