Skip to main content
Glama

Financial News Search

news
Read-onlyIdempotent

PURPOSE: Search financial news, market commentary, social posts, and raw indexed research-source articles/documents — across articles, tweets, Telegram channel posts, blogs, media, and research-source documents.

COVERS (by intent):

  • [news-search] keyword / topic / event search across media, social content, and raw research-source article/document records (scope with the sources field: twitter | media | research)

  • [news-telegram] curated Telegram channel posts (sources=["telegram"]) — crypto-focused

  • [news-trending] browse what is hot with no specific entity — leave query empty (and sources empty) to get trending topics; add asset_type="crypto"|"tradfi" to narrow the trending board to one asset class

BOUNDARIES:

  • Commentary / interpretation / "解读" / "怎么看" about events, media coverage, or social discussion → news. Raw price or fundamental numbers → metrics. Structured broker research reports / 研报 consumption, report-card fields, thesis/catalysts/caveats, affected-name mentions, most-mentioned stocks in research reports, analyst RATING / price target / "上调评级" → metrics.

  • sources=["research"] fits raw indexed research-source article/document discovery, original-document browsing, or article-style search. 研报 consumption/summary/analysis by ticker and no-ticker research-report boards fit metrics(categories=["fundamentals"]).

  • "What are KOLs calling / 喊单 / consensus" → signal(kol_call). News returns articles & posts.

  • Open-ended "anything worth watching / 有什么热点" with no named entity → call with EMPTY query (returns trending).

  • A named account's COMPLETE or live raw timeline, or a specific tweet's replies/thread → the twitter tool. News searches the curated/indexed set (recent posts + discovery).

USAGE: English query gives the best recall — translate intent, prefer canonical entity names. Query search defaults to sort_by="time" and accepts "relevance"; both retain BM25+KNN recall, while time orders the candidate pool by published time and relevance applies semantic reranking. For an exact KOL alias when Twitter is eligible (default mixed search or sources includes "twitter"), authored originals and content mentions are independent recall legs: each is filtered/deduped/sorted separately, they split the Twitter visible limit evenly with unused quota backfilled, and only the mention leg uses asset entity admission. Empty-query trending defaults to sort_by="hot" and accepts "time"; scoped source browse is time-only. Empty query with sources=["telegram"] uses ten-category fan-out internally for recall, folds exact cross-category duplicates, and returns one globally newest-first stream. Use source_lang when the user explicitly asks for local-language coverage. To search a specific KOL, put their Twitter handle in query + sources=["twitter"] (e.g. 马斯克→elonmusk).

RETURNS: article/document rows with title, content, source, author, time, and a source-quality tag. Structured ticker-scoped research-report cards live under metrics.fundamentals.research_reports; no-ticker most-mentioned research-report requests return leaderboard items under metrics.fundamentals.research_report_most_mentioned.

EXAMPLES (user → args; cross-lingual):

  • "比特币最近的新闻" → query="BTC", sort_by="time"

  • "비트코인 최근 뉴스" → query="BTC"

  • "Tin tức Bitcoin" → query="BTC"

  • "美联储利率决议解读" → query="FEDFUNDS rate decision"

  • "AAPL 财报评论" → query="AAPL earnings"

  • "TG meme 打新动态" → sources=["telegram"], query="meme launch"

  • "在资讯库里搜 AAPL 相关 research 原文" → sources=["research"], query="AAPL"

  • "浏览最近 research source 的原始文章" → sources=["research"]

  • "今天有什么值得关注的" → query="", time_range="1d", sort_by="hot" (empty → trending)

  • "最近加密有什么热点" → query="", asset_type="crypto" (trending, crypto only)

  • "美股今天有什么风向" → query="", asset_type="tradfi", time_range="1d" (trending, tradfi only)

  • "刷一下推特最新" → sources=["twitter"]

  • "马斯克最近发的推" → sources=["twitter"], query="elonmusk"

  • "V神发了什么" → sources=["twitter"], query="VitalikButerin"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 10\, max 50 per independent budget: articles N; social Twitter author/mention posts together N plus Telegram N. Not a total-response limit.
