Skip to main content
Glama

Stocklake — AI Stock Intelligence

Get Multiple Stocks

get_stocks
Read-onlyIdempotent

Batch stock data for up to 25 symbols in a single call — the same fields get_stock returns for the same key/symbol, so this is a true batch version, not a thinned-down scan. Returns a dict keyed by symbol. Missing symbols are omitted from the result. Each symbol in the batch counts as one call toward the daily limit. A request over 25 symbols is rejected outright (error: batch_too_large) rather than silently served on just the first 25 — split a larger list into multiple calls. Available to all tiers (fundamentals/indicators/company profile, free).

Pro tier adds, per symbol, the same precomputed blocks get_stock adds — rating {score, direction, signals}, signals (per-indicator breakdown), relative_strength, market_risk {beta_spy_1y, corr_spy_1y}, and the minimum AI-narrative slice (ai_verdict, ai_headline, ai_score, ai_score_band). None of this costs a live AI call — it's all precomputed and just needs projecting.

NOT included, even on pro — call get_stock(symbol) for stance_signals, or get_stock_research(symbol) for the full ai_summary text (summary/key_points/ risks/near_term/longer_term) plus cross-source news/insider/signal context.

Response also carries duplicates_collapsed: how many input symbols normalized (case-folding, share-class aliasing e.g. "BRK.B"->"BRK-B") or literally repeated onto a symbol already counted elsewhere in this batch. requested - len(missing or []) - duplicates_collapsed == count always holds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolsYesList of stock ticker symbols, up to 25 per call. Each symbol counts as one call toward the daily limit. A request over 25 symbols is rejected outright (error: batch_too_large) rather than silently served on just the first 25 — split a larger list into multiple calls.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A5/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive hints, the description reveals important behaviors: missing symbols are omitted, duplicates are collapsed, each symbol counts toward a daily limit, requests over 25 are rejected (error: batch_too_large), and tier-dependent fields. The duplicate normalization details and invariant equation add depth. No contradiction with annotations.

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 structured and every sentence earns its place. It front-loads the core purpose, then details tier differences, what is excluded, and response behavior — all essential information without fluff.

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?

Given the tool's complexity (batching, normalization, tier differences, error handling, response shape), the description is remarkably complete. It covers the return dict keyed by symbol, missing/duplicate handling, per-symbol quota, and explicitly mentions what is not included and where to get it. The invariant equation is a definitive check.

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

Parameters5/5

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

Although the schema already describes the symbols parameter at 100% coverage, the description adds substantial semantics: normalization rules, duplicate collapsing, omission of missing symbols, and the invariant involving requested, missing, and duplicates_collapsed. These details are not in the schema and greatly clarify how the parameter is processed.

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 'Batch stock data for up to 25 symbols in a single call' — a specific verb, resource, and scope. It explicitly states this is the same as get_stock but batched, not a thinned-down scan, clearly distinguishing it from siblings like get_stock 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 Guidelines5/5

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

It explicitly tells the agent when NOT to use this tool: for stance_signals call get_stock, for full AI summary call get_stock_research. It also provides guidance on splitting large lists into multiple calls, leaving no ambiguity about batch limits.

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