Skip to main content
Glama

tengu_v3_reference_history

IDENTIFIER HISTORY for one symbol — every identifier this security has ever been bound to, with the dates each binding started and ended, plus the dated events where the ISSUER changed its name, ticker or CUSIP. This is the part of a crosswalk a current-state table cannot give you: it answers 'what was this on 2015-06-30', 'when did this CUSIP change' and 'what was this company called then'. Returns the timeline grouped by identifier rung (each entry with valid_from, valid_thru and whether it is still current), the issuer change events with what changed at each one, and — with as_of — the exact set of identifiers in force on that date. Use it to back-map a historical holdings file, to audit identifier drift in your own data, or to explain a ticker that no longer exists. STALENESS, stated rather than implied: the issuer change log is a VINTAGE snapshot that lags the live security master (as-of 2026-04-20 when this shipped, 104 days old, newest change event 2026-01-30). Its age in days and its expected cadence are in every response, and any disagreement between it and the live spine is named explicitly rather than blended into one confident answer. Coverage is a number: 969,333 identifier bindings on file, 759,618 of them retired, 38,850 of 77,313 securities carrying at least one prior ticker.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofNo
symbolYesPath parameter 'symbol' (required).
prefer_countryNo
include_change_logNo

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It goes beyond trivial disclosure: it prominently states the staleness ('VINTAGE snapshot that lags the live security master, 104 days old, newest change event 2026-01-30'), promises that disagreement is named explicitly, and quantifies coverage (969,333 bindings, 759,618 retired, etc.). This is exceptional behavioral transparency for a query tool.

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 front-loaded with the core purpose. Every sentence adds value: purpose, use cases, return structure, staleness caveat, coverage metrics. It is structured in logical blocks (what, why, caveats, coverage) without fluff. It earns its length given the tool's complexity and the absence of an output schema.

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?

Despite having no output schema, the description fully explains the return shape: timeline grouped by identifier rung with valid_from/valid_thru/is_current, issuer change events, and as_of-specific set. It also covers the staleness caveat, the lag, and coverage. This is complete enough for an agent to know what to expect and how to use the results.

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

Parameters4/5

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

Schema coverage is only 25% (only symbol is described). The description explicitly explains as_of ('with as_of — the exact set of identifiers in force on that date') and implies include_change_log by describing the issuer change events. However, prefer_country is not mentioned at all, leaving a gap. Despite this, the primary parameters (symbol and as_of) are well covered, and the return structure clarifies what include_change_log likely controls.

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 'IDENTIFIER HISTORY for one symbol' — a specific verb (history) and resource (identifier bindings). It precisely defines the tool's scope: every identifier a security has ever been bound to, with valid_from/valid_thru and issuer change events. It also distinguishes itself from a current-state crosswalk, stating this tool provides the historical part a current-state table cannot.

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 tells when to use: 'Use it to back-map a historical holdings file, to audit identifier drift in your own data, or to explain a ticker that no longer exists.' It contrasts with current-state crosswalk: 'This is the part of a crosswalk a current-state table cannot give you.' This gives clear when/when-not and names the alternative concept (crosswalk), even if not by exact sibling name.

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

C2.9/5.0
Disambiguation2/5

With 336 tools, there is substantial overlap. Over a dozen health/status tools share nearly identical 'is the system healthy?' descriptions (e.g., tengu_status, tengu_ready, tengu_ml_health, tengu_v3_system_health, tengu_v3_stream_status), and multiple single-ticker analysis (tengu_ml_predict, tengu_copilot_score_ticker, tengu_v3_intel_ml_prediction) and top-picks (tengu_copilot_top_picks, tengu_ml_top_picks, tengu_v3_trade_setups) tools have poorly defined boundaries. Agents would frequently misselect.

Naming Consistency2/5

The server mixes no-version (tengu_crypto), v2 (tengu_v2_drift), v3 (tengu_v3_intel_*), and copilot (tengu_copilot_*) families, and within families there is inconsistent verb/noun ordering (tengu_v3_research_fetch_url vs tengu_v3_news_summary). While subfamilies like tengu_v3_private_markets_* are internally consistent, the overall naming pattern is chaotic and unpredictable.

Tool Count1/5

336 tools is far beyond any reasonable tool set size, even for an all-in-one financial data platform. This extreme count creates choice paralysis, high latency in tool selection, and makes the server effectively unusable for autonomous agents. The calibration guideline marks 50+ as extreme; this is nearly 7x that threshold.

Completeness4/5

The platform covers a vast domain: equity and crypto prices, fundamentals, insider trading, options, news (including crypto and FX), private markets, streaming data, risk metrics, and execution planning. There are minor gaps (no direct multi-ticker comparison tool, no order placement), but the surface is remarkably comprehensive for an analysis-focused server.