queryNoKeywords / topic / event / question. English usually gives the best recall on this corpus. Prefer canonical names for entities (ticker symbols\, English names for people / concepts). Known complete token addresses are also aliases (e.g. the UNI contract address searches UNI/Uniswap news). Max 500 runes (auto-truncated). Leave empty to browse the latest items in the chosen sources — defaults to trending topics when sources is also empty.
sort_byNoOrdering depends on route: query search supports time (default) | relevance; empty-query trending supports hot (default) | time; scoped source browse supports time only.
sourcesNoRestrict to specific sources: twitter | telegram (channel posts; empty query uses internal ten-category recall and returns global newest-first order) | media (news outlets) | research (raw indexed research-source articles/documents\, tradfi-only; structured broker report cards / 研报消费 belong in metrics.fundamentals). Omit for all-source mix.
verbosityNoFree-text fields (including nested prose) use original prefixes: concise 200 Unicode runes | standard 600 (default for empty or unknown) | detail 2000. Numeric facts, dates, IDs, URLs, tags and technical data are not shortened. Detail still applies this cap; record counts use topic-specific limit.
asset_typeNocrypto | tradfi — restrict to one asset class.
time_rangeNoExplicit caller-requested recency window\, written as <number><unit> where unit is h|d|w|m|y — e.g. 1h\, 4h\, 1d\, 1w\, 1m\, 6m\, 1y. Supply this field when a time constraint is required; the server does not infer a window from query text.
source_langNoRestrict to content in a specific language — use when the user explicitly asks for local-language coverage (e.g. 'how Korean media reports it'). Values: zh-cn | en | vi | ko | ja | es | pt | zh-tw.
search_depthNoRecall strategy for keyword search: quick (precise phrase only\, fastest) | standard (default\, phrase + semantic recall).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description still adds real behavioral context beyond them: route-dependent defaults (query→time, trending→hot, scoped browse→time-only), Telegram's internal ten-category fan-out with cross-category dedup and one global newest-first stream, and Twitter's two independent recall legs with split quota and backfill. It does not cover pagination, rate limits, or failure modes, so it falls short of a 5.

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

Conciseness3/5

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

Purpose/COVERS/BOUNDARIES/USAGE/RETURNS/EXAMPLES headers make it navigable and the routing rules are front-loaded, which is a strength for a complex tool. However, the USAGE section duplicates parameter documentation that already lives in the schema (sort_by per route, Telegram fan-out, source_lang), and the 12 cross-lingual examples add bulk; the text is denser than it needs to be.

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

Completeness4/5

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

With no output schema, the description does carry the return burden and discharges it: article/document rows with title, content, source, author, time, and a source-quality tag, plus a pointer that ticker-scoped report cards live under metrics.fundamentals. Combined with the routing guidance and examples, an agent has enough to invoke it correctly; only pagination/error behavior is unaddressed, which keeps it off a 5.

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%, so the baseline is 3, and the description largely restates schema content — the sort_by route rules, limit budget semantics, source_lang language list, and the empty-query/trending behavior all already appear in the schema. The one genuinely additive element is the cross-parameter pattern for KOL lookup (handle in query + sources=["twitter"], e.g. 马斯克→elonmusk), which does not fully lift it above the 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?

Opens with a specific verb+resource ('Search financial news, market commentary, social posts, and raw indexed research-source articles/documents') and immediately scopes the covered content types (articles, tweets, Telegram posts, blogs, media, research documents). It also explicitly separates itself from siblings (metrics, signal, twitter) rather than leaving the agent to guess.

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?

The BOUNDARIES block gives explicit when-not routing: commentary/interpretation → news, raw numbers and structured 研报/cards/ratings → metrics, KOL consensus/喊单 → signal, a named account's complete timeline or a tweet's replies → twitter. It also states the trigger for the trending route (empty query, no sources) and when source_lang applies.

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.

Resources