Skip to main content
Glama

Server Details

SEC EDGAR fundamentals as agent tools: look up or screen US public companies. Free, no key, CC0.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 36 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct data domain: reviewed event evidence, company research, economic series, single-company fundamentals, batch fundamentals, and screening. The only close pair, get_fundamentals and get_fundamentals_batch, is clearly separated by single-ticker full history versus multi-ticker newest-period behavior.

Naming Consistency4/5

All data access tools follow a get_<domain>_<object> pattern, giving the set a predictable feel. However, get_fundamentals and get_fundamentals_batch omit the company_ prefix used elsewhere, and screen_companies is the only imperative verb rather than a get_ form, so it is not perfectly uniform.

Tool Count5/5

Six tools is well-scoped for a financial data/education server: each covers a distinct operation and none are redundant. The set is neither thin nor bloated, and the single/batch fundamentals split is justified by different use cases.

Completeness4/5

For a read-only research/education server, the surface is largely complete: fundamentals, screening, company research, evidence, and economic context are all represented. Minor gaps remain, such as the lack of a dedicated company-name lookup or broader event-level search, but agents can work around these with the existing tools.

Available Tools

6 tools
get_company_evidenceAInspect

Read short, verified primary-source passages for reviewed company events, with source URLs, section labels, dates, hashes and predecessor links where reviewed. Selective coverage only: no passages means unreviewed, not no events. Quotes normalize whitespace; financial histories are not automatically reconciled across events.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesUS ticker symbol, e.g. AAPL

TDQS

A4.1/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 behavioral burden and does so well. It discloses that only reviewed events have passages, that absent passages mean unreviewed rather than no events, and that quotes are whitespace-normalized while financial histories are not reconciled. These caveats materially affect how an agent should interpret results.

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?

Three sentences, front-loaded with the core function and followed by essential caveats. Every sentence adds value and there is no filler or redundant restating of schema information.

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?

For a one-parameter read tool with no output schema, this description adequately explains the returned data by naming passage types and attached metadata, and it gives explicit rules for interpreting missing and inconsistent data. An agent can correctly anticipate behavior and handle empty responses appropriately.

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%: the single parameter ticker is already documented as 'US ticker symbol, e.g. AAPL'. The description adds no new parameter-level semantics, so the baseline score of 3 applies.

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 opens with the specific verb 'Read' and names the exact resource: short, verified primary-source passages for reviewed company events. It enumerates the included attributes (source URLs, section labels, dates, hashes, predecessor links), which clearly distinguishes it from siblings like get_fundamentals and get_company_research.

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 provides useful interpretive context, especially 'no passages means unreviewed, not no events', which tells an agent how to treat empty results. However, it never explicitly states when to prefer this tool over get_company_research or other siblings, nor does it give exclusion conditions. Usage guidance is implied rather than explicit.

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

get_company_researchAInspect

Company filings, quarterly insider transaction disclosures, aliases, headquarters and legal-entity relationships, with source licenses and explicit coverage dates. Not a live trading feed. For research and education only; not financial advice or an investment signal.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesUS ticker symbol, e.g. AAPL

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose useful behavioral traits: not live, source licenses, explicit coverage dates, and research-only intent. It does not describe response format or data freshness, but it gives meaningful caveats beyond the schema.

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?

Two compact sentences front-load the data contents and then list limitations; no filler. Every clause adds 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?

For a one-parameter tool with no output schema, the description explains the main return categories and coverage/licensing context, which is sufficient for basic invocation. It could be more complete by stating the response shape or updating cadence, but the gaps are minor.

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?

The only parameter, ticker, is fully described in the schema ('US ticker symbol, e.g. AAPL'), so the description need not add parameter detail. The description adds no extra parameter semantics, matching the baseline for high schema coverage.

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 description identifies the resource by enumerating contents (filings, insider transactions, aliases, headquarters, legal-entity relationships) and distinguishes it from a live trading feed. It lacks an explicit main verb like 'returns' or 'retrieves,' so it stops short of a 5.

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

Usage Guidelines4/5

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

It explicitly frames the tool for research/education and warns it is not a live trading feed or financial advice, giving clear context and exclusions. It does not name sibling alternatives such as get_fundamentals, so it misses the top score.

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

get_economic_contextAInspect

Selected government Treasury yields and BLS inflation, employment and wage series, with observation dates, units and reuse provenance. For research and education only; not financial advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the burden. It discloses what data is included and its provenance, but does not describe return format, time range, update frequency, or whether data is point-in-time or current. The 'not financial advice' caveat adds some behavioral context.

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?

Two concise sentences with no filler. The core content description is front-loaded, and the usage restriction is a single clear clause at the end.

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?

For a no-parameter tool with no output schema, the description reasonably covers what the tool returns, units, provenance, and usage limits. Minor gaps include lack of time-range or formatting details, but these are not critical for selecting and invoking a parameterless data-retrieval tool.

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?

