Skip to main content
Glama

Finbolt

financials

A financial statement from SEC filings, newest period first, every value traceable to its filing. Quarterly figures the company reported only year-to-date are derived (e.g. Q4 = FY - 9M) and marked; per-share values and share counts can't be derived that way and are null with reason not_derivable. A line the company tagged with its own element is null with reason custom_element. Common equity and the book values from it are null with reason pending when a preferred issue or redemption follows the last tagged liquidation preference. Every null carries a reason, in cell_notes or (when all of a row's nulls share it) on the row. Banks, insurers and broker-dealers get not_applicable, with a reason, for lines they don't present (capex, current assets, total debt for banks and brokers); banks get loans, allowance and deposits. Broker-dealers and asset managers get the bank layout under net_revenues, with compensation and the compensation ratio. Balance sheets include common equity, book value per share and net debt. A balance the period's own filing didn't present is null, with any later comparative value in a note. A derived or fallback line equal to another row in every column (total equity with no NCI) is named in same_as instead of shown, and a derived Q4 with the opposite sign to Q1-Q3 says so. Values are in units as filed. Values and earlier versions come only from financial statements (10-K, 10-Q, their amendments and transition reports, 20-F, 40-F).

Input Schema

NameRequiredDescriptionDefault
as_ofNoOptional date: the statement as it was on file then
limitNoNumber of periods, 1 to 8
companyYesTicker (e.g. 'AAPL') or SEC CIK
statementNo'income', 'balance' or 'cashflow'income
period_typeNo'annual' or 'quarterly'annual

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.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 and does substantial work: it discloses derivation rules (Q4 = FY - 9M), null reasons (not_derivable, custom_element, pending, not_applicable), industry-specific layouts, unit conventions ('as filed'), and the exact filing types used. It does not state that the operation is a safe read, nor anything about data latency, rate limits, or caching.

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?

It is one dense, unbroken block of roughly 200 words with no structure, front-loaded on the core concept but then consumed by edge-case null handling. Several sentences restate output-schema territory (null reasons, same_as, sign flips) rather than earning space with selection guidance the agent actually needs.

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

Completeness3/5

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

An output schema exists, so the long explanation of null reasons and row-level notes is largely redundant, while the genuinely missing piece — when to call this versus the three statement-specific siblings — is absent. For a 5-parameter tool with that much sibling overlap, the definition is informative about data but incomplete about selection.

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%, so company, as_of, limit, statement and period_type are already documented in the schema. The description reinforces ordering ('newest period first') and quarterly derivation behavior, which gives period_type some meaning, but adds nothing about as_of snapshot semantics or the 1-8 limit range beyond what the schema states. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause names the resource and its provenance precisely: 'A financial statement from SEC filings, newest period first, every value traceable to its filing.' An agent can tell it returns statement data, but the description never distinguishes it from the three closely overlapping siblings (fetch_income_statement, fetch_balance_sheet, fetch_cash_flow) that presumably cover the same statements.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives anywhere in the text. Given that fetch_income_statement, fetch_balance_sheet and fetch_cash_flow exist as siblings, the absence of any routing statement leaves the agent to guess which tool to call.

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.

Resources