Skip to main content
Glama

Latest News

latest_news
Read-onlyIdempotent

Get news headlines and articles — world news, breaking news, and business/financial/stock-market news. Filter by keyword, country (2-letter, e.g. "us"), category (business, technology, politics, sports, health, science), and language. IMPORTANT: for stock-market / financial-market / economy / "world market news" questions, ALWAYS pass category: "business" — it returns real market-news outlets and filters out low-quality SEO/crypto-promo articles. Returns article title, description, link, source, publish date, category, and country. Paginate via the nextPage token. WITHOUT from_date/to_date this covers only roughly the LAST 48 HOURS (NewsData.io's rolling "latest" feed) — asking about an older event with no date window silently returns today's unrelated articles instead of an empty result. For a PAST date range, pass from_date/to_date (YYYY-MM-DD): this routes to NewsData.io's archive endpoint, which requires a plan tier above the shared platform key's default — if the account cannot serve it, the call returns a filter_gap field naming the unsupported window instead of silently substituting the latest 48h. Examples: latest_news({ query: "stock market", category: "business" }) for current world market news; latest_news({ query: "election", country: "us", category: "politics" }); latest_news({ query: "Houthi Yemen attack", from_date: "2026-08-01", to_date: "2026-08-15" }) for an August event.

Input Schema

NameRequiredDescriptionDefault
pageNonextPage token returned from a prior call, to fetch the next page of results
queryNoKeywords to search news articles for. Every term is AND-ed — each word must appear in the article — so use 1-3 distinctive keywords ("NMPA approval biotech", "AI chips") rather than a full phrase; "Chinese biotech out-licensing deals NMPA approvals" returns 0 results while "NMPA Chinese biotech" returns articles.
_apiKeyNoOptional — your own NewsData.io API key for higher limits; omit to use the shared Pipeworx key.
countryNo2-letter country code to filter news by, e.g. "us", "gb", "in"
to_dateNoEnd of a PAST date window, YYYY-MM-DD. See from_date.
categoryNoNews category, e.g. "business", "technology", "politics", "sports", "health", "science". OMIT unless confident — a wrong category guess returns 0 results (e.g. drug-approval and pharma-industry stories are categorized "business", not "health").
languageNoLanguage code to filter news by, e.g. "en", "es", "fr"
from_dateNoStart of a PAST date window, YYYY-MM-DD. Supplying this (or to_date) switches the call from the 48h "latest" feed to NewsData.io's archive endpoint, which may require a higher plan tier than the shared platform key has — if so, the response carries `filter_gap` naming the unsupported window rather than silently returning current articles.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / from_date
      Added value: +{
      +  "description": "Start of a PAST date window, YYYY-MM-DD. Supplying this (or to_date) switches the call from the 48h \"latest\" feed to NewsData.io's archive endpoint, which may require a higher plan tier than the shared platform key has — if so, the response carries `filter_gap` naming the unsupported window rather than silently returning current articles.",
      +  "type": "string"
      +}
    • addedInput schema / properties / to_date
      Added value: +{
      +  "description": "End of a PAST date window, YYYY-MM-DD. See from_date.",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"News category, e.g. \"business\", \"technology\", \"politics\", \"sports\", \"health\", \"science\""New value: +"News category, e.g. \"business\", \"technology\", \"politics\", \"sports\", \"health\", \"science\". OMIT unless confident — a wrong category guess returns 0 results (e.g. drug-approval and pharma-industry stories are categorized \"business\", not \"health\")."
    • changedInput schema / properties / query / description
      Previous value: -"Keyword or phrase to search news articles for, e.g. \"election\", \"AI chips\""New value: +"Keywords to search news articles for. Every term is AND-ed — each word must appear in the article — so use 1-3 distinctive keywords (\"NMPA approval biotech\", \"AI chips\") rather than a full phrase; \"Chinese biotech out-licensing deals NMPA approvals\" returns 0 results while \"NMPA Chinese biotech\" returns articles."
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "category": "business",
      +    "query": "stock market"
      +  },
      +  {
      +    "category": "politics",
      +    "country": "us",
      +    "language": "en",
      +    "query": "election"
      +  }
      +]
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes well beyond them: it discloses the 48h rolling 'latest' feed, the silent-substitution hazard for older events, the `filter_gap` field returned when the archive tier is unavailable, and the _apiKey override behavior. This is unusually rich behavioral disclosure.

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

Conciseness5/5

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

Despite its length, every sentence carries actionable content: the core purpose leads, hazards and endpoint semantics follow, and concrete examples close. Nothing is padding or restated from the schema.

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, but the description enumerates the returned fields (title, description, link, source, publish date, category, country) and the error-shaped `filter_gap` response, and it resolves the ambiguity around optional date parameters. Nothing an agent needs to call this 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 description coverage is 100%, so the baseline is 3; the description adds cross-cutting meaning such as routing market questions to category: 'business', the from_date/to_date archive switch, and pagination via nextPage. It largely reinforces rather than duplicates schema detail.

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?

States a specific verb and resource ('Get news headlines and articles') and immediately scopes it to world, breaking, and business/financial/stock-market news. An agent knows exactly what this returns without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use rules ('for stock-market / financial-market / economy questions, ALWAYS pass category: business'), explains when a date window is required versus the 48h default, and warns about the archive endpoint's plan-tier limitation. Three worked examples show correct invocation patterns.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.