Skip to main content
Glama
edgar-search-mcp

edgar-search-mcp

by jibarix

get_frames

Read-only

Retrieve SEC-aggregated XBRL facts for one concept, unit and calendar period, returning one value per company as the SEC publishes them, with unrepresentable numbers kept as reported text.

Instructions

The SEC frames document, unchanged: one fact per company for one concept, unit and calendar period, as the SEC aggregates them.

unit as the frames API spells it ("USD", "shares", "USD-per-shares", "pure"). period is "CY2023" (annual), "CY2023Q4" (quarterly duration) or "CY2023Q4I" (instant). Each argument is checked for syntax only and put into the address as given. A frame the SEC does not publish is NOT_FOUND. A number a double cannot carry exactly is given as the text the SEC wrote; numbers_as_text lists where.

Input Schema

NameRequiredDescriptionDefault
unitYes
periodYes
conceptYes
taxonomyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely new behavior: arguments are syntax-checked only and passed through as-is, an unpublished frame yields NOT_FOUND, and numbers a double cannot carry exactly come back as SEC-written text with `numbers_as_text` flagging them. That is real operational context beyond the annotations.

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?

Front-loaded with the purpose, then parameter semantics, then edge-case behavior — a sensible order with no filler. The backtick-heavy sentence fragments make it slightly choppy, but every sentence carries information.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description still covers the notable output quirk (numbers_as_text) plus the NOT_FOUND case and pass-through validation. The only real gap is the absence of any guidance on `taxonomy` and `concept` values, which for a 0%-coverage schema is a meaningful omission.

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 0%, so the description must carry the parameter burden. It does a good job on `unit` (with concrete example values 'USD', 'shares', 'USD-per-shares', 'pure') and `period` (CY2023 / CY2023Q4 / CY2023Q4I), but says nothing about `taxonomy` or `concept`, leaving two of four required parameters undocumented anywhere.

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?

Opens with a specific verb+resource and a precise shape: 'one fact per company for one concept, unit and calendar period, as the SEC aggregates them.' That shape implicitly separates it from get_companyconcept (one company, many periods) and get_companyfacts (all facts for one company), so the agent can pick the right tool without opening schemas.

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?

Usage is only implied through the description of the data shape; the description never says when to prefer this over get_companyconcept or get_companyfacts, nor states any preconditions. The period/unit explanations give de facto invocation guidance, but no explicit when/when-not routing.

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