Skip to main content
Glama

Search News

search_news
Read-only

SEMANTIC news search across ALL covered asset classes — stocks, FX, crypto, COMMODITIES (metals like copper/gold, energy like oil), and private companies. Articles matched by MEANING, impact-labeled (title, publisher, entities, direction, why). USE THIS for 'copper news', 'metals', 'gold', etc. instead of a web search. entity_type keeps only stock/forex/crypto/commodity/private hits. For a FILTERED feed by aspect/direction/country use news_feed. limit = how many (default 20, max 50). TIME-SCOPE with from_/to (ISO dates, e.g. '2026-04-01') or a window ('90d','qtd','ytd','1y'). ⚠️ News coverage starts 2026-01-01 — older ranges return nothing (that's no COVERAGE, not 'no news'). Returns {match_quality, top_similarity, note, results}. If match_quality is 'weak'/'none', the corpus has no strongly relevant news — do NOT present these results as evidence; say so and use another route.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "q": "<q>"
    },
    "name": "search_news"
  }
}

Input Schema

NameRequiredDescriptionDefault
qYesFree-text SEMANTIC news query — a topic/event/asset in any language ('copper', 'oil shock', 'Fed rate hike', 'ข่าวทองคำ').
toNoUpper time bound, ISO date `YYYY-MM-DD`.
from_NoLower time bound, ISO date `YYYY-MM-DD`. ⚠️ Ava Advisor NEWS coverage starts 2026-01-01 (nothing before).
limitNoMax rows (default 20, hard cap 50). Keep SMALL + narrow the scope; page/refine rather than dump — heavily-covered assets have hundreds of articles.
detailNo`compact` (default): per story title, date, publisher, types, impact_score, a short brief and the TOP-3 impacted entities (direction + relevance + one-line why) — fits the client's tool-output limit. `full`: every impacted entity with all its aspects (bigger; use with a small `limit`).
formatNo`json` (default): structured rows. `text`: the same stories as plain readable lines (no JSON keys / quotes / nesting) — about half the size; prefer it when you only need to READ the news to answer.
windowNoNews-recency window: `7d`/`30d`/`90d`/`180d`/`1y` or `mtd`/`qtd`/`ytd`. Omit → a sensible default. (Price history is unaffected — this only scopes the NEWS lens.)
collapseNoMerge near-duplicate stories (same article from many outlets) into one row + `dup_count`. Default ON; pass `false` for the raw un-deduped feed.
entity_typeNoKeep only hits of one kind: `stock`|`forex`|`crypto`|`commodity`|`private`. Omit → all.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "compact",
      +        "full"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "`compact` (default): per story title, date, publisher, types, impact_score, a short brief and the TOP-3 impacted entities (direction + relevance + one-line why) — fits the client's tool-output limit. `full`: every impacted entity with all its aspects (bigger; use with a small `limit`).",
      +  "title": "Detail"
      +}
    • addedInput schema / properties / format
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "json",
      +        "text"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "`json` (default): structured rows. `text`: the same stories as plain readable lines (no JSON keys / quotes / nesting) — about half the size; prefer it when you only need to READ the news to answer.",
      +  "title": "Format"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "type": "object"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ],
      +      "title": "Result"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "title": "search_newsOutput",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The annotations only declare `readOnlyHint: true`, but the description adds substantial behavioral context: news coverage starts 2026-01-01, older ranges mean no coverage rather than no news, weak/none match quality should not be presented as evidence, and duplicate collapsing is on by default. These are exactly the operational traits an agent needs beyond the annotation.

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?

The description is front-loaded with the core semantic-search purpose, then moves through usage, time scoping, coverage caveat, and result interpretation. Despite its density, every section adds useful routing or behavioral information with no filler.

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?

For a 9-parameter semantic news tool with an output schema, the description covers the major gaps: asset-class scope, coverage start date, weak-match handling, deduplication default, and result formatting. The output schema exists, but the description still gives enough context to invoke and interpret the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents `q`, `limit`, `detail`, `format`, `window`, `collapse`, and `entity_type` thoroughly. The description mostly repeats those parameter meanings and adds operational framing rather than new parameter-level semantics, so the baseline 3 is appropriate.

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?

The description states a specific verb and resource — semantic news search across stocks, FX, crypto, commodities, and private companies — and explicitly distinguishes this tool from `news_feed` and generic web search. An agent can identify the intended tool 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?

It gives explicit when-to-use guidance ('USE THIS for copper news... instead of a web search') and names the alternative route for filtered feeds (`news_feed` by aspect/direction/country). It also tells the agent what to do when match quality is weak, which is a clear routing rule.

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.