Skip to main content
Glama

Server Details

Pre-computed market data that improves agent reasoning, reduces token usage, and replaces pipelines.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
tickerdb/tickerdb-mcp
GitHub Stars
3
Server Listing
TickerAPI

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 8 of 8 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clear, distinct purpose: add/remove watchlist manage saved tickers, get_watchlist analyzes all saved tickers, get_summary analyzes a single ticker, get_search finds assets by filters, get_ohlcv retrieves raw price data, get_schema discovers available fields, and get_account provides account limits. There is no meaningful overlap or ambiguity.

Naming Consistency4/5

Most tools follow a consistent 'get_' + noun pattern (get_account, get_ohlcv, get_schema, get_search, get_summary, get_watchlist). The watchlist mutation tools use 'add_to_watchlist' and 'remove_from_watchlist' instead of a simpler 'add_watchlist'/'remove_watchlist', which is a minor deviation but still predictable and logical.

Tool Count5/5

With 8 tools, this is a well-scoped set that covers market data retrieval, analysis, search, schema discovery, account management, and watchlist lifecycles. Each tool earns its place without unnecessary redundancy or bloat.

Completeness4/5

The tool set covers the core workflows: watchlist CRUD (add/remove/list), single-ticker analysis (get_summary), multi-ticker watchlist analysis (get_watchlist), raw historical data (get_ohlcv), search/discovery (get_search), field introspection (get_schema), and account management (get_account). Minor gaps include no batch historical data endpoint for multiple tickers and no update operation for watchlist entries, but these are not critical for the stated purpose.

Available Tools

9 tools
add_to_watchlistA
Idempotent
Inspect

Add tickers to the user's saved watchlist. Duplicates are skipped. Only call this when the user explicitly asks to track, save, or watch a ticker; do not add tickers just because they came up in conversation. The watchlist is capped by the plan's watchlist_limit (see get_account), so the request can be rejected or accepted only in part. Report back which tickers the response actually confirms rather than assuming every requested ticker was added.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYesArray of ticker symbols to add, e.g. ["AAPL", "MSFT", "BTCUSD"]

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior5/5

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

The description discloses duplicate skipping (consistent with idempotentHint), the plan's watchlist_limit causing partial rejection, and advises verifying the response's confirmed tickers. No contradiction with annotations; it adds context beyond the structured hints.

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 concise and front-loaded, with each sentence adding unique value: purpose, duplicate handling, usage trigger, limit caveat, and response verification. No filler or redundant repetition.

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?

For a single-parameter tool with an output schema, the description covers usage conditions, edge cases (duplicates, limit), and expected response handling. It also references get_account for the watchlist limit, making it fully actionable for an agent.

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

Parameters3/5

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

The schema already fully documents the single 'tickers' parameter with an example, so the parameter semantics are well covered. The description adds behavioral context about duplicates and limits but does not introduce new meaning about the parameter itself, so baseline 3 is appropriate.

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 clearly states 'Add tickers to the user's saved watchlist' with a specific verb and resource, distinguishing it from siblings like remove_from_watchlist and get_watchlist. It also specifies duplicate behavior, adding further clarity.

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?

Explicitly instructs when to call: only when the user explicitly asks to track, save, or watch a ticker, and warns against adding just because tickers came up in conversation. It also references get_account for the watchlist limit, showing awareness of alternative tools and prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accountA
Read-only
Inspect

Get your account details including current plan tier, monthly credit limits, and current usage. Response includes tier, limits (monthly_requests, overage_enabled, watchlist_limit, search_results, webhook_urls, history_days), and usage (monthly_requests_used, monthly_requests_remaining, credit_balance for pay-per-use accounts). Also returns scheduled_tier and scheduled_change_at if a plan change is pending.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description goes beyond by specifying conditional response behavior: scheduled_tier and scheduled_change_at are returned only when a plan change is pending, and credit_balance appears only for pay-per-use accounts. This adds value 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.