There are zero parameters and the schema is empty, so the baseline is 4. The description compensates by explaining exactly what data content the tool provides, which is the only semantics relevant here.

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?

Description names a specific resource: selected Treasury yields and BLS inflation, employment, and wage series, with observation dates, units, and provenance. It clearly distinguishes this macro/economic-data tool from the company-focused siblings like get_company_research and get_fundamentals.

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?

States the intended context ('For research and education only; not financial advice') and implies use when economic context is needed, but does not explicitly state when to prefer this over sibling tools or mention any exclusions.

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

get_fundamentalsAInspect

SEC-derived annual observations with exact dates, units and source filings for a US public company, by ticker symbol. Includes coverage gaps, metric definitions, requested/canonical identity, dataset SHA-256 and research links. Empty annual history is unavailable, not zero; current-CIK history is not reconciled across reorganizations. Data traces to SEC EDGAR filings. For research and education only; not financial advice or a recommendation to buy, sell or hold.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesUS ticker symbol, e.g. AAPL
metricsNoComma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics.
periodsNoNewest annual period groups to return; omitted means all available.

TDQS

A3.9/5.0
Behavior5/5

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

With no annotations, the description carries the transparency burden and largely succeeds: it reveals data provenance (SEC EDGAR), the distinction between unavailable and zero values, the non-reconciliation of current-CIK history across reorganizations, and the research-only nature. This is materially more than a typical read-tool description and includes concrete data caveats.

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 front-loaded: core purpose first, then contents, then caveats, provenance, and disclaimer. Every sentence earns its place; there is no padding.

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?

Despite no output schema and no annotations, the description tells the agent what to expect (dates, units, filings, coverage gaps, definitions, hashes, links) and flags the two most dangerous misinterpretations (empty-as-zero and reorganization reconciliation). It is complete enough for correct invocation.

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% and each parameter already has a meaningful description, so the baseline applies. The description adds contextual color like 'annual' and 'by ticker symbol' but no param-specific information beyond the schema.

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 description states the tool returns SEC-derived annual observations with exact dates, units, and source filings for a specific US public company ticker. It is clear and specific, but it never explicitly contrasts itself with the sibling get_fundamentals_batch or other data tools, so differentiation is left to inference.

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?

No guidance is given on when to choose this tool over get_fundamentals_batch, get_company_evidence, or screen_companies. The closest usage signal is 'by ticker symbol', implying single-company data, but no exclusions, prerequisites, or alternative routing are stated.

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

get_fundamentals_batchAInspect

Read annual fundamentals for 1–20 comma-separated ticker symbols in one request. Defaults to one newest period per issuer; optional metrics projection. Each result keeps requested/canonical identity and source lineage; unknown tickers produce per-entry errors. No historical point-in-time filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsNoComma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics.
periodsNoNewest annual period groups per issuer; default 1, maximum 20.
tickersYes1–20 comma-separated tickers, e.g. MSFT,GOOGL,AMZN

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses defaults, optional metrics projection, identity/source lineage preservation, per-entry errors for unknown tickers, and the lack of historical point-in-time filtering—all beyond what the schema states.

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 three sentences with no wasted words. The primary purpose is front-loaded, and each subsequent sentence adds meaningful behavioral detail without repeating schema content.

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?

Despite having no output schema, the description provides a solid picture of expected behavior: batch scope, defaults, per-entry errors, and identity/lineage preservation. It does not specify the exact response structure or error format, but for a read-oriented batch tool this is reasonably complete.

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 the baseline is 3. The description adds useful behavioral nuance: periods default to 'one newest period per issuer,' metrics are framed as an 'optional projection,' and tickers are explicitly 1–20 comma-separated. This clarifies parameter behavior beyond the raw schema.

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 states a specific verb and resource: 'Read annual fundamentals' with explicit batch scope '1–20 comma-separated ticker symbols in one request.' It clearly differentiates itself from the sibling get_fundamentals by emphasizing the multi-ticker batch capability.

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

Usage Guidelines4/5

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

The description makes it clear this tool is for reading fundamentals for multiple tickers in one request. It also provides an exclusion by stating 'No historical point-in-time filtering,' implying a different tool is needed for historical data, though it does not name that alternative explicitly.

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

screen_companiesAInspect

