Skip to main content
Glama
kush-coder

io.github.OpenOSINT/openosint

by kush-coder

search_gdelt_geo

Search recent geolocated worldwide news from GDELT's 15-minute feed, optionally within a bounding box, to find matching headlines and URLs; filters locally without an API key.

Instructions

Search recent, geolocated worldwide news from GDELT's 15-minute article feed (headlines/URLs matched against the query). No API key required. Returns a text summary plus a GeoJSON FeatureCollection, and says how far back it covers (the first call may cover only the last 15 minutes while older articles load). Optionally scope to a bounding box; query "*" lists everything inside it. [passive] Downloads GDELT's public news feed and filters it locally; your search term never leaves your machine.

Input Schema

NameRequiredDescriptionDefault
bboxNo[min_lon, min_lat, max_lon, max_lat]
queryYesKeywords (quoted phrases, OR groups) or "*" for all.
timespanNoLookback in minutes (15-1440, capped at the loaded window). Default 60.
maxpointsNoMax point features to return (1-500). Default 250.
json_outputNoReturn result as structured JSON.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.36.1

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well: it discloses that the tool downloads GDELT's public feed and filters locally, that the search term never leaves the machine, and that the accessible window grows as older articles load. It also documents return format (text summary + GeoJSON FeatureCollection).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, return value, and freshness caveat before the passive/privacy note. Slightly dense and the bracketed '[passive]' tag interrupts the flow, but every sentence contributes distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description explains the return payload (text summary plus GeoJSON FeatureCollection) and the coverage window caveat. For a 5-parameter search tool with no annotations, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantics beyond the schema: the bbox is optional scoping and the interplay of query "*" with a bounding box ('lists everything inside it'). It does not add new syntax for timespan or maxpoints, so it stays just above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Search recent, geolocated worldwide news from GDELT's 15-minute article feed'), states the matching semantics (headlines/URLs matched against the query), and the return shape. This is unmistakably distinct from the sibling search_shodan/search_rdap/search_dns tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use (no API key, optional bbox scoping, query "*" lists everything inside the box) and an important operational caveat about the first call covering only the last 15 minutes while older articles load. It does not explicitly name when to choose a different sibling tool, but with such disparate siblings the trigger condition is effectively self-evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.