Skip to main content
Glama

Earnings

earnings
Read-onlyIdempotent

Twelve Data earnings history and upcoming earnings dates for a stock symbol: EPS estimate, EPS actual, surprise percentage, and report date per quarter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker/symbol. Stocks e.g. "AAPL", "MSFT"; forex "EUR/USD"; crypto "BTC/USD"; ETFs "SPY"; indices "IXIC". Comma-separate for a batch (e.g. "AAPL,MSFT").
end_dateNoOptional end of range, "YYYY-MM-DD" or "YYYY-MM-DD HH:MM:SS".
exchangeNoOptional exchange filter (e.g. "NASDAQ", "NYSE", "Binance").
start_dateNoOptional start of range, "YYYY-MM-DD" or "YYYY-MM-DD HH:MM:SS".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoResponse code
statusNoResponse status
messageNoResponse message

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds that it returns historical and upcoming earnings, but no additional behavioral traits (e.g., rate limits, data freshness) 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.

Conciseness5/5

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

The description is a single, concise sentence with no unnecessary words. It efficiently conveys the tool's purpose and data content.

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 presence of an output schema and full annotation coverage, the description sufficiently explains the tool's functionality. No critical information is missing for an AI agent to select and invoke it 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?

Schema description coverage is 100%, so the description adds no new parameter meaning beyond listing returned fields. Baseline of 3 applies as the description does not enhance understanding of parameters.

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 tool retrieves earnings history and upcoming dates for a stock symbol, listing specific data fields (EPS estimate, actual, surprise, report date). It effectively distinguishes itself from siblings like 'earnings_calendar' by focusing on per-symbol quarterly data.

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

Usage Guidelines3/5

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

The description implies usage for earnings data per symbol but does not explicitly state when to use this tool versus alternatives like 'earnings_calendar' or 'dividends'. No when-not or exclusion criteria are provided.

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.7/5.0
Disambiguation3/5

While many tools have distinct purposes, there is notable overlap between price, quote, eod, and time_series for price data. Also, the multiple ask_pipeworx variants and deep_research could cause confusion about which to use for factual queries. Some tools like bet_research and polymarket_arbitrage also have overlapping domains.

Naming Consistency4/5

Most tools follow a descriptive snake_case pattern (ai_visibility_check, ask_pipeworx, compare_entities). A few are single words (cryptocurrencies, indices, profile) which is acceptable. No mixing of camelCase or other conventions, so consistent overall.

Tool Count2/5

47 tools is quite high for a single server. While the domain is broad (financial data, prediction markets, SEC filings, etc.), many tools are highly specific (e.g., polymarket_arbitrage, bet_research, scan_dependency) and could be consolidated. The count feels bloated and adds cognitive load.

Completeness4/5

The tool set is impressively comprehensive, covering stocks, forex, crypto, economic data, SEC filings, prediction markets, entity resolution, and even claims validation. Minor gaps exist (e.g., limited drug data despite having some tools), but overall the surface supports a wide range of agentic workflows without obvious missing operations.