Find US public companies whose latest annual period fundamentals match filters (minimum revenue, margins, ROE, growth; sector; profitable-only), sorted and limited. Returns a ranked list of companies with their key figures. Data traces to SEC EDGAR filings. For research and education only; not financial advice or a recommendation to buy, sell or hold.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoMatch ticker prefix, company name, industry or sector
sortNoSort column; prefix with - for descending. e.g. -revenue (default), net_margin, -return_on_equity, revenue_growth
limitNoMax results, 1-100 (default 25)
sectorNoOne of: Agriculture, Mining, Construction, Manufacturing, Transportation & Utilities, Wholesale Trade, Retail Trade, Finance & Real Estate, Services, Public Administration
roe_minNoMinimum return on equity, percent
currencyNoReporting currency, default USD; all for name-sorted discovery without monetary filters
exchangeNoExchange name, e.g. Nasdaq or NYSE
industryNoIndustry substring, e.g. semiconductors
profitableNoOnly companies with positive net income
revenue_minNoMinimum annual revenue in the selected reporting currency (default USD)
net_income_minNoMinimum annual net income in the selected reporting currency
net_margin_minNoMinimum net margin, percent
gross_margin_minNoMinimum gross margin, percent (e.g. 40)
total_assets_minNoMinimum total assets in the selected reporting currency
debt_to_equity_maxNoMaximum total-liabilities / year-end-equity ratio (legacy parameter name)
revenue_growth_minNoMinimum year-over-year revenue growth, percent
operating_margin_minNoMinimum operating margin, percent

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description bears the full burden. It mentions 'Find' and 'Returns a ranked list' and notes data provenance (SEC EDGAR), but does not explicitly confirm read-only behavior or potential side effects, leaving some ambiguity.

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 two concise sentences, front-loaded with the primary purpose, followed by output and provenance. No redundancy or filler.

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?

The description provides a solid overview of features (filters, sorting, limiting) and data source, but lacks explicit details on the exact structure of returned data (e.g., list of fields). Given the tool's complexity, this is a minor gap.

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% with detailed parameter descriptions. The tool description adds little beyond an overall summary (e.g., 'sorted and limited') — baseline 3 is appropriate.

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?

Description explicitly states the tool's action ('Find US public companies matching filters') and resource (companies), clearly distinguishing it from sibling tools like get_fundamentals which likely fetch data for a single company.

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 implies screening across companies but does not explicitly state when to use this tool over alternatives. No direct comparison with siblings is provided, so guidance is only implicit.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addedget_company_evidence
    • Changedget_fundamentals3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / metrics
        Added value: +{
        +  "description": "Comma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics.",
        +  "type": "string"
        +}
      • addedInput schema / properties / periods
        Added value: +{
        +  "description": "Newest annual period groups to return; omitted means all available.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Addedget_fundamentals_batch
  2. 2 tool updates
    • Addedget_company_research
    • Addedget_economic_context
  3. 1 tool update
    • Changedscreen_companies8 fields changed
      • addedInput schema / properties / currency
        Added value: +{
        +  "description": "Reporting currency, default USD; all for name-sorted discovery without monetary filters",
        +  "type": "string"
        +}
      • changedInput schema / properties / debt_to_equity_max / description
        Previous value: -"Maximum debt-to-equity ratio"New value: +"Maximum total-liabilities / year-end-equity ratio (legacy parameter name)"
      • addedInput schema / properties / exchange
        Added value: +{
        +  "description": "Exchange name, e.g. Nasdaq or NYSE",
        +  "type": "string"
        +}
      • addedInput schema / properties / industry
        Added value: +{
        +  "description": "Industry substring, e.g. semiconductors",
        +  "type": "string"
        +}
      • changedInput schema / properties / net_income_min / description
        Previous value: -"Minimum annual net income, USD"New value: +"Minimum annual net income in the selected reporting currency"
      • changedInput schema / properties / q / description
        Previous value: -"Match ticker prefix or company-name substring"New value: +"Match ticker prefix, company name, industry or sector"
      • changedInput schema / properties / revenue_min / description
        Previous value: -"Minimum annual revenue, USD (e.g. 1000000000 for $1B)"New value: +"Minimum annual revenue in the selected reporting currency (default USD)"
      • changedInput schema / properties / total_assets_min / description
        Previous value: -"Minimum total assets, USD"New value: +"Minimum total assets in the selected reporting currency"
  4. 2 tool updates
    • First observedget_fundamentals
    • First observedscreen_companies

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides free SEC filing fundamentals for US public companies, including financial statements, 10-K/10-Q summaries, and 8-K event histories. No API key or signup required.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to research US public company filings, financials, and insider transactions using SEC EDGAR data, with no API keys required. Provides tools for company lookup, recent filings, full-text search, financial facts, and insider activity.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to query US public company financial data from SEC filings, with tools for resolving tickers, listing filings, retrieving financial concepts, comparing companies, extracting filing sections, and full-text search. It surfaces data ambiguities like tag variations, restatements, and fiscal-year misalignment rather than hiding them.
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Give your AI agent live SEC EDGAR data: company financials, insider trades, 8-K events, 13F holdings, and the raw filings stream — all normalized to clean JSON, every number traceable back to its sec.gov source filing.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources