gdelt-mcp-server
Server Details
Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- cyanheads/gdelt-mcp-server
- GitHub Stars
- 1
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 9 of 9 tools scored.
Each tool has a distinct purpose: coverage breakdown, timeline, tone distribution, article search, TV search, TV clips, TV context, TV trending, and station listing. No two tools overlap significantly; confusion is unlikely.
All tools follow a consistent 'gdelt_<verb>_<entity>' pattern with snake_case. Verbs are either 'get', 'search', or 'list', making the naming predictable and easy to understand.
With 9 tools, the server covers both text and TV news analysis without being overwhelming. The count is appropriate for the scope of monitoring and analyzing GDELT coverage data.
The tool set provides comprehensive coverage for the domain: searching articles and TV, time-series analysis (coverage timeline, breakdown), sentiment distribution, TV-specific details (clips, context, trending), and station metadata. Missing features like full article text are beyond the server's intended purpose.
Available Tools
9 toolsgdelt_get_coverage_breakdownGet GDELT Coverage BreakdownARead-onlyInspect
Break down news coverage volume over time by source language or source country, returning a multi-series time series (one series per language or country). Shows which countries or languages drove early vs. late coverage — useful for tracing how a story propagated geographically or across language communities. Returns up to 10 series by total volume; remaining series are aggregated into an "Other" bucket. Use breakdownBy "country" with the signal-detection chain to map geographic attention, or "language" to detect non-English media surges.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query using GDELT syntax. Same operators as gdelt_search_articles: phrases, boolean OR, sourcecountry:, sourcelang:, domain:, theme:. | |
| timespan | No | Time window relative to now, e.g. "24h", "7d", "1m". Ignored when startDatetime/endDatetime are set. Maximum 3 months. | |
| breakdownBy | Yes | Breakdown dimension: "language" for source language time series, "country" for source country time series. | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Recovery hint when no breakdown data was returned. Absent on successful responses. |
| topSeries | Yes | Top 10 series by total coverage volume. |
| totalCount | Yes | Total number of series returned before truncation to top 10. |
| breakdownBy | Yes | Breakdown dimension used for this response. |
| endDatetime | No | Echoed end datetime when provided (YYYYMMDDHHMMSS). |
| startDatetime | No | Echoed start datetime when provided (YYYYMMDDHHMMSS). |
| dateResolution | Yes | Temporal resolution of data points. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
| otherAggregated | No | Combined time series for all series beyond the top 10. Omitted when all series fit. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: returns up to 10 series, aggregates remaining into 'Other' bucket. It does not contradict the readOnlyHint and openWorldHint annotations; adds value by explaining aggregation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey purpose, utility, and usage examples without redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers purpose, usage, and behavioral details. It references GDELT syntax and output schema, so the tool's operation is clear. Minor gap: does not explicitly mention that output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context for breakdownBy use cases but doesn't significantly enhance parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool breaks down news coverage volume over time by source language or country, returning a multi-series time series. It distinguishes from siblings by providing specific use cases for 'country' vs 'language' breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: use 'country' with signal-detection chain for geographic attention, and 'language' for non-English surges. It implies alternatives for overall timeline but doesn't name sibling tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_get_coverage_timelineGet GDELT Coverage TimelineARead-onlyInspect
Retrieve a time series showing when news coverage of a topic spiked, or how average tone shifted over time. Use mode "volume" for normalized coverage intensity (% of all global coverage per timestep). Use mode "volume_with_articles" for the same signal plus the top articles that drove each spike — this is the primary signal-detection mode: a single call reveals both the spike and its cause, avoiding a follow-up gdelt_search_articles call. Use mode "tone" for average sentiment score per timestep (negative = hostile/fearful, positive = celebratory). Date resolution is automatically chosen based on timespan: hours for short windows, days for longer ones. Note: DOC API covers only the last 3 months.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Timeline mode: "volume" returns normalized coverage % per timestep, "volume_with_articles" returns volume plus top articles per spike (best for signal detection), "tone" returns average sentiment score per timestep. | volume |
| query | Yes | Search query using GDELT syntax. Same operators as gdelt_search_articles: phrases, boolean OR, sourcecountry:, sourcelang:, domain:, theme:, tone<. | |
| timespan | No | Time window relative to now, e.g. "24h", "7d", "1m". Ignored when startDatetime/endDatetime are set. Maximum 3 months. | |
| smoothing | No | Smoothing window in timesteps (0 = none, 1–5 = moving average width). Reduces noise for spotty topics. | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | Timeline mode used for this response. |
| notice | No | Recovery hint when no timeline data was returned. Absent on successful responses. |
| series | Yes | One or more time series (typically one for volume/tone, one per label for breakdowns). |
| totalCount | Yes | Total number of data points across all series. |
| endDatetime | No | Echoed end datetime when provided (YYYYMMDDHHMMSS). |
| startDatetime | No | Echoed start datetime when provided (YYYYMMDDHHMMSS). |
| dateResolution | Yes | Temporal resolution of the data points — hour for short windows, day for longer. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, openWorld), the description discloses automatic resolution, 3-month limit, tone interpretation, and that volume_with_articles returns top articles. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 sentences), well-structured with purpose first, then mode explanations, then a note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 params, output schema exists), the description covers modes, constraints, and relationship to sibling. It could elaborate on smoothing or query syntax, but schema fills those gaps. Output schema reduces need for return value explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters (100% coverage). The description adds context: automatic date resolution, interpretation of tone, and explicit note that volume_with_articles returns top articles. This goes beyond schema but does not add entirely new parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a time series of news coverage or tone, and distinguishes three modes including a primary signal-detection mode. It differentiates from sibling tools by noting that volume_with_articles avoids a follow-up gdelt_search_articles call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance for each mode, including when to use volume_with_articles as primary detection. It mentions automatic date resolution and a 3-month limitation. It lacks explicit 'when not to use' but provides sufficient context for typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_get_tone_distributionGet GDELT Tone DistributionARead-onlyInspect
Get the tonal distribution of articles matching a query as a histogram (bins approximately -30 to +30). Unlike a single average tone score, the histogram reveals whether coverage is uniformly negative, bimodal (some articles extremely positive and some extremely negative), or clustered near neutral. Each bin includes representative article URLs. Distinct from gdelt_get_coverage_timeline (mode: tone) — this is a snapshot distribution across all matching articles, not a time series. Use gdelt_get_coverage_timeline with mode "tone" to see how sentiment shifted over time.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query using GDELT syntax. Same operators as gdelt_search_articles: phrases, boolean OR, sourcecountry:, sourcelang:, domain:, theme:. | |
| timespan | No | Time window relative to now, e.g. "24h", "7d", "1m". Ignored when startDatetime/endDatetime are set. Maximum 3 months. | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Recovery hint when no tone data was returned. Absent on successful responses. |
| summary | Yes | Summary statistics derived from the histogram. |
| histogram | Yes | Tone histogram sorted from most negative to most positive bin. |
| totalCount | Yes | Total number of articles across all histogram bins. |
| endDatetime | No | Echoed end datetime when provided (YYYYMMDDHHMMSS). |
| startDatetime | No | Echoed start datetime when provided (YYYYMMDDHHMMSS). |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, which the description does not contradict. The description adds useful behavioral context: histogram bins, representative URLs, and the approximate range. It does not fully disclose pagination or limits but these are not critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight paragraphs front-loaded with action and key differentiator. A minor redundancy exists between the 'Distinct from...' sentence and the following 'Use...' sentence, but overall it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema (context flag true), the description adds relevant return behavior (bins, URLs) and clearly distinguishes from a sibling tool. It covers the tool's purpose and usage context well, though could mention the time window constraints more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description does not add additional parameter-level guidance beyond mentioning the histogram and query context. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns a tonal distribution histogram with bins approximately -30 to +30. Distinguishes from sibling gdelt_get_coverage_timeline by emphasizing this is a snapshot, not a time series, and references specific features like bimodal detection and representative URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool (to understand tone distribution shape) and when not to (for sentiment over time), directing to the alternative gdelt_get_coverage_timeline with mode 'tone'. This is perfect usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_get_tv_clipsGet GDELT TV ClipsARead-onlyInspect
Retrieve the top matching TV news clips (up to 3,000) for a query from the Internet Archive's Television News Archive. Each clip includes show name, station, air timestamp, a 15-second transcript excerpt, and a direct link to view the full one-minute clip. Use after gdelt_search_tv to read the actual transcript content driving a coverage spike. Archive coverage spans 2009–October 2024.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: relevance (default), dateDesc (newest first), dateAsc (oldest first). | relevance |
| query | Yes | Search query for TV transcript content. Same TV operators as gdelt_search_tv: station:CNN, network:CBS, market:"National", show:"Anderson Cooper", context:"vaccine". | |
| stations | No | Station IDs to filter to (e.g. ["CNN", "FOXNEWS"]). Omit for all stations. Use gdelt_list_tv_stations to see valid IDs. | |
| timespan | No | Time window, e.g. "1m", "6m". Ignored when startDatetime/endDatetime are set. TV data spans 2009–October 2024. | |
| maxRecords | No | Maximum number of clips to return (1–3000). | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| clips | Yes | Matching TV clips sorted per the sort parameter. |
| notice | No | Recovery hint when no clips matched. Absent on successful responses. |
| totalCount | Yes | Number of clips returned. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds return details (show, station, timestamp, excerpt, link) and coverage limits, enhancing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each serving a purpose: first states action and return format, second gives usage guidance and coverage limit. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description covers return format, usage constraints, and coverage span. Sufficient for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description does not add significant meaning beyond what the schema already provides for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieve' and resource 'top matching TV news clips' with scope (up to 3,000). It distinguishes from sibling gdelt_search_tv by positioning this tool as the follow-up to read actual transcript content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises 'Use after gdelt_search_tv' and mentions archive coverage span as a constraint. Lacks explicit when-not-to-use or alternatives, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_get_tv_contextGet GDELT TV ContextARead-onlyInspect
Get the top co-occurring words and phrases from TV news clips matching a query — the vocabulary framing a topic on television. Returns the most frequent non-stopword terms from matching clips, with relative frequency scores (0–100, where 100 = the query term itself). Use to understand narrative framing, identify related concepts mentioned alongside a topic, or generate follow-up search terms. TV data spans 2009–October 2024.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for TV transcript content. Same TV operators as gdelt_search_tv: station:CNN, network:CBS, market:"National", show:"Anderson Cooper", context:"vaccine". | |
| stations | No | Station IDs to filter to. Omit for all stations. Use gdelt_list_tv_stations to see valid IDs. | |
| timespan | No | Time window, e.g. "1m", "6m". Ignored when startDatetime/endDatetime are set. TV data spans 2009–October 2024. | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. TV data spans 2009–October 2024. |
Output Schema
| Name | Required | Description |
|---|---|---|
| words | Yes | Co-occurring terms sorted by score descending. |
| notice | No | Recovery hint when no context was found. Absent on successful responses. |
| totalCount | No | Number of clips from which co-occurrences were computed. Absent when the upstream API does not return a clip count. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to reiterate safety. It adds valuable behavioral details: returns 'relative frequency scores (0–100, where 100 = the query term itself)' and 'TV data spans 2009–October 2024.' No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded: first states the core purpose, then explains the output format, then provides usage guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, 1 required) and the presence of an output schema, the description is quite complete. It explains the output (top co-occurring words with relative frequency), usage scenarios, and data coverage. The output schema exists, so it doesn't need to detail return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some context about the output format (scores 0–100) and usage, but does not significantly enhance parameter understanding beyond the schema descriptions. It does not add new constraints or examples for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the top co-occurring words and phrases from TV news clips matching a query — the vocabulary framing a topic on television.' It specifies the verb ('Get'), the resource ('top co-occurring words and phrases from TV news clips'), and distinguishes from sibling tools like gdelt_search_tv (which returns clips) and gdelt_get_tone_distribution (which returns tone scores).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage contexts: 'Use to understand narrative framing, identify related concepts mentioned alongside a topic, or generate follow-up search terms.' It also mentions data coverage. While it doesn't explicitly state when not to use or list alternatives, the differentiation from sibling tools is implicit and adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_get_tv_trendingGet GDELT TV TrendingARead-onlyInspect
Retrieve trending topics, keywords, and phrases currently dominating US television news across national networks. No query required — returns the top memes of the present news cycle. Updated every 15 minutes. Note: the GDELT TV archive feed stopped updating around October 2024; results from this endpoint reflect that most-recent archived data rather than a live feed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Recovery hint when no trending topics were returned. Absent on successful responses. |
| topics | Yes | Trending topics sorted by score descending. |
| totalCount | Yes | Total number of trending topics returned. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds behavioral context: the tool returns US national network data, updated every 15 minutes (historically), and importantly discloses that the feed stopped updating in October 2024, so results are archived. This is valuable beyond annotations and consistent with safe read behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: action, result content, and a critical caveat about data freshness. Front-loaded and efficient, every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, output schema exists), the description covers what the tool returns, its update nature, and the crucial limitation about archive data. It is fully adequate for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage from the empty schema, the description adds no parameter details, which is expected. The statement 'no query required' is a helpful elaboration, meeting the baseline of 4 for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves trending topics, keywords, and phrases from US TV news. It differentiates from siblings by noting 'no query required' and focusing on 'top memes of the present news cycle', making its specific purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a quick overview of current TV news trends without a query. It notes the data is from an archived feed (stopped updating), providing context for when the tool is appropriate, but does not explicitly name alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_list_tv_stationsList GDELT TV StationsARead-onlyInspect
List all television stations available for TV search with their market, network, monitoring start date, and monitoring end date. Stations with an end date within the last 24 hours are flagged as active; stations with earlier end dates are discontinued. Use before querying to verify a station was active during the target time period, or to discover valid station IDs for the stations parameter in other TV tools. Most station monitoring ended October 2024 when the Internet Archive TV feed stopped updating.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| stations | Yes | All TV stations sorted by station ID. |
| totalCount | Yes | Total number of stations in the list. |
| activeCount | Yes | Number of stations currently flagged as active. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that stations are flagged active if end date is within last 24 hours, otherwise discontinued, and notes that most monitoring ended October 2024. This adds significant behavioral context beyond the readOnlyHint annotation, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first states purpose and output fields, second explains active/discontinued logic and usage, third adds historical context. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema, the description fully covers what the tool does, how to interpret results, when to use it, and a relevant historical update. Nothing essential is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Baseline for zero parameters is 4; the description does not need to add param info. No param-related details are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all TV stations with market, network, monitoring start/end dates, and explains the active/discontinued flag. This verb+resource definition distinguishes it from sibling tools focused on coverage, tone, clips, or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool before querying to verify station activity during a target time period or to discover valid station IDs for other TV tools. Provides clear when-to-use context and implies it is a prerequisite for station-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_search_articlesSearch GDELT ArticlesARead-onlyInspect
Search the last 3 months of global news coverage (65+ languages) using the GDELT DOC API. Returns up to 250 articles with URL, title, source domain, language, country, publication date, and social image URL. Query supports full GDELT syntax: phrases ("bird flu"), boolean OR ((flu OR pandemic)), source country (sourcecountry:china), source language (sourcelang:spanish), domain (domain:who.int), GKG theme (theme:DISEASE_OUTBREAK), tone filter (tone<-5 for negative), proximity (near20:"flu virus"), and repeat (repeat3:"outbreak"). Note: this API covers only the most recent 3 months — use gdelt_search_tv for historical TV transcripts back to 2009.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: relevance (default), date (newest first), social (most socially shared). | relevance |
| query | Yes | Search query. Supports GDELT operators: phrases ("bird flu"), boolean OR ((flu OR pandemic)), sourcecountry:china, sourcelang:spanish, domain:who.int, theme:DISEASE_OUTBREAK, tone<-5, near20:"flu virus", repeat3:"outbreak". | |
| timespan | No | Time window relative to now, e.g. "24h", "7d", "1m". Ignored when startDatetime/endDatetime are set. Maximum is 3 months (the full DOC API window). Defaults to the full 3-month window. | |
| maxRecords | No | Maximum number of articles to return (1–250). | |
| endDatetime | No | End of date range in GDELT format YYYYMMDDHHMMSS (e.g. 20240131235959). Must be used together with startDatetime. | |
| startDatetime | No | Start of date range in GDELT format YYYYMMDDHHMMSS (e.g. 20240101000000). Must be used together with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Recovery hint when no articles matched — echoes filters and suggests how to broaden. Absent on successful responses. |
| articles | Yes | Matching articles sorted per the sort parameter. |
| timespan | No | Echoed timespan parameter when provided. |
| totalCount | Yes | Number of articles returned in this response. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, which are consistent with a search/read tool. The description adds context about the 3-month window, supported fields, and GDELT syntax, enhancing transparency without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two well-structured paragraphs. Every sentence adds value: first paragraph covers purpose and outputs, second covers query syntax and alternative tool. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, output schema exists), the description covers all essential aspects: scope, return fields, query syntax, parameter details, and alternative tools. An agent has sufficient information to select and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds value by explaining the overall query syntax, default behaviors (e.g., default sort, default timespan), and relationship between parameters (e.g., startDatetime/endDatetime must be used together).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and resource 'GDELT articles', specifies the coverage (last 3 months), and the return fields (URL, title, etc.). It distinguishes itself from sibling tool 'gdelt_search_tv' by noting the temporal scope difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use this tool vs the alternative (gdelt_search_tv for historical TV transcripts). It also explains the query syntax and default behavior, but could be more explicit about when not to use it (e.g., if older than 3 months).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_search_tvSearch GDELT TV NewsARead-onlyInspect
Search US television news closed captions (2009–October 2024, 150+ stations) for spoken mentions of a query. Returns a normalized per-station time series showing relative airtime devoted to the topic. Use the stations parameter to compare specific networks (e.g. ["CNN", "FOXNEWS", "MSNBC"]); omit to get combined national coverage. TV query also supports in-query operators: station:CNN, network:CBS, market:"National", show:"Anderson Cooper 360", context:"vaccine". Important: most station monitoring ended October 2024 — use gdelt_list_tv_stations to verify active date ranges before querying recent events.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for TV transcript content. Supports TV operators: station:CNN, network:CBS, market:"National", show:"Anderson Cooper", context:"vaccine". Boolean OR and phrase operators also work. | |
| stations | No | Station IDs to filter to (e.g. ["CNN", "FOXNEWS", "MSNBC"]). Omit to get coverage across all available stations. Use gdelt_list_tv_stations to see valid station IDs. | |
| timespan | No | Time window, e.g. "1m", "6m", "1y". Ignored when startDatetime/endDatetime are set. TV data spans 2009–October 2024. | |
| normalize | No | When true (default), values are normalized as % of total airtime, enabling cross-station comparison. When false, returns raw coverage volume. | |
| smoothing | No | Smoothing window in timesteps (0 = none). Reduces noise for sporadic topics. | |
| endDatetime | No | End datetime in GDELT format YYYYMMDDHHMMSS. Must pair with startDatetime. | |
| startDatetime | No | Start datetime in GDELT format YYYYMMDDHHMMSS. Must pair with endDatetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Recovery hint when no TV coverage was found. Absent on successful responses. |
| series | Yes | One series per station or combined national coverage. |
| timeRange | Yes | Date range spanned by the returned data. |
| normalized | Yes | True when values are normalized coverage percentages. |
| totalCount | Yes | Number of station series returned. |
| dateResolution | Yes | Temporal resolution of data points. |
| effectiveQuery | Yes | Echoed query string for use in follow-up calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. Description adds behavioral context: data cutoff (October 2024), normalization behavior, and operator usage. Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a well-structured single paragraph, front-loaded with purpose, followed by key usage details. Efficient but could be slightly more concise; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters), the description covers purpose, parameters, data limitations, and usage tips. Output schema exists, so return values are handled. Completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. Description enhances understanding with additional context for query operators, normalization effect, and timespan behavior. Adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it searches US TV news closed captions for spoken mentions and returns normalized per-station time series. Distinguishes from siblings like gdelt_search_articles and gdelt_list_tv_stations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use the stations parameter (compare networks) and when to omit (national coverage). Recommends using gdelt_list_tv_stations for validation of active date ranges, especially for recent events, and warns that data ends October 2024.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!