Conciseness5/5

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

The description is three sentences: the first states the main purpose, the second lists response fields, and the third adds conditional details. It is front-loaded, well-organized, and every sentence provides new information without redundancy.

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?

With an output schema already present and zero parameters, the description covers all necessary aspects: the tool's action, the full set of returned fields, and conditional behaviors. There are no significant gaps for this simple, read-only tool.

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?

The tool has zero parameters, so there are no parameter meanings to clarify. The description appropriately focuses on the response structure. Given the empty schema, the baseline of 4 applies.

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 states a specific verb ('Get') and resource ('account details') and enumerates the exact content categories (plan tier, credit limits, usage). This clearly distinguishes it from sibling get_ohlcv, get_search, get_schema, and get_summary tools which target entirely different data.

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 description makes the usage context clear: use this tool when the agent needs the user's own account, plan, or usage information. It does not explicitly mention alternatives or exclusions, but the sibling tool names are sufficiently distinct that confusion is unlikely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ohlcvA
Read-only
Inspect

Get stored end-of-day OHLCV candles for a stock, ETF, or crypto ticker, daily or weekly. Use this for exact-return calculations, charts, and backtests after get_summary identifies a setup. Results are paginated; pass next_cursor back as cursor to continue. Equity and ETF bars are split-and-dividend adjusted; crypto bars are unadjusted. Credit cost is 1 credit per 100 bars returned, rounded up, with a 1 credit minimum.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoInclusive end date (YYYY-MM-DD). Compared against the candle date.
limitNoMaximum candles to return (1-1000). Default: 100.
orderNoSort by candle date. Default: desc.
startNoInclusive start date (YYYY-MM-DD). Compared against the candle date, so for weekly this is the Sunday week end. Lookback is limited by plan.
cursorNoExclusive date cursor from next_cursor for pagination (YYYY-MM-DD).
tickerYesTicker symbol, e.g. AAPL, BTCUSD, SPY
timeframeNoCandle timeframe. Default: daily. Weekly candles cover Monday-Sunday and are dated by the Sunday week end, matching get_summary with timeframe=weekly. The in-progress week is not returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior5/5

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

The description discloses important behavioral traits beyond the readOnlyHint annotation: pagination via next_cursor, split-and-dividend adjustment for equities/ETFs vs unadjusted crypto, and credit cost details. These are valuable and not present in 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.

Conciseness5/5

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

The description is three sentences, each with distinct value: purpose+use case, pagination, and behavioral caveats. It is front-loaded with the primary function, then adds necessary detail without wordiness.

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?

With a rich output schema and comprehensive parameter descriptions, the main description covers all key non-obvious aspects: use case, pagination, adjustment policies, and credit cost. It is adequate for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already documents all parameters in detail. The description adds contextual info like pagination and adjustments that relate to parameters but does not repeat or enhance individual parameter semantics beyond the schema.

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 begins with a specific verb ('Get') and resource ('stored end-of-day OHLCV candles') and clearly scopes to stock, ETF, or crypto ticker with daily or weekly timeframes. This distinguishes it from sibling tools like get_summary or get_search.

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 description explicitly states when to use the tool: 'for exact-return calculations, charts, and backtests after get_summary identifies a setup.' It gives clear context and references the workflow with get_summary, though it does not explicitly name alternatives or conditions to avoid using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_schemaA
Read-only
Inspect

Get the schema of all available fields and their valid band values. Use this when the user asks 'what fields are available?', 'what bands does momentum_rsi_zone have?', 'what sectors exist?', or when you need to validate field/band names before calling get_summary with event parameters or get_search with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, establishing safety. The description adds behavioral context beyond these annotations by explaining that the tool returns field schemas and band values, and that it serves as a prerequisite validation step. It does not contradict annotations and discloses no side effects, which is appropriate.

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 only two sentences. The first sentence states the core purpose, and the second provides usage examples and tool relationships. Every clause adds value, with no redundancy or filler.

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 has no parameters, an output schema exists, and annotations cover the safety profile, the description is highly complete. It explains what the tool does, when to use it, and how it fits into the broader workflow with other tools, leaving no critical gaps.

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?

