Skip to main content
Glama
edgar-search-mcp

edgar-search-mcp

by jibarix

get_companyfacts

Read-only

Fetch a company's SEC-reported facts document by CIK, ticker, or exact name, with optional taxonomy or concept filters that preserve original values and text.

Instructions

The SEC companyfacts document of one company, unchanged.

cik_or_ticker accepts a CIK, an exact ticker or an exact company name. No number changes value: one a double cannot carry exactly is given as the text the SEC wrote, and numbers_as_text lists where. Without filters payload is the document as the SEC published it (representation "source"). With taxonomy (and optionally concept) payload.facts keeps only those keys, compared literally (case included); every unit and every observation under them is unchanged and every other key of the document is kept (representation "source_records"). A key the document does not have gives an empty facts, which means the SEC published nothing under it.

Input Schema

NameRequiredDescriptionDefault
conceptNo
taxonomyNo
cik_or_tickerYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly and openWorld, but the description adds real behavioral detail beyond them: values are never rewritten, lossy doubles are surfaced as text with `numbers_as_text`, and `representation` flips between "source" and "source_records". It also explains that an empty `facts` is a meaningful negative result rather than an error — a genuinely useful disclosure.

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?

The core identification and the unfiltered baseline are front-loaded, and each sentence adds information rather than restating the name. The phrasing around non-representable numbers is noticeably tangled and could be tightened without loss.

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?

With an output schema present, the description need not enumerate return fields, and it covers inputs, filtering semantics, and the representation switch adequately. For a potentially very large whole-document fetch it gives no signal about payload size or response handling, which is the main remaining gap.

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 0%, so the description carries the load and does so substantively: `cik_or_ticker` accepts a CIK, exact ticker, or exact company name, and taxonomy/concept matching is literal and case-sensitive, with concept optional given taxonomy. What is missing is any sense of valid taxonomy identifiers (e.g. us-gaap) or concept formatting, which would prevent avoidable empty results.

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?

States a specific resource: the SEC companyfacts document of one company, returned unchanged. It implies differentiation from get_companyconcept via the optional taxonomy/concept narrowing, but never names a sibling outright, so an agent must infer the boundary itself.

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 does explain the two modes (unfiltered vs. taxonomy/concept-filtered) and what each returns, which is genuine usage guidance. It never says when to prefer get_companyconcept or get_frames instead, nor any prerequisite (SEC user-agent / rate limits), leaving tool selection partly to inference.

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