Skip to main content
Glama

Edgar Product Revenue

edgar_product_revenue
Read-onlyIdempotent

PRODUCT-LEVEL or segment-level revenue as STRUCTURED data — e.g. "how much revenue did Keytruda generate", "AAPL revenue by product line". Regular XBRL tools (edgar_company_concept, edgar_company_facts) only expose UNDIMENSIONED totals; a filer's product/segment breakdown is tagged with an XBRL dimension (e.g. a "Keytruda [Member]"), which those APIs cannot see no matter which concept is requested. This tool reads SEC's own standardized "Financial Report" rendering of that dimensional data straight out of the 10-K's (or 10-Q's) segment-reporting / revenue-disaggregation note — the same note human analysts read, but pre-parsed into rows. Pass product_filter (case-insensitive substring, matched against the dimension breadcrumb, e.g. "Keytruda") to get just one product/segment instead of the whole table. Every result carries a citation (accession, filing date, exact report + URL it came from). Not every filer discloses product-level revenue in XBRL, and a small fraction use a non-standard table layout this parser can't read — both are reported as an explicit status rather than a silent empty array, with a fallback to edgar_filing_text for the prose note.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows to return (1-200, default 100).
accessionNoOptional exact accession number (from edgar_company_filings) to read a specific past filing instead of the latest matching form_type.
form_typeNoFiling type to read the note from (default "10-K"). "10-Q" also works for filers that disaggregate revenue quarterly.
ticker_or_cikYesTicker (e.g. "MRK") or CIK (e.g. "310158"). Tickers are auto-resolved.
product_filterNoOptional case-insensitive substring to match against the product/segment dimension, e.g. "Keytruda". Omit to get every disaggregated row in the table.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context beyond those: it explains the source is SEC's standardized Financial Report rendering of the 10-K/10-Q note, that results carry citations, that non-disclosure and non-standard layouts surface as explicit statuses, and that there is a fallback tool. This goes well beyond what annotations convey.

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 dense but every sentence earns its place: purpose, sibling differentiation, source methodology, parameter guidance, output citation guarantee, and failure-mode behavior. It front-loads the core purpose and then builds outward without repetition or filler.

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 tool's complexity, 5 parameters, and no output schema, the description is remarkably complete. It explains what data is returned, what citations accompany results, why results may be absent, how failures are reported, and what to do as a fallback. An agent has enough context 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 schema already documents all 5 parameters. The description adds helpful context for product_filter by explaining it matches against the dimension breadcrumb and controls whether the whole table or one product is returned, but this mostly reinforces the schema rather than adding substantial new 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 names a precise verb-resource pair ('product-level or segment-level revenue as structured data') with concrete examples ('how much revenue did Keytruda generate', 'AAPL revenue by product line'). It explicitly contrasts itself with sibling tools edgar_company_concept and edgar_company_facts, making the tool's unique niche unambiguous.

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 clearly states when to use this tool: when dimensional product/segment breakdown is needed, because the regular XBRL tools cannot see dimensional tags. It also gives a fallback path to edgar_filing_text when the parser can't read a non-standard layout, and explains failure conditions rather than assuming silent success.

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.