The tool has zero parameters, so the schema already fully documents the input (none). Per rubric, 0 params gets a baseline of 4. The description does not need to add parameter details, and none are missing.

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 begins with a clear verb+resource: 'Get the schema of all available fields and their valid band values.' This distinctly identifies the tool as a metadata/schema retrieval operation, differentiating it from sibling data-fetching tools like get_summary and get_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

The description provides explicit usage guidance with concrete example queries ('what fields are available?', 'what bands does momentum_rsi_zone have?') and states it should be used to validate names before calling get_summary or get_search. This gives clear when-to-use context, though it does not list exclusions, it strongly implies the tool is for schema validation and discovery.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_summaryA
Read-only
Inspect

Get pre-computed market intelligence for a specific stock, crypto, or ETF ticker. Supports 4 modes: (1) Snapshot (default) for the latest categorical state; (2) Historical snapshot by date; (3) Historical series with start and end dates; (4) Events by field and optional band, including aftermath fields on paid tiers, weekly trend_stage analysis, pattern setup states such as pattern_bull_flag and pattern_ascending_triangle, MA signal fields, trend_ma_crossover_event, MA distance lookbacks such as trend_distance_ma40, and stock-only fundamentals_free_cash_flow events. Add stats=true in event mode to return aggregate event-band and aftermath distributions instead of raw rows. Results can include freshness via as_of_date, same-candle OHLCV, market_cap, market_cap_tier, trend, momentum (including divergence_detected, divergence_type, stochastic_zone), volatility (including squeeze_active, squeeze_days), volume (including climax_detected, climax_type), patterns, support/resistance, levels (paid tiers), sector_context (rsi_zone, trend, agreement, asset_vs_sector_rsi), and stock-only fundamentals such as raw pe_ratio (latest ratio on or before the snapshot date; negative values preserved and unavailable values null), free_cash_flow, growth_zone, earnings_proximity, earnings_proximity_basis, analyst_consensus, valuation_percentile, and nested insider_activity when available. Summary keeps sibling _meta objects off by default; set meta=true or request explicit *_meta fields when paid-tier stability metadata is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoRange end date (YYYY-MM-DD). Use with start for historical series.
bandNoFilter events to a specific band value (e.g. deep_oversold, strong_uptrend, stage_2_growth). For MA distance event fields such as trend_distance_ma40, grouped aliases above and below are also supported. Only used with field.
dateNoHistorical date (YYYY-MM-DD) for a point-in-time snapshot. Requires Plus or Pro plan. Omit for latest.
metaNoSnapshot and history modes only. Add true to include sibling _meta / status_meta stability objects across the response. Explicit *_meta field paths in fields still work without this flag.
afterNoReturn events after this date (YYYY-MM-DD). Only used with field.
fieldNoBand field name for event queries (e.g. momentum_rsi_zone, extremes_condition, trend_direction, trend_stage, pattern_bull_flag, pattern_ascending_triangle, pattern_rising_wedge, trend_ma8_slope through trend_ma200_slope, trend_ma_crossover_event, trend_distance_ma40, fundamentals_valuation_zone, fundamentals_free_cash_flow, insider_zone, sector_rsi_zone, momentum_divergence_detected, fundamentals_analyst_consensus). When provided, returns band transition history instead of a snapshot.
limitNoFor event mode: max results (1-50), returned newest-first by default. For sample=even date ranges: requested sampled rows, capped by plan (Free 3, Plus 10, Pro 50).
startNoRange start date (YYYY-MM-DD). Use with end for historical series.
statsNoEvent mode only. Add true to return aggregate stats instead of raw event rows.
beforeNoReturn events before this date (YYYY-MM-DD). Only used with field.
fieldsNoOptional summary fields to return. Identity fields such as market_cap and market_cap_tier are always kept. Pass sections like ohlcv, trend, momentum, volatility, volume, patterns, extremes, support_level, resistance_level, fundamentals, sector_context, or levels (paid tiers). Or pass dotted paths like ohlcv.close, trend.direction, trend.stage, trend.ma_slopes.ma_8, trend.ma_slopes.ma_20, trend.ma_slopes.ma_40, trend.ma_slopes.ma_50, trend.ma_slopes.ma_100, trend.ma_slopes.ma_200, trend.moving_average_values.ma_8, trend.ma_crossover_event, trend.direction_meta, trend.distance_from_ma_band.ma_40, trend.volume_confirmation, momentum.rsi_zone, momentum.stochastic_zone, momentum.xtrm_score, momentum.divergence_detected, momentum.divergence_type, momentum.macd_state, patterns.bull_flag, patterns.bull_flag_breakout, patterns.bear_flag, patterns.bear_flag_breakdown, patterns.ascending_triangle, patterns.rising_wedge, volatility.squeeze_active, volatility.squeeze_days, volatility.regime_trend, volume.climax_detected, volume.climax_type, volume.accumulation_state, volume.price_direction_on_volume, support_level.level_price, support_level.status_meta, resistance_level.level_price, sector_context.rsi_zone, sector_context.trend, sector_context.agreement, sector_context.asset_vs_sector_rsi, sector_context.asset_vs_sector_trend, sector_context.oversold_count, sector_context.valuation_zone, fundamentals.pe_ratio, fundamentals.valuation_zone, fundamentals.growth_zone, fundamentals.free_cash_flow, fundamentals.earnings_proximity, fundamentals.earnings_proximity_basis, fundamentals.last_earnings_surprise, fundamentals.analyst_consensus, fundamentals.analyst_consensus_direction, fundamentals.valuation_percentile, fundamentals.pe_vs_historical_zone, fundamentals.pe_vs_sector_zone, fundamentals.insider_activity, fundamentals.insider_activity.zone, fundamentals.insider_activity.net_direction, levels, levels.support_levels, levels.resistance_levels. trend.stage is populated on weekly snapshots when stage evidence is sufficient. Event field names should prefer full schema names such as momentum_rsi_zone, extremes_condition, trend_stage, pattern_bull_flag, pattern_ascending_triangle, pattern_rising_wedge, trend_ma8_slope through trend_ma200_slope, trend_ma_crossover_event, trend_distance_ma40, fundamentals_valuation_zone, fundamentals_free_cash_flow, insider_zone, sector_rsi_zone, momentum_divergence_detected, and fundamentals_analyst_consensus.
sampleNoDate range mode only. Use 'even' to evenly distribute snapshots across the full start/end range.
tickerYesTicker symbol, e.g. AAPL, BTCUSD, SPY
timeframeNoAnalysis timeframe. Default: daily
context_bandNoOnly return events where the context ticker was in this band (e.g. downtrend). For MA distance context fields, grouped aliases above and below are also supported. Must be provided with context_ticker and context_field.
context_fieldNoBand field to check on the context ticker (e.g. trend_direction, trend_stage, or trend_distance_ma40). Must be provided with context_ticker and context_band.
context_tickerNoCross-asset correlation: a second ticker to filter against (e.g. SPY). Requires context_field and context_band. Plus/Pro only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: paid tier restrictions, meta objects being off by default, stats mode returning aggregates instead of rows, and the ability to request explicit *_meta fields. This goes well beyond 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.

