Skip to main content
Glama

Stocklake — AI Stock Intelligence

Get Stock News

get_stock_news
Read-onlyIdempotent

AI-analysed news for a stock, newest first. Only returns articles processed by our AI pipeline (sentiment, signal_score, summary).

  • days: look-back window in days. Requesting more than your tier's cap is silently clamped down to it: 30 free/guest, 90 pro.

  • limit: max articles returned. The limit=10 default is a Pro-tier-shaped value — on free/guest it's silently clamped down to that tier's cap (5), so a free caller passing no limit effectively gets 5, not 10. Requesting more than your tier's cap (5 free/guest, 50 pro) is likewise clamped down.

  • status: "ok" = articles returned | "empty" = no news in window

  • Per article: title, published_at, ai_sentiment, ai_summary (full text) — Pro only, see below

  • signal_score (Pro only, 0-100 or null) / signal_score_band (Pro only, string or null — "Weak"/"Moderate"/"Strong"/"Very Strong"): if this symbol has a live news-sourced signal (raised in the last 90 days), every article shows that SAME number — the same one get_signals()/get_stock_research() report for this symbol (all three read the same underlying signal, via the same shared resolver), staying live/synced: if the signal is later re-scored, this reflects the update on your next call, not a frozen snapshot from classification time. Always a single number (never a two-sided split) — for a genuinely contested (two opposing theses) signal, this is the STRONGER of the two sides. NOT gated on whether Stocklake's own internal trading engine still considers the signal live — a dropped/expired signal is still a real, useful fact about what the pipeline found. When there's no live signal for this symbol at all, each article instead gets its OWN per-article score (computed from that article's sentiment/confidence/flag_score) — the same fallback get_stock_research()'s news[] block uses, so a symbol with no active thesis doesn't just go null across the board; different articles for the same symbol can then legitimately show different numbers. Null only when neither path can produce a value (article has no AI sentiment/confidence/ flag_score at all). There is deliberately no separate "news_score" field — one name, kept in sync with the signal when one exists, computed per-article when it doesn't. Free tier: up to 5 articles, title + published_at only (no AI fields), 30-day window. Pro tier: up to 50 articles with full AI fields, 90-day window. For informational purposes only. Not financial advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back window in days. Requesting more than your tier's cap is silently clamped down to it: 30 free/guest, 90 pro.
limitNoMax articles returned. Default 10 is a Pro-tier-shaped value — on free/guest it's silently clamped down to that tier's cap (5), so a free caller passing no limit effectively gets 5, not 10. Requesting more than your tier's cap (5 free/guest, 50 pro) is likewise clamped down.
symbolYesStock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark this readOnly, idempotent, and non-destructive, so the extra work is context. The description adds essential behavior: silent clamping of days/limit by tier, the Pro-only gating of AI fields, the single-number signal semantics (stronger side wins, re-scored live), the per-article fallback when no signal exists, and the explicit null-only-when-neither-path-produces-a-value rule. These are exactly the non-obvious behavioral facts an agent needs.

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?

The description is dense and highly informative, but the signal_score section is long and somewhat repetitive, with paired clarifications (the same resolver, the same fallback, the same number) that could be tightened. It is front-loaded with the core purpose and key behavior, but the later paragraphs could be trimmed without losing meaning.

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?

The output schema is present, so return-value details need not be fully spelled out; the description covers the important return semantics (status values, tier differences, signal_score behavior) and the tool's place among siblings. It omits exact output field naming for non-signal per-article fields, but the output schema plus the description's mention of title, published_at, ai_sentiment, ai_summary, and signal_score fields is sufficient for calling.

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 schema already documents all three parameters. The description adds value beyond the schema by clarifying the real-world effect of clamping (a free caller passing no limit gets 5, not 10) and by explaining signal_score fallback semantics. It doesn't repeat plain schema text; it enriches it with behavioral implications.

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 opens with a crisp verb+resource statement — 'AI-analysed news for a stock, newest first' — and immediately narrows scope to articles processed by the AI pipeline. The free/Pro tier contrast and explicit naming of fields distinguishes it clearly from siblings like get_news_feed and get_stock_research.

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?

The tier system and clamping behavior tell the agent when the tool is appropriate and what constraints apply. It references the shared signal resolver linking to get_signals()/get_stock_research(), which helps an agent choose among related tools, though it does not explicitly say 'use this instead of X when Y'.

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.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools have clearly distinct targets—single stock, batch, news, history, insider activity, screener, market pulse, and so on. The closest pairs are get_earnings_calendar vs get_earnings_intelligence and get_market_assessment vs get_market_pulse, which overlap in raw inputs but differ in AI interpretation; the descriptions provide enough clarification to avoid serious misselection.

Naming Consistency5/5

All 17 tools follow a consistent get_<resource> snake_case pattern, with hierarchical names like get_stock, get_stocks, get_stock_news, get_stock_history, and get_stock_research making related resources obvious. There are no mixed naming conventions or vague verb choices.

Tool Count4/5

At 17 tools, the set is slightly above the ideal range, but the scope is broad and each tool has a plausible role in an AI stock intelligence workflow. The convenience aggregations like get_stocks and get_stock_research add some redundancy but remain purposeful rather than bloated.

Completeness5/5

The surface is comprehensive for a read-only AI stock intelligence domain: single-stock fundamentals and technicals, batch lookups, price history, per-stock and market-wide news, insider activity, screening, market pulse, macro assessment, sector intelligence, earnings, signals, and watchlist enrichment. No major operational dead ends are apparent.

Resources