Stocklake — AI Stock Intelligence
Server Details
AI stock intelligence: prices, fundamentals, technicals, news, macro regime, and sector signals.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 20 of 20 tools scored. Lowest: 3.8/5.
Every tool has a clear, distinct purpose. Overlaps like search_stocks vs get_screener are clarified by descriptions (simple vs advanced), and get_stock_rating vs get_technical_signals serve different formats. No two tools are easily confused.
Most tools follow a 'get_<noun>' pattern. The only deviation is 'search_stocks', which is a search operation, not a retrieval. This is a minor break in the otherwise consistent naming scheme.
20 tools is well-scoped for a stock intelligence server covering fundamentals, AI analysis, market data, sectors, and screening. Each tool earns its place without overwhelming the agent.
The tool surface covers the full research workflow: individual stock data, batch queries, history, news, AI summaries, ratings, technical signals, sentiment, sector analysis, market assessment, and discovery ideas. No obvious gaps for the intended purpose.
Available Tools
17 toolsget_earnings_calendarGet Earnings CalendarARead-onlyIdempotentInspect
Upcoming earnings dates for stocks in the Stocklake universe.
days: look-ahead window in days (default 7, max 30)
Returns: { window_days, from_date, to_date, count, results[] }
Each result: symbol, name, sector, market_cap, price, rsi, earnings_date (ISO UTC), is_estimate, eps_trailing, eps_forward
Sorted by earnings_date ascending.
Dates sourced from market data — treat is_estimate=true dates as approximate. Available to all tiers.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds valuable context: returns specific fields, sorting by earnings_date, and that dates with is_estimate=true are approximate. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (6 lines, bullet points), front-loaded with the purpose, and every sentence adds value (param details, return shape, sorting, caveats). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description provides a useful summary of return fields (symbol, name, etc.) and sorting. It also notes data source and estimate approximation. Minor gap: no mention of pagination or limits beyond 'count'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining the 'days' parameter: it is a look-ahead window in days with default 7 and max 30. This is more informative than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Upcoming earnings dates for stocks in the Stocklake universe' clearly states the tool's purpose with a specific verb and resource. It distinguishes from siblings like 'get_earnings_intelligence' by focusing on calendar dates, but does not explicitly differentiate from all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on the 'days' parameter (default 7, max 30) and notes it is available to all tiers. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_earnings_intelligence' or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_earnings_intelligenceGet Earnings IntelligenceARead-onlyIdempotentInspect
Upcoming earnings with AI context — flag scores, verdicts, and risk factors per stock. Combines the earnings calendar with AI pipeline data to surface which upcoming earnings events are worth monitoring.
Parameters:
days_ahead: look-ahead window in days (default 14, max 30)
sector: filter to one sector (e.g. "Technology")
min_flag_score: only return stocks with AI flag score >= this value (optional)
Returns per stock (sorted by earnings_date ascending):
earnings_date: ISO UTC timestamp · is_estimate: whether date is estimated
symbol, name, sector, price, rsi, market_cap
eps_trailing, eps_forward (earnings expectations context)
ai_verdict, ai_flag_score, ai_confidence (nightly AI pipeline)
ai_risks: top 2 AI-identified risk factors
analyst_rating, analyst_target
Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | ||
| days_ahead | No | ||
| min_flag_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavior beyond annotations: sorted by earnings_date, is_estimate flag, nightly AI pipeline, pro tier cost. Annotations already indicate read-only and idempotent; no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections for parameters and returns. Slightly verbose but each sentence adds value. Could merge some lines without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return fields in detail, including sorting. Output schema exists, but the description adds context like 'nightly AI pipeline' and 'Pro tier only'. Missing mention of list structure or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are explained with defaults and constraints (days_ahead max 30, sector filter, optional min_flag_score). Since schema coverage is 0%, the description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it provides upcoming earnings with AI context, including flag scores, verdicts, and risk factors. Distinguishes from sibling get_earnings_calendar by combining calendar with AI pipeline data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage by describing AI pipeline and pro tier, but no explicit comparison to siblings or conditions when to use this vs get_earnings_calendar. Only a disclaimer 'Not financial advice'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indicator_historyGet Indicator HistoryARead-onlyIdempotentInspect
Historical daily indicator snapshots for a stock — ideal for charting and trend detection.
Returns up to days days of data (max 730, default 90) from the stock_indicator_snapshots
collection which is populated daily by the indicator pipeline.
Each snapshot row contains:
recorded_at: ISO date string
price: closing price at snapshot time
rsi: RSI(14) value (0-100)
macd_histogram: MACD histogram value (positive = bullish momentum)
bb_pct: Bollinger Band % position (0 = at lower, 100 = at upper band)
sma20 / sma200: 20-day and 200-day simple moving averages
williams_r: Williams %R (0 to -100; >-20 overbought, <-80 oversold)
ultimate_osc: Ultimate Oscillator (0-100; >70 overbought, <30 oversold)
vix_fix_value: Williams VIX Fix synthetic fear gauge (higher = more fear)
williams_ad_trend: Accumulation/Distribution trend (rising/falling/flat)
td_signal: DeMark TD Sequential signal (BUY_SETUP/SELL_SETUP/BUY_COUNTDOWN/SELL_COUNTDOWN/null)
td_phase: DeMark phase (setup_active/setup_complete/countdown_active/countdown_done/null)
analyst_rating: analyst consensus (buy/outperform/hold/underperform/sell or null)
analyst_target: mean analyst price target or null
Returns {} if fewer than 3 snapshots found. Pro tier only. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds value by detailing the return structure (empty object if <3 snapshots, max 730 days) and all 14 fields, exceeding what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence summary, followed by parameter details and a bulleted field list, making it scannable. It is slightly verbose but efficient for the amount of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description still documents all return fields, limits, empty-handling, and usage notes. This is comprehensive for a read-only data tool with 2 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains the 'days' parameter (range, default) and implies 'symbol' is a stock ticker. This adds essential meaning beyond the bare input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'historical daily indicator snapshots for a stock' and explicitly lists supported indicators (RSI, MACD, BB, etc.), distinguishing it from siblings like 'get_stock_history' which likely focuses on price history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It labels the tool as 'ideal for charting and trend detection' and mentions 'Pro tier only', providing clear context. However, it does not explicitly state when not to use or name alternatives, though the sibling list implicitly covers that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insider_activityGet Insider ActivityARead-onlyIdempotentInspect
Get AI-synthesized insider + institutional activity for a stock. Returns combined signal (BULLISH/BEARISH/NEUTRAL etc.), flag_score (8+=notable), confidence, per-source breakdown, and a human-readable summary. Data covers insider transactions (SEC Form 4) and institutional holdings. Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds valuable context beyond annotations: data sources (SEC Form 4, institutional holdings), AI synthesis, cost attached to pipeline, and a disclaimer ('For informational purposes only. Not financial advice'). These details help an agent understand behavioral traits like non-authoritative nature and cost implications. Score 4 because it adds significant context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is five sentences long, each providing distinct information: purpose, output details, data coverage, tier/cost, and disclaimer. It is front-loaded with the main action and output summary, making it easy to scan. Every sentence earns its place without redundancy or filler. Extremely concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no enums, clearly defined output schema not shown but described in summary), the description covers all necessary context: what data it uses (insider transactions + institutional holdings), what it returns (signal, flag_score, confidence, breakdown, summary), tier restrictions, cost implications, and a risk disclaimer. No gaps remain for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single required parameter 'symbol' with no description, and schema description coverage is 0%. The description does not explain that 'symbol' means a stock ticker symbol or provide format examples (e.g., 'AAPL'). Given that the description should compensate for low schema coverage, it fails to add any parameter semantics beyond the obvious variable name. This hampers correct parameter selection, especially for agents unfamiliar with the domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get AI-synthesized insider + institutional activity for a stock,' specifying the verb 'get' and the resource 'insider + institutional activity' with a specific scope. It lists the output fields (signal, flag_score, confidence, etc.), distinguishing it from sibling tools like 'get_stock_research' or 'get_signals' which cover broader or different data. The purpose is unambiguous and well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving insider and institutional activity, but does not explicitly state when to use this tool versus alternatives such as 'get_signals' or 'get_stock_research.' It mentions 'Pro tier only' and cost, which provides some context, but lacks exclusionary guidance or direct comparison with siblings. Usage is clear by implication, but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_assessmentGet Market AssessmentARead-onlyIdempotentInspect
Combined AI market assessment: macro regime + market outlook in a single call. Produced every ~4 hours by the market intelligence pipeline.
Two distinct perspectives returned together:
REGIME (RISK_OFF/CAUTIOUS/NEUTRAL/AGGRESSIVE): answers "how much equity risk to take" → use for position sizing and asset allocation decisions
OUTLOOK (BULLISH/NEUTRAL/BEARISH): answers "which direction and sectors to trade" → use for sector preference and directional bias
Both share the same pipeline run so they are always in sync.
history_count: include last N prior assessments for each (0-3, default 0)
regime_*: risk posture fields — regime, regime_bias, regime_confidence, regime_rationale, key_risks, watch_for, vix_at_assessment, regime_updated_at
indicators.macro_data: FRED macro data (yield curve, Fed funds, cpi_index, unemployment, M2)
indicators.volatility_term_structure: VIX spot/3M/6M term structure + contango signal
indicators.market_sentiment: CNN Fear & Greed value and label
market_context: price/RSI/SMA200/perf snapshot of SPY/QQQ/IWM/TLT/GLD/VIX/TNX + sectors NOTE: point-in-time snapshot recorded when AI ran — not live prices (use get_market_pulse for live)
outlook_*: directional fields — outlook, outlook_conviction, equity_view, preferred_sectors, avoided_sectors, catalyst, outlook_key_risk, outlook_rationale, outlook_updated_at
Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| history_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, signaling a safe, idempotent read operation. The description adds behavioral context beyond annotations: it states the production frequency ('every ~4 hours'), that it is a 'point-in-time snapshot recorded when AI ran' (not live), that it is 'Pro tier only — AI pipeline cost attached,' and includes a disclaimer. These details help the agent understand the tool's limitations and cost implications, which are not captured by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but structured logically: it starts with a concise summary, lists the two perspectives, then enumerates the fields in a bullet-point style. Each section adds value. While it could be slightly more terse, it is well-organized and front-loads the key purpose. The verbosity is justified by the complexity of the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is only one optional parameter, the output schema exists, and the description provides a detailed breakdown of all returned fields (regime, market_context, indicators, outlook), the description is complete. It explains the meaning of each perspective and includes notes on what is not provided (e.g., 'not live prices'). No additional information is needed for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines one parameter (history_count) with a default of 0 and no description. Schema description coverage is 0%. The description explicitly explains the parameter: 'history_count: include last N prior assessments for each (0-3, default 0).' This adds essential meaning beyond the schema and fully compensates for the lack of schema-level description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides a 'Combined AI market assessment: macro regime + market outlook in a single call.' It distinguishes itself from siblings like get_market_pulse (for live prices) and individual stock tools by emphasizing that it is a combined assessment produced every ~4 hours. The verb 'get' and resource 'market_assessment' are specific, and the description explains the two distinct perspectives (regime and outlook), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use the tool: for position sizing and asset allocation (regime) and for sector preference and directional bias (outlook). It also implies when not to use by noting that for live prices, one should use get_market_pulse. The context for use is clear, though it does not explicitly list all alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_moversGet Market MoversARead-onlyIdempotentInspect
Top market movers from the Stocklake universe — gainers, losers, most active.
category: "gainers" | "losers" | "most_active" | "all" (default "all" = all 3 categories)
limit: results per category (default 10, max 20)
min_market_cap_b: filter to stocks above this market cap in billions (e.g. 1.0 = $1B+)
Returns per stock: symbol, name, sector, price, change_pct, volume, rsi, market_cap, atr_pct (atr_pct omitted when the underlying volatility reading is missing or corrupted) Available to all tiers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | all | |
| min_market_cap_b | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description adds details: 'atr_pct omitted when the underlying volatility reading is missing or corrupted' and 'Available to all tiers'. These provide valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with bullet points for parameters and return fields. Every sentence adds value—no fluff, clear formatting, and efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (3 optional parameters, output schema exists), the description covers all necessary aspects: parameter semantics, behavioral notes (atr_pct omission), and tier availability. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains each parameter: category (with options), limit (default and max), and min_market_cap_b (with example). It also lists return fields, adding significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'Top market movers' with specific categories (gainers, losers, most_active). It differentiates from sibling tools like get_earnings_calendar or get_insider_activity by its unique focus on market mover data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. The purpose is self-explanatory given the name, but no 'when not to use' or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_pulseGet Market PulseARead-onlyIdempotentInspect
Live market health snapshot in a single call. Aggregates key market indicators without requiring multiple tool calls. No AI cost — reads live data directly from the market data feed.
Returns:
vix: VIX level and change_pct (from live stocks data)
fear_greed: value (0-100) and label (e.g. "neutral", "greed", "fear")
breadth: market-wide RSI distribution — oversold_pct, overbought_pct, neutral_pct, universe_size
indices: SPY, QQQ, IWM prices + RSI + 1-week performance
bonds: TLT (long-duration bonds), GLD (gold)
updated_at: when the breadth/fear_greed snapshot was last recorded Available to all tiers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations by stating 'No AI cost — reads live data directly from the market data feed' and details return fields. No contradiction with annotations (readOnly, idempotent, non-destructive).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Efficiently combines purpose, behavioral note, and bullet list of returns. Front-loaded with main idea. Minor redundancy (repeats 'in a single call' but acceptable).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, rich annotations, and detailed return field explanation, it is fairly complete. Could add more on when to use over siblings, but solid for a snapshot tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage 100%. Description adds no param info but none needed. Baseline 4 per guidelines for 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clearly that it provides a 'live market health snapshot in a single call' aggregating key indicators, which differentiates it from siblings like get_market_assessment or get_screener by emphasizing a one-call overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for quick market overview without calling multiple tools ('aggregates key market indicators without requiring multiple tool calls'), but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_news_feedGet Market News FeedARead-onlyIdempotentInspect
Top AI-flagged news across all tracked stocks — the market-wide news briefing. Unlike get_stock_news (per-symbol), this scans the entire universe and returns the most notable articles ranked by AI flag score, newest first within each score tier.
Use this for:
Morning briefing: "what happened in the market this week?"
Catalyst scanning: "what news is driving moves right now?"
Event monitoring: "which stocks have high-impact news today?"
min_flag_score: minimum AI flag score (default 8, min 5, max 10) 8 = notable · 9 = high-impact · 10 = exceptional
days: look-back window in days (default 3, max 10)
limit: max articles returned (default 10, max 25)
Per article: symbol, title, published_at, ai_sentiment, ai_flag_score (0-10), ai_summary (full text), ai_confidence (0-10)
Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| min_flag_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds context about AI pipeline cost, informational purposes, and the score tier system, enhancing transparency without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bullet points for usage and parameters, but somewhat verbose (e.g., 'Use this for:' list could be more concise). Still every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage scenarios, parameter details, output structure, cost mention, and disclaimer. Very complete given there is an output schema and no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema coverage, the description explains all parameters: min_flag_score with examples (8=notable, 9=high-impact, 10=exceptional), days, and limit, plus describes output fields (symbol, title, etc.), fully compensating for missing schema docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it retrieves 'Top AI-flagged news across all tracked stocks — the market-wide news briefing' and explicitly contrasts with get_stock_news (per-symbol), making the purpose crystal clear and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Lists specific use cases: morning briefing, catalyst scanning, event monitoring, and names the alternative tool (get_stock_news) for per-symbol queries, providing explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_screenerScreen StocksARead-onlyIdempotentInspect
Filter and rank stocks from the Stocklake universe — fundamentals, technicals, and AI signals in one tool.
Parameters:
sector: e.g. "Technology", "Healthcare", "Financial Services"
country: e.g. "United States", "Germany"
min_rsi / max_rsi: exact RSI bounds (e.g. max_rsi=30 = oversold, min_rsi=70 = overbought)
sma_trend: "above_200" (price above 200-day MA) | "below_200"
macd_signal: "bullish" (MACD line above signal) | "bearish"
min_perf_1d / max_perf_1d: 1-day performance % (e.g. min_perf_1d=2.0 = up 2%+ today)
min_volume: minimum daily volume (e.g. 1000000)
min_market_cap_b / max_market_cap_b: market cap in billions
max_pe_forward: maximum forward P/E (e.g. 20 = value screen)
analyst_rating: "strong_buy" | "buy" | "hold" | "sell" | "strong_sell"
min_flag_score: minimum AI flag score 0-10 (pro tier only — silently ignored for free)
preset: "oversold" | "overbought" | "momentum" | "high_conviction" (pro only) oversold = RSI≤35 + above SMA200 · overbought = RSI≥65 momentum = RSI 50-70, above SMA200, up 0.5%+ today · high_conviction = flag_score≥7
sort_by: "market_cap" | "rsi" | "perf_1d" | "volume" | "analyst_rating" | "rating" | "flag_score" (pro)
sort_dir: "asc" | "desc" (default "desc")
limit: 1–50 (default 20)
Returns: { count, preset, filters, results[] } — each result includes symbol, name, sector, industry, country, price, change_pct, volume, market_cap, pe_forward, rsi, macd_signal, sma200_trend, analyst_rating, rating (0-10 composite score). Pro tier: adds flag_score + ai_verdict to every result row, enables min_flag_score filter and high_conviction preset. All other filters available to all tiers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| preset | No | ||
| sector | No | ||
| country | No | ||
| max_rsi | No | ||
| min_rsi | No | ||
| sort_by | No | market_cap | |
| sort_dir | No | desc | |
| sma_trend | No | ||
| min_volume | No | ||
| macd_signal | No | ||
| max_perf_1d | No | ||
| min_perf_1d | No | ||
| analyst_rating | No | ||
| max_pe_forward | No | ||
| min_flag_score | No | ||
| max_market_cap_b | No | ||
| min_market_cap_b | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the tool is clearly a safe read operation. The description adds valuable behavioral context: it explains that min_flag_score is 'silently ignored for free' and presets are 'pro only', and it details the return format, including pro tier differences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a clear parameter list and return schema. It front-loads the purpose. Though lengthy, every sentence adds value, and the bullet format aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (18 parameters, multiple tiers) and that an output schema exists, the description is thorough. It explains the return structure, tier differences, and parameter restrictions. A slight omission is no mention of rate limits or pagination, but overall it's complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by listing all 18 parameters with examples, allowed values, and usage context. For instance, it explains 'max_rsi=30 = oversold', 'sma_trend: "above_200" | "below_200"', and defines each preset. This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Filter and rank stocks from the Stocklake universe — fundamentals, technicals, and AI signals in one tool.' It specifies the resource (stocks) and the action (filter and rank), distinguishing it from sibling tools like get_stocks or get_signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through parameter explanations and presets (e.g., 'oversold', 'momentum'), but it does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or comparisons to siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sector_intelligenceGet Sector IntelligenceARead-onlyIdempotentInspect
AI-assessed sector intelligence: signal, cycle stage, rotation signal, drivers, alerts, and computed statistics per sector (RSI distribution, breadth, performance 1W/1M, top/bottom movers, historical percentiles). Pass a sector name for a single sector, or omit the parameter (or pass None) to get the latest assessment for all 11 sectors — the all-sectors call doubles as the rotation view: use sort_by_strength to rank LEADING-first for finding leading vs lagging sectors, and history_count for prior signal states per sector.
sort_by_strength: sort all-sectors output LEADING→LAGGING instead of alphabetical (all-sectors call only; ignored when a single sector is requested)
history_count: include last N prior signal states per sector, 0-3 (default 0; all-sectors call only)
Refreshed every ~4 hours by the market intelligence pipeline. Available to pro tier only (AI pipeline costs). For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | ||
| history_count | No | ||
| sort_by_strength | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive hints. The description adds valuable behavioral context: refresh every 4 hours, pro tier only, informational purposes only, not financial advice. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear first sentence listing outputs, followed by parameter explanations. It is concise yet comprehensive, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (dual mode, parameter scoping) and the presence of an output schema, the description is complete. It covers all necessary context: output content, parameter behavior, refresh cadence, tier restriction, and disclaimer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description thoroughly explains all three parameters: sector (optional, default null meaning all), history_count (0-3, all-sectors only), sort_by_strength (boolean, all-sectors only). It also clarifies when parameters are ignored.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides AI-assessed sector intelligence including signal, cycle stage, rotation signal, drivers, alerts, and computed statistics. It distinguishes two modes (single sector vs all sectors) and explicitly lists the output components, making its purpose specific and distinguishable from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to pass a sector name vs omit it for the all-sectors rotation view, and clarifies parameter scoping (e.g., sort_by_strength and history_count only apply to all-sectors call). However, it does not explicitly state when to avoid this tool in favor of a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signalsGet SignalsARead-onlyIdempotentInspect
AI-screened stock signals actively flagged by the Stocklake pipeline. These are stocks the pipeline's AI agents have identified as worth attention — sourced from news analysis, sector screening, and sentiment signals.
Parameters:
direction: "LONG" | "SHORT" | "BOTH" (default: all)
min_conviction: minimum conviction score 0-10 (default 7)
min_flag_score: minimum flag score 0-10 (default 8; 9+ = high conviction)
source: filter by signal source — "news" | "screener" | "sentiment" | "social" (default: all)
limit: max results to return (default 25, max 50)
Returns:
count: number of signals returned
signals[]: each with symbol, direction, conviction (0-10), confidence (0-10), flag_score (0-10), source, rationale, expires
Note: signals expire daily — active signals represent the pipeline's current view.
Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| source | No | ||
| direction | No | ||
| min_conviction | No | ||
| min_flag_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint true, idempotentHint true, destructiveHint false, which the description supports. It adds valuable behavioral details beyond annotations: signals expire daily, 'AI pipeline cost attached,' and a disclaimer ('Not financial advice'). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear one-liner purpose, followed by parameter list, return format, and caveats. It is moderately concise; every sentence adds value. Slightly verbose with the disclaimer, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters and existing output schema, the description is fully complete. It explains all inputs, return fields, expiration, cost, and disclaimers. No gaps remain for an agent to understand purpose, behavior, or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter: direction (LONG/SHORT/BOTH), min_conviction (0-10, default 7), min_flag_score (0-10, default 8, notes 9+ high conviction), source (news/screener/sentiment/social), limit (max 50, default 25). It adds meaning not present in the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'AI-screened stock signals actively flagged by the Stocklake pipeline,' which precisely defines the resource and action. It distinguishes itself from sibling tools like get_screener or get_news_feed by emphasizing the AI pipeline and signal sources (news, sentiment, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (to get AI-screened signals) and mentions it is 'Pro tier only.' However, it does not explicitly exclude scenarios or directly compare to alternatives like get_screener or get_market_movers, though the unique nature of the signals implies its specific use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stockGet StockARead-onlyIdempotentInspect
Price, fundamentals, technical indicators, and company profile for a stock. Returns all data needed to understand a stock in a single call.
Key fields:
price, change_pct, prev_close, week52_high/low, volume, avg_volume
market_cap, enterprise_value, beta
pe_trailing, pe_forward, price_to_book, dividend_yield, dividend_rate
debt_to_equity, profit_margins, return_on_equity, free_cashflow
revenue_growth, earnings_growth, revenue_ttm, gross_profit_ttm
analyst_rating: "strong_buy"|"buy"|"hold"|"sell"|"strong_sell" (analyst consensus)
analyst_rating_score: 1.0–5.0 mean analyst recommendation (1=strong_buy, 5=strong_sell)
analyst_target: mean analyst price target
analyst_count: number of analyst opinions
indicators: raw RSI, MACD, Bollinger Bands, SMA20/SMA200, EMA20/EMA200, ATR (ma_50 and ma_200 are top-level fields, not inside indicators)
description: company business description
website, employees, officers (top 5: name, title, total_pay)
updated_at: last data sync timestamp Available to all tiers (raw indicator numbers, no interpretation).
Pro tier adds four interpreted blocks computed from the same indicators, no extra AI cost:
rating: {score 0-10, direction BULLISH/NEUTRAL/BEARISH, signals per-indicator breakdown} — composite technical score
signals: flat labeled signals (rsi/macd/bollinger/sma200/sma50/williams_r/ultimate_osc/ vix_fix/williams_ad/td_sequential/elliott_wave, each with a value + plain-English label) — same indicators as 'indicators', pre-interpreted for programmatic use without parsing raw numbers
stance_signals: unified list of per-source directional calls (technical rating, AI summary near_term/longer_term, insider/institutional sentiment, analyst consensus, active screener signals) — each entry {stance BULLISH/BEARISH/NEUTRAL, conviction 0-10, horizon INTRADAY/SWING/POSITION/LONG_TERM, edge_quality PROVEN/OBSERVATION/UNKNOWN (per-source signal_backtest track record), source, raw_label, as_of}. Same canonical shape used on the stock detail page — a source with missing/stale data is simply omitted, not nulled out.
relative_strength: {windows: {5d/20d/60d/120d/12m -> {stock_return_pct, rs_vs_spy, rs_vs_qqq, rs_vs_sector}}, verdict: one-line plain-language read (e.g. "Laggard — weak on all windows")} — stock's own return minus each benchmark's return (percentage points, not a ratio) per window. rs_vs_sector uses the stock's GICS sector SPDR ETF (Vanguard backup if the primary lacks history); omitted for stocks with no resolvable sector (crypto, FX, indices). Windows/ benchmarks with insufficient history are omitted rather than null. null if not precomputed yet.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent annotations by detailing data freshness (updated_at), null/omission behavior for missing or stale data, tier differences (raw indicators vs interpreted blocks), and specific handling for relative_strength windows. This gives an agent precise expectations for edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured, with a clear opening statement, a key-fields list, and separate sections for free vs pro features. Each section earns its place given the large output object, though some parts are dense and could be slightly trimmed. It is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complex output and the existence of an output schema, the description thoroughly covers data fields, tier differences, edge-case behavior, and the structure of interpreted blocks. It is complete enough for an agent to understand exactly what will be returned and how to handle missing data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter, 'symbol', with no description. The description says 'for a stock' but does not explicitly define the symbol format or constraints. Since schema coverage is 0%, the description should compensate more, though the parameter is inherently self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns price, fundamentals, technical indicators, and company profile for a stock, and positions it as a single-call comprehensive snapshot. This differentiates it from sibling tools like get_stock_history or get_stock_news, which focus on specific data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool ('Returns all data needed to understand a stock in a single call') and notes tier-specific behaviors. It doesn't explicitly mention alternatives or when not to use, but the context is clear enough for an agent to select it for holistic stock analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_historyGet Stock Price HistoryARead-onlyIdempotentInspect
Daily OHLCV price history for a stock.
days: number of trading days to return (default 90, max 365)
Returns: { symbol, days, count, history[] }
Per bar: date, open, high, low, close, volume
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and idempotent. The description adds the return structure ({ symbol, days, count, history[] }) and constraints on the days parameter (default 90, max 365), providing useful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, uses bullet points for clarity, and front-loads the essential purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and presence of output schema, the description adequately covers the return format and key constraints. It does not mention pagination or error handling, but these are not critical for this simple query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add parameter meaning. It explains the days parameter (trading days, default 90, max 365) but does not describe the symbol parameter beyond its name. This provides some additional value but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides daily OHLCV price history for a stock. The verb 'get' and resource 'price history' are specific. While it does not explicitly differentiate from siblings, the name and context make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_indicator_history or get_stock. The description does not mention when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_newsGet Stock NewsARead-onlyIdempotentInspect
AI-analysed news for a stock, newest first. Only returns articles processed by our AI pipeline (sentiment, flag score, summary).
days: look-back window in days (default 30, max 30)
limit: max articles returned (default 10, max 10)
status: "ok" = articles returned | "empty" = no news in window
Per article: title, published_at, ai_sentiment, ai_flag_score (0-10), ai_summary (full text), ai_confidence (0-10) Free tier: returns 1 article (with AI sentiment + flag score). Pro tier: up to 50 articles, 90-day window. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds significant behavioral context: only includes articles processed by AI pipeline, details return fields (sentiment, flag score, summary, confidence), and explains tier differences. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 8 lines, with clear bullet points for output fields and tier info. It front-loads the core purpose and uses minimal but effective structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema in the tool definition, the description fully documents the response structure (status, per-article fields) and tier behavior. For a simple read-only tool with 3 parameters, this is complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description carries full burden. It explains days (default 30, max 30), limit (default 10, max 10), and the status output. For symbol, only the resource type is implied, but the overall parameter info is helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns AI-analyzed news for a stock, newest first. This is a specific verb+resource combination that distinguishes it from siblings like get_news_feed or get_stock, which have different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (for AI-processed news) and mentions tier limitations (free vs pro). However, it does not explicitly contrast with alternatives or state when not to use it, missing some guidance for sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_researchGet Stock ResearchARead-onlyIdempotentInspect
Full AI research bundle for a stock in one call — fundamentals, AI-generated summary, recent AI-classified news, insider/institutional signal, and active trade signal. Replaces 4 separate calls: get_stock + get_stock_news + get_insider_activity + get_signals (for one symbol).
Returns:
stock: price, name, sector, rsi, pe_forward, market_cap, 52-week range, analyst data
ai_summary: verdict, confidence, flag_score, full summary, key_points, risks, price_at_generation, generated_at, headline (one-sentence plain-language take), near_term (stance/confidence over <4 weeks — technicals/momentum-weighted), longer_term (stance/confidence over a multi-month horizon — fundamentals/analyst/institutional-flow-weighted). headline/near_term/longer_term are null on summaries generated before this schema shipped — until that symbol's next regeneration, fall back to verdict/confidence.
news: last 3 high-relevance articles (title, published_at, ai_sentiment, ai_flag_score, ai_summary)
sentiment: signal, confidence, insider_trend (buying/selling/neutral), institutional_pct
signal: active trade signal for this symbol, if any (direction, conviction, rationale)
All data is pre-computed by the Stocklake AI pipeline — no live AI calls on request. Pro tier only. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already note read-only and idempotent. The description adds significant context: 'All data is pre-computed by the Stocklake AI pipeline — no live AI calls on request.' It also discloses a behavioral nuance (headline/near_term/longer_term can be null for old summaries) and mentions the 'Pro tier only' restriction. No contradiction with annotations found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: a clear main sentence, then a structured bullet list of return fields, followed by caveats and a disclaimer. It is longer than minimal, but each section adds value. Since an output schema exists, the return list is somewhat redundant, but the explanation of field semantics (e.g., near_term vs longer_term) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool that aggregates four others. The description covers its composition, usage conditions, data freshness behavior, return structure, and a not-financial-advice disclaimer. For a tool with one parameter and rich output, this is highly complete, especially with annotations and output schema providing additional structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (symbol) with no description (0% schema coverage). The description implies 'symbol' is a stock symbol via context ('for a stock', 'for one symbol') and return fields, but it never explicitly defines the format or gives an example ticker. It partially compensates but leaves some ambiguity about what constitutes a valid symbol.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Full AI research bundle for a stock in one call' and explicitly lists the components (fundamentals, AI summary, news, insider/institutional signal, trade signal). It also distinguishes itself from siblings by stating it replaces get_stock, get_stock_news, get_insider_activity, and get_signals. This is a specific verb+resource+scope and clearly separates it from the 16 sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the four alternative tools it replaces, giving a direct when-to-use directive. It also adds a clear restriction ('Pro tier only') and indicates that data is pre-computed rather than live. This provides strong guidance on when to invoke this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stocksGet Multiple StocksARead-onlyIdempotentInspect
Batch stock data for up to 50 symbols in a single call. 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. Available to all tiers.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds critical behavioral details beyond annotations: the 50-symbol batch limit, omission of missing symbols from results, and that each symbol counts as one call toward the daily limit. These details are vital for an agent to use the tool correctly and avoid misunderstandings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: four short sentences, each carrying essential information. It is front-loaded with the primary action ('Batch stock data') and efficiently covers limits, output format, error behavior, and access. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not detail return values. It covers all critical usage aspects: batch size limit, behavior for missing symbols, daily call counting, and tier availability. This is sufficient for an agent to invoke the tool correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It explains that 'symbols' is an array of up to 50 strings, and that missing symbols are omitted. However, it does not explicitly state that the strings should be valid stock ticker symbols, which would further clarify the parameter's purpose. Given the array and return dict context, it's still interpretable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly explains the tool's purpose: retrieving batch stock data for up to 50 symbols in a single call. It distinguishes itself from the sibling tool 'get_stock' (singular) by being a batch operation. The phrase 'Batch stock data' and 'Returns a dict keyed by symbol' precisely convey the action and output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is for batch requests (up to 50 symbols) and is 'Available to all tiers,' hinting at when to use it. It also mentions the daily limit per symbol, which implies rate limiting. However, it does not explicitly mention that for a single symbol, 'get_stock' might be more appropriate, leaving a slight gap in when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watchlistGet WatchlistARead-onlyIdempotentInspect
The caller's Stocklake watchlist (starred symbols from the web dashboard), enriched with live price, technicals, and AI verdict.
Returns:
count: number of symbols on the watchlist
items[]: each with symbol, name, sector, price, change_pct, rsi, atr_pct, ai_verdict, ai_flag_score, added_at, price_at_add
empty items[] if nothing is starred yet — star symbols at stocklake.dev/dashboard
Pro tier only. For informational purposes only. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint=true, destructiveHint=false. Description adds value beyond annotations: mentions enrichment with live price, technicals, AI verdict, and return field structure. No contradiction; aligns with read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return fields. Bullet list is concise but could be slightly more compact; however, every line adds value (return structure, empty behavior, tier, disclaimer).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and presence of output schema (implied by detailed return fields), the description fully explains purpose, enriched data, empty behavior, tier restriction, and disclaimer. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so schema coverage is 100%. Description does not need to add parameter info. Baseline for 0 params is 4. No additional param detail required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'the caller's Stocklake watchlist' with specific verb 'get', and distinguishes from 16 sibling tools by focusing on personalized watchlist data enriched with live price, technicals, and AI verdict.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Pro tier only' and 'For informational purposes only. Not financial advice.' Also explains behavior when watchlist is empty ('star symbols at stocklake.dev/dashboard'). No explicit when-not/alternatives, but sibling differentiation is minimal due to unique scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenancePre-computed financial market intelligence for AI agents. Stocks, crypto, and ETFs.Last updated92623MIT
- Alicense-qualityAmaintenanceProvides derived financial intelligence for AI agents, including insider activity analysis, earnings surprises, institutional moves, stock screening with a proprietary composite value score, and macro indicators.Last updatedMIT
- AlicenseAqualityAmaintenanceInstitutional-grade quantitative stock analysis and research signals for AI agents via the Model Context Protocol (MCP).Last updated1691MIT
- AlicenseCqualityAmaintenanceHistorical stock pattern intelligence for AI agents. Search 24M pre-computed chart pattern embeddings across 15K stocks and 10 years. 19 tools: pattern similarity search, forward returns, regime analysis, anomaly detection, sector rotation, earnings reactions, correlation shifts, scenario analysis, and more. Returns what happened historically when charts looked like this — compliance-safeLast updated2220MIT