Conciseness3/5

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

The description is a single dense paragraph with a lot of details. It is front-loaded with the main purpose, but the sheer length and stream-of-consciousness listing of fields and modes make it harder to scan. While the complexity of the tool justifies some length, better structuring (bullets or sections) would improve conciseness.

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 (17 parameters, 4 modes, paid tiers, nested objects), this description is exhaustive. It covers mode selection, field filtering, event semantics, stats behavior, meta flags, paid tier limitations, and even notes about fundamentals and insider_activity. The presence of an output schema means return values don't need explanation, and the description does not neglect any major aspect.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema. The description adds some contextual semantics (e.g., 'Add stats=true in event mode' and 'meta=true or request explicit *_meta fields'), but these largely echo the schema descriptions. The description does help by grouping parameters into the four modes, but it does not significantly expand parameter meaning beyond the schema.

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 specific verb+resource: 'Get pre-computed market intelligence for a specific stock, crypto, or ETF ticker.' It clearly distinguishes this tool from siblings like get_ohlcv (raw price data) and get_search (search functionality) by focusing on pre-computed summary intelligence. The four modes are explicitly listed, making the tool's scope unambiguous.

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 description provides clear context on when to use each mode (e.g., 'Snapshot (default) for the latest categorical state', 'Historical snapshot by date'), and explains conditional parameters like stats and meta. However, it does not explicitly state when NOT to use this tool or name alternative tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_watchlistA
Read-only
Inspect

