Media
Data source: GDELT Project
MCP Protocol
Endpoint
https://context.gnist.ai/mcp/gdelt/
claude_desktop_config.json
{
"mcpServers": {
"gnist-gdelt": {
"url": "https://context.gnist.ai/mcp/gdelt/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Shell
curl -X POST "https://context.gnist.ai/mcp/gdelt/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_articles", "arguments": {"query": "example"}}}'
REST API
API Root
https://context.gnist.ai/rest/gdelt/
5 endpoints available:
GET /rest/gdelt/search_articlesGET /rest/gdelt/get_event_timelineGET /rest/gdelt/get_tone_timelineGET /rest/gdelt/get_source_country_breakdownGET /rest/gdelt/report_feedback
Shell
curl "https://context.gnist.ai/rest/gdelt/search_articles?query=example" \ -H "Gnist-API-Key: YOUR_API_KEY"
Python
import httpx
resp = httpx.get(
"https://context.gnist.ai/rest/gdelt/search_articles",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
params={
"query": "example"
},
)
print(resp.json())
Command Line
Command
gc gdelt
CLI documentation will be available when the GnistAI SDK is published.
Install
pip install gnistai
Available Tools (5)
search_articlesSearch global news articles across 150+ countries and 65+ languages.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — keywords, exact phrases in quotes, or GDELT syntax (e.g. "climate change", "domain:bbc.com"). |
timespan | string | optional | Lookback window: "24h" (default), "7d", "2w", "3m". Max 3 months. (default: "24h") |
max_results | integer | optional | Max articles to return (default 25, max 250). (default: 25) |
sort | string | optional | Sort order: "HybridRel" (relevance, default), "DateDesc", "DateAsc", "ToneDesc", "ToneAsc". (default: "HybridRel") |
source_country | any | optional | Filter by source country (e.g. "US", "france", "norway"). Optional. |
source_lang | any | optional | Filter by source language (e.g. "english", "spanish"). Optional. |
get_event_timelineGet media coverage volume over time — tracks how a story rises and falls.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — keywords or GDELT syntax. |
timespan | string | optional | Lookback window: "7d" (default), "24h", "2w", "3m". Max 3 months. (default: "7d") |
smooth | integer | optional | Moving-average smoothing (0-30 time steps). 0 = no smoothing (default). (default: 0) |
get_tone_timelineGet media tone/sentiment over time for a topic.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — keywords or GDELT syntax. |
timespan | string | optional | Lookback window: "7d" (default), "24h", "2w", "3m". Max 3 months. (default: "7d") |
smooth | integer | optional | Moving-average smoothing (0-30 time steps). 0 = no smoothing (default). (default: 0) |
get_source_country_breakdownGet which countries' media are covering a topic, ranked by volume.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — keywords or GDELT syntax. |
timespan | string | optional | Lookback window: "24h" (default), "7d", "3m". Max 3 months. (default: "24h") |
report_feedbackReport a bug, feature request, or general feedback for this data source.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |