Skip to main content
Glama

Stocklake — AI Stock Intelligence

Get Analyst Trend

get_analyst_trend
Read-onlyIdempotent

How analyst consensus on a stock has moved over time - the trajectory of the rating and price targets, not just today's value. Answers "are analysts getting more or less positive on this name?", which get_stock's single current analyst_rating / analyst_target cannot.

Returns one row per day, oldest to newest, up to days (max 365, default 90):

  • date: YYYY-MM-DD

  • analyst_rating: consensus label (strong_buy/buy/hold/underperform/sell/strong_sell) or null

  • analyst_rating_score: numeric consensus, 1.0 (strong buy) to 5.0 (sell)

    • LOWER is more positive. The same scale as get_stock's analyst_rating_score.

  • analyst_count: number of analysts contributing

  • analyst_target: mean price target

  • analyst_target_high / analyst_target_low / analyst_target_median: target spread

  • price: the stock's price on the snapshot date, so the target can be read against where the stock actually traded

Snapshots are taken once per weekday, so a 90-day window is roughly 60 rows. A field is null on a day where the source reported none - analyst_rating in particular can be null on a day when the price targets are present. A weekday can be missing entirely if the daily snapshot did not run; such days are not reconstructed, the date is simply absent. Coverage: most of the tracked universe has a usable history; a symbol with fewer than 2 snapshots returns an empty snapshots list with a note rather than a single stranded point. History begins July 2026 and grows daily.

For the current analyst view alone, get_stock is enough. For price/indicator history, see get_indicator_history - this tool is analyst consensus only.

Pro tier only. For informational purposes only. Not financial advice.

Input Schema

NameRequiredDescriptionDefault
daysNoNumber of days of daily analyst snapshots to return (max 365, default 90). Returns an empty list with a note if fewer than 2 snapshots exist in the window.
symbolYesStock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/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), and the description adds genuinely new behavioral facts: weekday-only snapshots (~60 rows per 90 days), null semantics per field, missing weekdays never reconstructed, fewer than 2 snapshots returns an empty list with a note, and history starting July 2026. It also notes the inverted 1.0=strong buy / 5.0=sell scale, which prevents a serious misreading.

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

Conciseness4/5

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

Front-loaded with the core question and sibling routing, then a scannable field list. The field enumeration partly duplicates the output schema, and the trailing disclaimer adds length, but almost every sentence carries actionable information.

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?

Covers cadence, sparsity, null handling, minimum-history cutoff, coverage caveats, tier gating, and the numeric scale convention. For a read-only history tool with an output schema in place, nothing an agent needs before calling 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 coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: the lower-is-more-positive direction of analyst_rating_score, the ~60-rows-per-90-days density, and the null-per-field behavior that tells the agent how to interpret the `days` window's output.

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 names a specific verb and resource ('how analyst consensus on a stock has moved over time') and frames it as the trajectory rather than a snapshot. It explicitly distinguishes itself from get_stock ('get_stock's single current analyst_rating / analyst_target cannot') and from get_indicator_history ('this tool is analyst consensus only').

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 states the exact question the tool answers ('are analysts getting more or less positive on this name?') and gives explicit routing rules: use get_stock for the current view alone, get_indicator_history for price/indicator history. It also flags the Pro-tier prerequisite, which is a real usage gate.

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