Overview
Thegdelt_cloud_* MCP wrappers expose the public API v2 product catalog:
- structured Events:
conflictandcameoplus - clustered Stories with article evidence
- Event and Story summaries
- Entities linked to Events and Stories
- country-scoped
admin1discovery - Monitoring Briefs —
create_brief,list_briefs,get_brief(plan-gated; see Monitoring Briefs)
region and continent expand to ISO-3 country lists on the API backend. Event tools match those countries against Event location plus actor-origin countries. Story tools use the same country-list expansion through linked Event primary location only.
Event, Story, and Entity list tools default to the exact past 24 hours. Narrow with geography, category, subcategory, civilian-targeting filters, date windows up to 30 days, and semantic search rather than public confidence modes. subcategory requires its parent category. Detail tools (get_event, get_story, and Story articles) resolve known IDs directly.
List and detail tools preserve API-enriched visual context by default: top source-article sharing images, source-domain avatars, and linked Entity thumbnails when available. These fields are for product rendering and analyst orientation; absence of an image is not evidence about the underlying Event, Story, or Entity.
Wrapper Parameters
| Wrapper | Parameter | Required | Description |
|---|---|---|---|
gdelt_cloud_tool_list | none | no | Lists available GDELT Cloud nested tools. |
gdelt_cloud_tool_get | tool_name | conditional | Single nested tool name to inspect. |
gdelt_cloud_tool_get | tool_names | conditional | List of nested tool names to inspect together. |
gdelt_cloud_tool_get | category | no | Optional Event parent category such as TECHNOLOGY, INFRASTRUCTURE, Protests, or Battles; when present, Event/Story/Entity taxonomy tools return only that category’s scoped subcategory enum. |
gdelt_cloud_tool_call | tool_name | yes | Exact nested tool name to execute. |
gdelt_cloud_tool_call | tool_arguments | no | Object containing the selected nested tool’s parameters. |
Shared Date Parameters
Range-capable tools acceptstart_date, end_date, and days.
| Parameter | Required | Description |
|---|---|---|
start_date | no | Inclusive start date in YYYY-MM-DD. With end_date, defines an explicit window of at most 30 days. |
end_date | no | Inclusive end date in YYYY-MM-DD. Defaults to current UTC date when omitted with days. |
days | no | Window size from 1 to 30. Used to complete the range when either date is omitted. |
start_date+end_date: use the explicit inclusive range.start_date+days: computeend_date.end_date+days: computestart_date.daysonly: trailing window ending current UTC date. On list tools, the defaultdays=1returns the exact past 24 hours.
search_events
Use for incident-level structured records: protests, attacks, diplomatic actions, infrastructure projects, economic policy events, and other coded Events.
| Parameter | Required | Description |
|---|---|---|
start_date | no | Inclusive start date, max 30-day window. |
end_date | no | Inclusive end date, max 30-day window. |
days | no | Window size, 1-30. Default 7. |
country | no | Plain English country name; broad location-or-actor-origin matching. |
region | no | Plain English region such as Middle East or Western Africa; expands to an ISO-3 country list and matches Event location plus actor-origin countries. |
continent | no | Plain English continent such as Asia or Europe; expands to an ISO-3 country list and matches Event location plus actor-origin countries. |
admin1 | no | State/province/admin1 location filter. Discover with list_admin1. |
event_family | no | Deprecated legacy filter: conflict or cameoplus. Prefer category, which implies the family. |
category | no | Single product category enum: a Conflict event type such as Battles, Protests, or Explosions/Remote violence, or a CAMEO+ domain such as POLITICAL, CRIME, or INFRASTRUCTURE. |
categories | no | Multi-select product categories. Values are OR’d together and serialized to the API as category=Battles,CRIME. |
subcategory | no | Specific Event subtype. Requires category or categories; for Conflict categories, use sub-event types such as Armed clash, Peaceful protest, or Air/drone strike. For CAMEO+ categories, use stable event codes such as TE01 or IN03; older label text is accepted as a compatibility alias. |
domain | no | Deprecated legacy CAMEO+ domain filter. Prefer category for new integrations. |
search | no | Semantic search text; not a keyword-only filter. |
has_fatalities | no | Boolean fatality filter. |
civilian_targeting | no | Boolean Conflict filter. true keeps Events where civilians are coded as the primary target. |
Metric _min / _max filters | no | Canonical metric ranges: significance, confidence, goldstein_scale, goldstein_severity, magnitude, systemic_importance, propagation_potential, market_sensitivity. |
sort | no | significance default, or recent. |
limit | no | Number of Event cards, 1-100. Default 25. |
cursor | no | Pagination cursor from pagination.next_cursor. |
include_images | no | Keep API-enriched article sharing images, source-domain avatars, and linked Entity thumbnails when available. Default true. |
summarize_events
Use for dashboards and trend charts before drilling into records. Summary tools do not accept search; use search_events first for semantic retrieval, then summarize with structured filters.
For time-series plots, call with group_by=date across a meaningful recent window such as days=14 or days=30. Each returned bucket is one chronological observation with count fields plus metric aggregates such as Goldstein, magnitude, systemic importance, propagation potential, market sensitivity, significance, confidence, articles, and fatalities.
Use gdelt_cloud_tool_get(tool_name="search_events", category="TECHNOLOGY") to retrieve the scoped subcategory enum before calling. Use group_by=subcategory when you want observed live buckets and counts after choosing a parent category. For example, summarize_events(category="Battles", group_by="subcategory") returns ACLED sub-event buckets such as Government regains territory; then call search_events(category="Battles", subcategory="Government regains territory") for the underlying Event cards.
Metric filters apply before aggregation. significance and confidence apply across Event families; CAMEO+ detail filters only match scored CAMEO+ Events; Goldstein filters match Conflict and CAMEO+ POLITICAL Events. goldstein_severity is absolute intensity, not signed valence.
| Parameter | Required | Description |
|---|---|---|
group_by | no | date, country, region, continent, category, or subcategory. Default date. |
start_date | no | Inclusive start date, max 30-day window. |
end_date | no | Inclusive end date, max 30-day window. |
days | no | Window size, 1-30. Default 30. |
country | no | Plain English country name. |
region | no | Plain English region; expands to an ISO-3 country list and summarizes matching Event locations plus actor-origin countries. |
continent | no | Plain English continent; expands to an ISO-3 country list and summarizes matching Event locations plus actor-origin countries. |
admin1 | no | State/province/admin1 location filter. |
event_family | no | Deprecated legacy filter: conflict or cameoplus. Prefer category, which implies the family. |
category | no | Single product category enum: a Conflict event type or a CAMEO+ domain. |
categories | no | Multi-select product categories. Values are OR’d together and serialized to the API as comma-separated category. |
subcategory | no | Event subtype. Requires category or categories; use ACLED sub-event labels for Conflict categories and stable CAMEO+ event codes such as TE01 for CAMEO+ categories. Validation errors include recoverable values. |
domain | no | Deprecated legacy CAMEO+ domain filter. Prefer category for new integrations. |
has_fatalities | no | Boolean fatality filter. |
civilian_targeting | no | Boolean Conflict filter for civilian-targeting Events. |
Metric _min / _max filters | no | Same canonical metric ranges as search_events, applied before summary aggregation. |
limit | no | Maximum buckets, 1-500. Default 50. |
get_event
| Parameter | Required | Description |
|---|---|---|
event_id | yes | Known Event ID returned by search_events or linked from a Story. |
include_images | no | Keep API-enriched article sharing images and linked Entity thumbnails when available. Default true. |
search_stories
Use for narrative clusters, article evidence, and story-first questions.
| Parameter | Required | Description |
|---|---|---|
start_date | no | Inclusive start date, max 30-day window. |
end_date | no | Inclusive end date, max 30-day window. |
days | no | Window size, 1-30. Default 7. |
country | no | Plain English country name; matches Stories through linked Event primary location. |
region | no | Plain English region; expands to an ISO-3 country list and matches Stories through linked Event primary location. |
continent | no | Plain English continent; expands to an ISO-3 country list and matches Stories through linked Event primary location. |
admin1 | no | Location-only admin1 filter. |
category | no | Linked Event category filter, such as Battles, Protests, POLITICAL, or CRIME. |
categories | no | Multi-select linked Event categories. Values are OR’d together and serialized to the API as category=Battles,CRIME. |
subcategory | no | Linked-Event subcategory. Requires category or categories and must belong to at least one selected linked-Event category. Use ACLED sub-event labels for Conflict categories and stable CAMEO+ event codes for CAMEO+ categories. |
story_category | no | Legacy Story cluster category, such as conflict_security. |
event_category | no | Deprecated alias for category on Story linked-Event filters. |
event_categories | no | Deprecated alias for categories on Story linked-Event filters. |
domain | no | Deprecated legacy linked CAMEO+ domain filter. Prefer category. |
search | no | Semantic search text; not a keyword-only filter. |
has_events | no | true narrows to Stories with at least one linked structured Event. false (default) returns all matching Stories. |
has_fatalities | no | Boolean filter for Stories linked to fatal Events. |
civilian_targeting | no | Boolean filter for Stories linked to Conflict Events where civilians are the primary target. |
article_count_min | no | Minimum Story article count. |
article_count_max | no | Maximum Story article count. |
sort | no | significance default, or recent. |
limit | no | Number of Story cards, 1-100. Default 25. |
cursor | no | Pagination cursor from pagination.next_cursor. |
include_images | no | Keep API-enriched article sharing images, source-domain avatars, and linked Entity thumbnails when available. Default true. |
summarize_stories
Use for dashboards and coverage trends before drilling into Story records. Summary tools do not accept search; use search_stories first for semantic retrieval, then summarize with structured filters.
For trend plots and Brief benchmark panels, call with group_by=date across a recent history window. Story summaries expose story/article counts and linked-Event metric aggregates; they should not be confused with distinct Event totals.
For group_by=category and group_by=subcategory, Story summary buckets use linked Event taxonomy. That makes them useful for coverage rollups such as category="Battles", group_by="subcategory" while preserving broad narrative coverage for date/geography summaries.
| Parameter | Required | Description |
|---|---|---|
group_by | no | date, country, region, continent, category, or subcategory. Default date. |
start_date | no | Inclusive start date, max 30-day window. |
end_date | no | Inclusive end date, max 30-day window. |
days | no | Window size, 1-30. Default 30. |
country | no | Plain English country name. |
region | no | Plain English region; expands to an ISO-3 country list and summarizes Stories through linked Event primary location. |
continent | no | Plain English continent; expands to an ISO-3 country list and summarizes Stories through linked Event primary location. |
admin1 | no | Location-only admin1 filter. |
category | no | Linked Event category filter, such as Battles, Protests, POLITICAL, or CRIME. |
categories | no | Multi-select linked Event categories. Values are OR’d together and serialized to the API as comma-separated category. |
subcategory | no | Linked-Event subcategory. Requires category or categories and must belong to at least one selected linked-Event category. Use ACLED sub-event labels for Conflict categories and stable CAMEO+ event codes for CAMEO+ categories. |
story_category | no | Legacy Story cluster category, such as conflict_security. |
event_category | no | Deprecated alias for category on Story linked-Event filters. |
event_categories | no | Deprecated alias for categories on Story linked-Event filters. |
domain | no | Deprecated legacy linked CAMEO+ domain filter. Prefer category. |
has_events | no | true narrows to Stories with at least one linked structured Event. false (default) returns all matching Stories. |
has_fatalities | no | Boolean linked-fatality filter. |
civilian_targeting | no | Boolean linked civilian-targeting filter. |
article_count_min | no | Minimum Story article count. |
article_count_max | no | Maximum Story article count. |
limit | no | Maximum buckets, 1-500. Default 50. |
get_story
| Parameter | Required | Description |
|---|---|---|
story_id | yes | Known Story ID returned by search_stories or linked from an Event. |
include_images | no | Keep API-enriched article sharing images and linked Entity thumbnails when available. Default true. |
get_story_articles
| Parameter | Required | Description |
|---|---|---|
story_id | yes | Known Story ID. |
limit | no | Number of source articles, 1-100. Default 25. |
cursor | no | Pagination cursor from pagination.next_cursor. |
include_images | no | Keep source-article sharing images and source-domain avatar URLs when available. Default true. |
search_entities
| Parameter | Required | Description |
|---|---|---|
search | no | Entity name search string. |
type | no | person or organization. |
start_date | no | Inclusive start date, max 30-day window. |
end_date | no | Inclusive end date, max 30-day window. |
days | no | Window size, 1-30. Default 30. |
event_family | no | Deprecated linked-evidence filter. Prefer category, which implies the family. |
category | no | Linked Event category filter for Entity evidence. |
categories | no | Multi-select linked Event categories serialized as comma-separated category. |
subcategory | no | Linked Event subcategory. Requires category or categories. |
domain | no | Deprecated legacy linked CAMEO+ domain filter. Prefer category for new integrations. |
has_fatalities | no | Filter to Entities linked to fatal Event evidence. |
civilian_targeting | no | Filter to Entities linked to Conflict evidence where civilians are the primary target. |
sort | no | significance default, or recent for latest linked evidence. |
limit | no | Number of Entity cards, 1-100. Default 25. |
cursor | no | Pagination cursor from pagination.next_cursor. |
include_images | no | Keep Wikipedia thumbnail/avatar URLs on Entity cards when available. Default true. |
get_entity
| Parameter | Required | Description |
|---|---|---|
entity_id | yes | Known Entity ID returned by search_entities, Event refs, or Story refs. |
start_date | no | Inclusive start date for linked references, max 30-day window. |
end_date | no | Inclusive end date for linked references, max 30-day window. |
days | no | Window size, 1-30. Default 30. |
limit | no | Linked Story/Event references to include, 1-50. Default 10. |
include_images | no | Keep Wikipedia thumbnail/avatar URLs on the Entity profile when available. Default true. |
list_admin1
| Parameter | Required | Description |
|---|---|---|
country | yes | One plain English country name. ISO-3 and legacy FIPS aliases are accepted. |
Monitoring Briefs
A Monitoring Brief is a short, source-backed memo answering What changed? Why does it matter? What evidence supports it? What should I watch next? — quantified against a baseline and grounded in clickable GDELT Cloud evidence.Brief tools are plan-gated.
create_brief, list_briefs, and get_brief require a plan with Briefs access (can_use_briefs). On a plan without it these tools are hidden from the tool list and any call returns a BRIEF_ACCESS_DENIED error; once a plan’s included Brief runs are used up, create_brief returns BRIEF_LIMIT_REACHED. Brief runs are metered separately and do not consume the plan’s query-unit quota.create_brief
Create and kick off a Monitoring Brief. Non-blocking — returns immediately while the agent runs (~5–10 minutes); poll get_brief(brief_id) for status and content.
| Parameter | Required | Description |
|---|---|---|
scope_text | yes | One or two plain sentences: the situation, where it is, who/what is affected, and the decision it informs. |
time_window | no | Recent window analysed: 6h, 24h, 72h, 7d, or 30d. Default 24h. |
baseline_window | no | Earlier comparison window for change detection: 7d, 14d, or 30d. Default 14d. |
audience | no | Framing/length: executive (default), analyst, or operator. |
depth | no | Density: skim, standard (default), or detailed. |
countries | no | ISO-3 country codes to scope the Brief, e.g. ["YEM","SAU"]. |
regions | no | Region names to scope the Brief. |
sectors | no | Business/mission sectors to emphasise. |
public_link | no | When true, also mint a public, shareable report URL. Default false (private). |
title | no | Optional title; auto-generated from scope_text if omitted. |
id, status (queued), title, and report URLs.
list_briefs
List the caller’s Monitoring Briefs with status and basic metadata (id, title, status, created_at, report URLs). No parameters.
get_brief
Fetch one Brief: status, the structured JSON document, citations, the evidence appendix, and report URLs.
| Parameter | Required | Description |
|---|---|---|
brief_id | yes | The Brief id returned by create_brief or list_briefs. |
queued → generating → building → ready (or failed).
Response Objects
gdelt_cloud_tool_call returns an MCP call result whose structured content is the same REST-shaped response object returned by the selected v2 API endpoint. List tools return success, data, and pagination; detail tools return one data object; summary tools return group_by and summary buckets.
Event card
Returned bysearch_events and get_event.
| Field | Description |
|---|---|
id | Stable v2 Event identifier. |
url, primary_story_url | Public GDELT Cloud Story URL for citation when the Event has a linked Story. |
family | conflict or cameoplus. |
title, summary, event_date | Generated Event headline, summary, and date. |
image_url | First available top-article sharing image promoted to the Event card. |
category, subcategory, domain, event_code | Product taxonomy and source/generated code fields. |
geo | Primary Event location with country, region, continent, admin1, location, latitude, and longitude. |
geo_context | Shows the location country and actor-origin countries that explain broad geo matches. |
actors | Event actors with name, normalized country, and role. |
metrics | Event significance plus Goldstein, CAMEO+, confidence, and article evidence metrics. |
has_fatalities, fatalities | Fatality flag and count. |
civilian_targeting, civilian_targeting_label | Conflict civilian-targeting flag and ACLED label. |
story_refs, entity_refs, top_articles | Linked Story, linked Entity, and top 3 source article evidence. Entity refs may include image_url/avatar_url; article refs may include domain_avatar_url and image_url. |
Story card
Returned bysearch_stories and get_story.
| Field | Description |
|---|---|
id, url | Stable Story id and public GDELT Cloud Story URL. |
title, story_date | Cluster headline and date. |
image_url | First available top-article sharing image promoted to the Story card. |
category, subcategory | Story and linked-Event taxonomy context. |
geo, geo_context | Primary linked-Event geography and actor-origin countries. |
metrics | Story significance, article count, linked Event count, and max linked Event significance. |
has_events, linked_events | Whether structured Events link to the Story and up to 10 linked Event refs. |
has_fatalities, fatalities | Whether linked Events include fatalities, plus total linked fatalities. |
entity_refs, top_articles | Linked Entities and top 3 source articles, with optional Entity thumbnails, article images, and domain avatars. |
Event summary bucket
Returned bysummarize_events.
Story summary bucket
Returned bysummarize_stories.
| Summary field | Description |
|---|---|
key, group_by | Bucket value and concrete grouping label. |
event_count, story_count | Number of Events or Stories in the bucket. |
conflict_event_count, cameoplus_event_count | Event-family counts. |
article_count, avg_article_count, min_article_count, max_article_count | Evidence volume. |
fatality_event_count, stories_with_fatalities, fatalities, rates | Fatality coverage. |
country_count, region_count | Distinct geography counts represented in the bucket. |
stories_with_events, story_only_count | Story buckets split by whether they link to one or more structured Events. |
linked_event_count, min_linked_event_count, avg_linked_event_count, max_linked_event_count | Story-to-Event link coverage for Story buckets. This is not a distinct Event total. |
metrics, metric_stats | Nested aggregate statistics; metric_stats is an alias of metrics. |
Articles, Entities, Admin1, And Standard error
get_story_articles returns Article objects with id, url, title, domain, article_date, rank, and role, plus pagination. search_entities returns Entity cards with id, url, name, type, wikipedia_url, and metrics. get_entity adds story_refs and event_refs. list_admin1 returns success, normalized country, an admin1 array, and source.
accepted_values, nearest_values when practical, and a corrected example so agents can recover in the next call. A subcategory without its parent category returns a compact parent-required error.
Output Notes
- Country output is plain English.
- Geo output includes
country,region,continent,admin1,location,latitude, andlongitudewhen available. - Event geography filters match location country or actor-origin country. Dashboard clients should compare
geo.location_countryandgeo_context.actor_origin_countriesto label a result as a location match, actor match, or both. - Event and Story cards include top 3 inline articles.
- Full Story article lists are paginated through
get_story_articles. metrics.goldstein_scaleis the only public Goldstein metric on Event cards. It is present for Conflict Events and CAMEO+POLITICALEvents where meaningful, and null for non-political CAMEO+ Events.- CAMEO+ detail metric filters (
magnitude,systemic_importance,propagation_potential,market_sensitivity) only match scored CAMEO+ Events.significanceandconfidenceare cross-family filters. - Event significance uses:
Goldstein severity 25% + CAMEO+ magnitude 20% + systemic importance 15% + propagation potential 10% + market sensitivity 10% + fatalities 10% + article evidence 5% + confidence 5%. - Default ranking is canonical
significance; userecentwhen freshness matters more than importance.

