Skip to main content
Glama

tickerbot_get_series

THE series primitive: cross-ticker, multi-column time series on one aligned grid. Pick up to 25 columns (price, OHLCV, indicators like rsi_14, boolean flags, custom signals) and up to 50 tickers; get one flat row per ticker per interval step ({ticker, t, price, rsi_14, …}), cursor-paged backward. transitions_only=true with boolean columns returns only the rows where a flag CHANGED — "every golden_cross flip this year" in one call. All-time on every plan. Replaces looping asof snapshots per date, and replaces the sunset per-ticker history routes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoLatest timestamp (inclusive; a bare date means through that day).
fromNoEarliest timestamp (inclusive), YYYY-MM-DD or ISO.
limitNoRows per page. Max 1000. Default 252.
cursorNoOpaque cursor from a prior response — pages older.
tickerNoSingle symbol (alias of `tickers`, wins when both are set). One of ticker/tickers is required.
columnsNoComma list of columns (max 25). `fields` is a permanent alias. Defaults to a small set intersected with the interval's schema (intraday tiers carry fewer columns than daily — e.g. market_cap is daily-only).
tickersNoComma-separated symbols, max 50, all sharing one time grid. One of ticker/tickers is required.
intervalNoGrid granularity. `1w` weekly, `1q` fiscal-quarterly (fundamentals).
transitions_onlyNoOnly rows where a boolean column changed value (requires at least one boolean column). Each row carries `transition_drivers` naming the flags that flipped.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behaviors: cursor-paged backward pagination, flat row structure, transitions_only behavior with transition_drivers, and 'all-time on every plan'. It lacks details on rate limits or error handling, but the provided behavioral context is substantial and goes well beyond minimal.

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

Conciseness4/5

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

The description is compact and information-dense, with each sentence contributing a distinct aspect: purpose, row format/pagination, transitions, and alternatives. It is slightly longer than necessary due to marketing-style phrasing ('THE series primitive'), but overall it remains focused and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description effectively explains return values and pagination. It covers the core use cases and key constraints, but omits edge-case behaviors like timezone handling or error responses. For a tool of this complexity, it is reasonably complete, though not exhaustive.

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 coverage is 100% with detailed parameter descriptions, so baseline is 3. The description adds context about limits (25 columns, 50 tickers) and row shape, but these are not new semantic details for individual parameters beyond what the schema already provides. It enriches usage context but doesn't materially add to schema semantics.

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 identifies this as the cross-ticker, multi-column time series primitive, distinguishing it from per-ticker history endpoints by explicitly stating it replaces them. The verb 'get' and resource 'series' are specific, and the description names concrete use cases like transitions_only.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: for multi-ticker, multi-column aligned series, and directly says it replaces looping asof snapshots and sunset per-ticker history routes. This provides clear alternative guidance, satisfying the 'explicit when/when-not' criterion.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools target distinct resource-action pairs, but get_ticker and get_ticker_history overlap (both return a single historical row via asof), and the four subscribe_* tools are thin wrappers around create_webhook, creating some ambiguity. Detailed descriptions mitigate but don't eliminate confusion.

Naming Consistency4/5

The tickerbot_ prefix and verb_noun pattern are consistent (create_*, get_*, list_*, delete_*, update_*), but subscribe_* deviates from create_* for webhooks, and scan/search_news are bare verbs. Overall predictable.

Tool Count2/5

35 tools is excessive for the domain; many could be consolidated (e.g., four subscribe_* variants into a single parameterized webhook creator, get_ticker/get_ticker_history into one). The breadth of data types justifies some volume, but this exceeds the 25-tool threshold for coherence.

Completeness5/5

Full lifecycle coverage for universes, custom signals, and webhooks; extensive read-side for tickers, series, bars, events, news, and scans. No critical dead ends: anything creatable can be updated/deleted/tested, and data lookups have appropriate query tools.