Get analytical summaries for every ticker on the user's saved watchlist. This supports requests about the user's watchlist, tracked stocks, portfolio tickers, or an overview of tracked assets. Each item includes trend, momentum, volatility, volume, extremes, support/resistance prices, and a notable_changes array of human-readable day-over-day change alerts (e.g. 'entered deep_oversold', 'volume spike', 'trend reversed to downtrend', 'earnings within days', 'squeeze activated', 'MA crossover: golden cross'). Additional per-item fields include squeeze_active, squeeze_days, climax_detected, climax_type, divergence_detected, divergence_type. Plus/Pro plans also return analyst_consensus, earnings_proximity, growth_zone, free_cash_flow. Pro plans also return insider_activity and insider_net_direction. Band fields include _meta stability objects on Plus and Pro plans. Use this only for questions that span the whole tracked set; for a question about one specific ticker use get_summary instead, even if that ticker is on the watchlist. When the question is only whether anything changed, prefer get_watchlist_changes: it returns just the deltas, whereas this returns a full summary per ticker and grows large on a watchlist of many assets. Use add_to_watchlist to save tickers first; an empty watchlist means the user has not saved any tickers yet, not that the lookup failed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior5/5

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

Despite annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds substantial behavioral context: it returns a full per-ticker summary that grows large, includes plan-dependent fields, explains empty-watchlist meaning, and discloses the notable_changes format. 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 long but every sentence adds value: purpose, return field details, plan tiers, alternatives, and edge-case semantics. It is front-loaded with the core purpose and structured logically without redundancy.

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 complexity of the output (many fields, plan-dependent data, notable_changes), the description is remarkably complete. It covers return value structure, plan variations, watchlist prerequisites, and when to prefer sibling tools, fully compensating for the absence of parameter docs.

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?

The tool has zero parameters, so the baseline is 4. The description appropriately focuses on return semantics and use cases rather than param docs, which are unnecessary here.

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 specific verb+resource: 'Get analytical summaries for every ticker on the user's saved watchlist.' It clearly distinguishes itself from siblings by naming alternatives (get_summary for single ticker, get_watchlist_changes for deltas) and explicitly states the scope is the whole tracked set.

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?

Explicit usage guidance is provided: 'Use this only for questions that span the whole tracked set; for a question about one specific ticker use get_summary instead' and 'When the question is only whether anything changed, prefer get_watchlist_changes.' It also advises using add_to_watchlist first and clarifies the empty-watchlist semantics, covering exclusions and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_watchlist_changesA
Read-only
Inspect

