Skip to main content
Glama
aiexp1

Tanod MCP server

utilpeek: SEC EDGAR financial statements by period (revenue, income, balance sheet, cash flow)

sec_financials
Read-onlyIdempotent

Retrieve a US company's reported financials by ticker or CIK for annual or quarterly periods, including revenue, income, assets, cash flow and shares from SEC EDGAR.

Instructions

utilpeek: Get a US company's reported financials per fiscal year or quarter from SEC EDGAR. For the registrant and filings use sec_company_lookup. Returns a US SEC registrant's reported financials by ticker or CIK, per fiscal year or quarter (up to 20): revenue, gross profit, operating and net income, EPS, assets, liabilities, equity, cash, operating cash flow, capex and shares, each with the us-gaap tag used, form, period and accession; missing metrics are null. Informational only, not investment advice. Data: SEC EDGAR (public domain), cached up to 6 hours; no SEC endorsement implied. Send exactly one of ticker or cik; bad input is a 422 and an unknown company or no US-GAAP data a 404 (neither charged); an upstream outage is a 503 (not charged). Typically 1-4 s (cached under 0.1 s). Price: USD 0.005. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/sec-financials-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNoSEC Central Index Key, 1-10 digits, as a number or a string (leading zeros and a CIK prefix allowed, such as 320193 or 0000320193). Send ticker or cik.
limitNoNewest periods to return, 1-20 (default 4).
periodNoannual: fiscal years from 10-K filings; quarterly: the discrete quarters in 10-Q filings.annual
tickerNoExchange ticker such as AAPL (class shares as BRK-B, BRK.B or BRK/B). Send ticker or cik.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNo
nameNo
noteNo
countNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
staleNo
cachedNo
periodNo
sourceNo
tickerNo
periodsNo
currencyNo
disclaimerNo
cache_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds substantial behavior beyond them: 6-hour caching, latency (1-4s, <0.1s cached), error-code mapping, billing/charging behavior, free-tier rate limit, and that missing metrics are null. This is rich operational context.

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?

Purpose is front-loaded in the first sentence and the rest is information-dense with pricing, caching, and error details. Slightly padded by legal boilerplate ('Informational only, not investment advice', 'no SEC endorsement implied'), but nearly every sentence carries weight.

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 present, return values need not be explained; the description still covers inputs, error paths, caching, and cost, which is everything an agent needs to call it correctly. Nothing material is missing.

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 100%, so baseline is 3, but the description adds a genuine cross-parameter constraint not expressed in the schema ('Send exactly one of ticker or cik'). It also notes the up-to-20 period cap, though that is already in the schema, so it stays just above baseline.

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?

States a specific verb and resource ('Get a US company's reported financials per fiscal year or quarter from SEC EDGAR') and explicitly routes the agent away from the sibling sec_company_lookup for registrant/filings. An agent can distinguish it from adjacent tools without opening the schema.

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?

Names the alternative tool and the condition that selects it ('For the registrant and filings use sec_company_lookup'), and states the input selection rule ('Send exactly one of ticker or cik'). Error semantics (422/404/503) further clarify expected usage.

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

Deploy Server

Other Tools