Get field-level state changes for all tickers on the user's saved watchlist since the last pipeline run. Supports daily day-over-day and weekly week-over-week comparisons. Each change object includes stability metadata such as stability, periods_in_current_state, flips_recent, and flips_lookback when available. Stability metadata requires a Plus or Pro plan. Prefer this over get_watchlist for monitoring questions such as whether anything moved, turned bearish, or became overbought, and for tracking a watchlist over time: it returns only what changed, while get_watchlist returns full summaries for every tracked ticker and is far larger on a big watchlist. Use get_watchlist when the current state of the whole list is needed rather than just the deltas. This is the only way to get week-over-week changes; the notable_changes array on get_watchlist is day-over-day only.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNoChange comparison period. daily = day-over-day, weekly = week-over-week. Default: daily

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior5/5

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

Annotations already mark it read-only and non-destructive; the description adds valuable context: data is based on the last pipeline run, stability metadata requires a Plus/Pro plan, and it returns only changed items. No contradiction with annotations exists.

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 dense but every sentence earns its place: core function, supported comparisons, plan limitation, and sibling comparison. Front-loaded with the action, no fluff or redundancy.

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?

The description is complete for a monitoring tool: it covers purpose, usage guidance, alternatives, plan restrictions, and temporal scope. An output schema exists, so lack of return-value detail is not a gap.

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

Parameters3/5

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

The only parameter, timeframe, is fully documented in the schema with enum values and default behavior. The description adds no additional parameter semantics beyond what the schema already provides; baseline 3 applies due to 100% schema coverage.

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?

Description clearly states it gets field-level state changes for watchlist tickers since the last pipeline run, supporting daily and weekly comparisons. It also distinguishes itself from the sibling get_watchlist by noting it returns only deltas, making its scope precise.

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?

Explicitly recommends preferring this tool over get_watchlist for monitoring questions and provides a clear alternative: use get_watchlist when the full current state is needed. Also notes it is the only source for week-over-week changes, giving concrete 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.

remove_from_watchlistA
DestructiveIdempotent
Inspect

Remove tickers from the user's saved watchlist. Only call this when the user explicitly asks to stop tracking, remove, or drop a ticker; never prune the watchlist on your own initiative. Removal only stops tracking and can be undone with add_to_watchlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYesArray of ticker symbols to remove, e.g. ["MSFT"]

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoThe TickerDB API response payload for this tool call.
Behavior4/5

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

The annotations already include destructiveHint=true, but the description adds context that removal 'only stops tracking and can be undone with add_to_watchlist,' clarifying that it is not an irreversible deletion. This goes beyond the annotation by explaining the scope and reversibility, though it doesn't describe other potential side effects.

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 two sentences long, front-loaded with the main purpose, and every sentence adds value: the first states the action, the second provides usage constraints and reversibility. No redundancy or irrelevant detail.

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 simplicity (one parameter), the presence of an output schema, and annotations covering destructive behavior and idempotency, the description provides sufficient context for a correct invocation. It covers the key decision points: when to call and what the effect is.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter 'tickers' is already fully documented with an example in the schema. The description does not add new semantic detail beyond what the schema provides, so the baseline of 3 applies.

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 clearly states the action: 'Remove tickers from the user's saved watchlist.' It uses a specific verb and resource, and the distinction from the sibling add_to_watchlist is implicit in the action itself. The tool's scope is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

The description explicitly instructs when to use the tool: 'Only call this when the user explicitly asks to stop tracking, remove, or drop a ticker.' It also gives a clear exclusion: 'never prune the watchlist on your own initiative,' and mentions undoing via add_to_watchlist, which guides agent decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Real-time crypto, stock, and prediction-market data for agents — prices, indicators, funding rates, DeFi TVL, macro calendar, and an AI momentum score. Configure one Base wallet key and it just works. No signup, no dashboard, no subscription.
    22
    17
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Provides Bloomberg Terminal-style market data for AI agents, with formatted tables and navigable hierarchy (markets → sector → ticker).
    6
  • A
    license
    -
    quality
    B
    maintenance
    Safe, read-only market data for AI trading agents, offering 44 tools to query prediction markets, perpetuals, and cross-venue signals without the ability to execute trades.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.