Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SEC Fundamentals API

REMOTE · SEC.MULTYPLYLABS.COM · SCANNED SEP 21

SEC EDGAR financials, benchmarks, screening & Buffett value scans for agents. Pay x402 or API key.

+10 this week 83 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4245 tokens (~249/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the SEC Fundamentals API MCP server?

SEC Fundamentals API is a hosted endpoint at https://sec.multyplylabs.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · sec.multyplylabs.com

# add to Claude Code
claude mcp add --transport http com-multyplylabs-sec-fundamentals 'https://sec.multyplylabs.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-multyplylabs-sec-fundamentals": {
      "url": "https://sec.multyplylabs.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-multyplylabs-sec-fundamentals": {
      "type": "http",
      "url": "https://sec.multyplylabs.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-multyplylabs-sec-fundamentals]
url = "https://sec.multyplylabs.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-multyplylabs-sec-fundamentals": {
      "type": "remote",
      "url": "https://sec.multyplylabs.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-multyplylabs-sec-fundamentals --url 'https://sec.multyplylabs.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-multyplylabs-sec-fundamentals:
    url: "https://sec.multyplylabs.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-multyplylabs-sec-fundamentals": {
      "Transport": "http",
      "Url": "https://sec.multyplylabs.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-multyplylabs-sec-fundamentals -t streamable-http -u 'https://sec.multyplylabs.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-multyplylabs-sec-fundamentals": {
      "type": "http",
      "url": "https://sec.multyplylabs.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 16 Sept 26 +10
    • Authorization: unverified → partial security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “buffett_scan” rewrote its description, which is the text the model reads security
    • Tool “buffett_value” rewrote its description, which is the text the model reads security
    • Tool “company_facts” rewrote its description, which is the text the model reads security
    • Tool “company_filings” rewrote its description, which is the text the model reads security
    • Tool “company_financials” rewrote its description, which is the text the model reads security
    • Tool “company_signal” rewrote its description, which is the text the model reads security
    • Tool “compare_to_peers” rewrote its description, which is the text the model reads security
    • Tool “industry_aggregate” rewrote its description, which is the text the model reads security
    • Tool “insider_activity” rewrote its description, which is the text the model reads security
    • Tool “institutional_ownership” rewrote its description, which is the text the model reads security
    • Tool “list_insights” rewrote its description, which is the text the model reads security
    • Tool “market_insight” rewrote its description, which is the text the model reads security
    • Tool “screen_companies” rewrote its description, which is the text the model reads security
    • Tool “short_pressure” rewrote its description, which is the text the model reads security
    • Tool “standard_score” rewrote its description, which is the text the model reads security
    • Tool “top_signals” rewrote its description, which is the text the model reads security
    • Schema quality: 109 → 249 functional
    • Tool coverage: 0% → 100% functional
    • Schema quality: fair → excellent functional
    • Server version: 1.28.1 → 0.1.0 functional
    • New tool “lookup_company” functional
    • “standard_score” added an optional parameter “fy” cosmetic
    • “buffett_scan” reworded the description of “exclude_foreign” cosmetic
    • “buffett_scan” reworded the description of “fy” cosmetic
    • “buffett_scan” reworded the description of “industry” cosmetic
    • “buffett_scan” reworded the description of “limit” cosmetic
    • “buffett_scan” reworded the description of “min_revenue” cosmetic
    • “buffett_scan” reworded the description of “min_score” cosmetic
    • “buffett_value” reworded the description of “exclude_foreign” cosmetic
    • “buffett_value” reworded the description of “fy” cosmetic
    • “buffett_value” reworded the description of “industry” cosmetic
    • “buffett_value” reworded the description of “limit” cosmetic
    • “buffett_value” reworded the description of “min_margin_of_safety” cosmetic
    • “buffett_value” reworded the description of “min_revenue” cosmetic
    • “buffett_value” reworded the description of “min_score” cosmetic
    • “company_facts” reworded the description of “cik” cosmetic
    • “company_facts” reworded the description of “concept” cosmetic
    • “company_facts” reworded the description of “fy_from” cosmetic
    • “company_facts” reworded the description of “limit” cosmetic
    • “company_filings” reworded the description of “cik” cosmetic
    • “company_filings” reworded the description of “form” cosmetic
    • “company_filings” reworded the description of “limit” cosmetic
    • “company_financials” reworded the description of “cik” cosmetic
    • “company_financials” reworded the description of “fy_from” cosmetic
    • “company_financials” reworded the description of “fy_to” cosmetic
    • “company_signal” reworded the description of “cik” cosmetic
    • “company_signal” reworded the description of “weights” cosmetic
    • “compare_to_peers” reworded the description of “cik” cosmetic
    • “compare_to_peers” reworded the description of “fy” cosmetic
    • “industry_aggregate” reworded the description of “fy” cosmetic
    • “industry_aggregate” reworded the description of “industry” cosmetic
    • “industry_aggregate” reworded the description of “metric” cosmetic
    • “industry_aggregate” reworded the description of “size” cosmetic
    • “insider_activity” reworded the description of “cik” cosmetic
    • “insider_activity” reworded the description of “months” cosmetic
    • “institutional_ownership” reworded the description of “cik” cosmetic
    • “market_insight” reworded the description of “agg” cosmetic
    • “market_insight” reworded the description of “form” cosmetic
    • “market_insight” reworded the description of “fy” cosmetic
    • “market_insight” reworded the description of “fy_from” cosmetic
    • “market_insight” reworded the description of “fy_to” cosmetic
    • “market_insight” reworded the description of “industry” cosmetic
    • “market_insight” reworded the description of “limit” cosmetic
    • “market_insight” reworded the description of “metric” cosmetic
    • “market_insight” reworded the description of “min_revenue” cosmetic
    • “market_insight” reworded the description of “months” cosmetic
    • “market_insight” reworded the description of “name” cosmetic
    • “screen_companies” reworded the description of “filters” cosmetic
    • “screen_companies” reworded the description of “fy” cosmetic
    • “screen_companies” reworded the description of “limit” cosmetic
    • “short_pressure” reworded the description of “cik” cosmetic
    • “standard_score” reworded the description of “exclude_foreign” cosmetic
    • “standard_score” reworded the description of “flagged_only” cosmetic
    • “standard_score” reworded the description of “limit” cosmetic
    • “standard_score” reworded the description of “min_revenue” cosmetic
    • “standard_score” reworded the description of “min_score” cosmetic
    • “standard_score” reworded the description of “name” cosmetic
    • “standard_score” reworded the description of “worst” cosmetic
    • “standard_score” reworded the description of “zone” cosmetic
    • “top_signals” reworded the description of “limit” cosmetic
    • “top_signals” reworded the description of “min_composite” cosmetic
    • “top_signals” reworded the description of “min_coverage” cosmetic
    • “top_signals” reworded the description of “weights” cosmetic
    • Tool “buffett_scan” changed its title: Buffett Quality Scan cosmetic
    • Tool “buffett_value” changed its title: Buffett Value Scan cosmetic
    • Tool “company_facts” changed its title: Company XBRL Facts cosmetic
    • Tool “company_filings” changed its title: Company SEC Filings cosmetic
    • Tool “company_financials” changed its title: Company Annual Financials cosmetic
    • Tool “company_signal” changed its title: Company Factor Scorecard cosmetic
    • Tool “compare_to_peers” changed its title: Compare Company to Industry Peers cosmetic
    • Tool “industry_aggregate” changed its title: Industry Benchmark Percentiles cosmetic
    • Tool “insider_activity” changed its title: Company Insider Trades (Form 4) cosmetic
    • Tool “institutional_ownership” changed its title: Company Institutional Ownership (13F) cosmetic
    • Tool “list_insights” changed its title: List Curated Insights cosmetic
    • Tool “market_insight” changed its title: Market-Wide Insight cosmetic
    • Tool “screen_companies” changed its title: Screen Companies by Financials cosmetic
    • Tool “short_pressure” changed its title: Company Short-Selling Pressure cosmetic
    • Tool “standard_score” changed its title: Standard Fundamental Scores cosmetic
    • Tool “top_signals” changed its title: Top Companies by Factor Score cosmetic
  • 14 Sept 26 +1
    • Tool “buffett_scan” rewrote its description, which is the text the model reads security
    • Tool “buffett_value” rewrote its description, which is the text the model reads security
    • Schema quality: pass → fail functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 +1
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 7 Aug 26 0
    • The server no longer declares the “experimental” capability functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://sec.multyplylabs.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sec.multyplylabs.com CN=YE1,O=Let's Encrypt,C=US 14 Sept 2026 13 Dec 2026 ECDSA 256 ECDSA-SHA384 6766be562ff0cac69a183547902cd90ac37
SANs: sec.multyplylabs.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of sec.multyplylabs.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
multyplylabs.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://sec.multyplylabs.com/mcp Verified 200
http (plaintext) http://sec.multyplylabs.com/mcp HTTPS enforced 308 https://sec.multyplylabs.com/mcp
MCP tools · 17 exposed · ~4,061 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
buffett_scan ~432

Rank US public companies by Quality Score (0-100) over a 10-year window from five components: return on invested capital (30 points, blended 60/40 with the company's industry percentile), durability through the cycle (20), cash conversion (20), balance-sheet strength (15) and capital discipline (15). Every component is explainable from the returned row (roic_median, fcf_conversion, net_debt_to_ebit, ...); a component with no usable data is dropped and the rest renormalized. Companies that stopped filing (4,313), have fewer than five fiscal years on file (1,702), lack the tags to measure returns on capital in enough of those years -- missing EBIT tags, or an unclassified balance sheet, common among homebuilders and industrials with captive finance arms (1,612) -- or are balance-sheet financials (banks, insurers, REITs; 1,539) are not scored and do not appear: 2,885 of 12,051 companies (roughly a quarter of all filers, ~37% of active ones) are scored today. Use it for price-independent quality; use buffett_value to add valuation. Methodology v3; heuristic screen, not investment advice. Cost: $0.25 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
exclude_foreignbooleanExclude foreign private issuers (20-F filers); set false to include them.
fyFiscal year of the published Quality Scores; omit for the latest. A year that isn't published returns an error listing the published years.
industry2-digit SIC industry group, e.g. 73 (business services, including software); omit for every industry.
limitintegerMaximum companies to return, 1-200.
min_revenuenumberMinimum annual revenue in USD, e.g. 1e9.
min_scoreintegerMinimum Quality Score, 0-100.
NameTypeReqDescription
resultstringyes

No examples provided.

buffett_value ~370

Find high-quality US public companies trading below intrinsic value: the Quality Score (see buffett_scan) combined with a value score from the previous close (FCF yield, 10-year owner-earnings DCF margin of safety, P/E), ranked by combined_score, the mean of the two (0-100 each). Rows also carry market cap, owner-earnings yield and intrinsic value. Use buffett_scan for quality alone; it needs no price data. Foreign private issuers (20-F filers, e.g. Chinese ADRs) are excluded by default: they screen cheap for structural reasons fundamentals cannot see. Methodology v3; heuristic screen, not investment advice. Cost: $0.25 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
exclude_foreignbooleanExclude foreign private issuers (20-F filers); set false to include them.
fyFiscal year of the published Quality Scores; omit for the latest. A year that isn't published returns an error listing the published years.
industry2-digit SIC industry group, e.g. 73 (business services, including software); omit for every industry.
limitintegerMaximum companies to return, 1-200.
min_margin_of_safetynumberMinimum DCF margin of safety (1 - market cap / intrinsic value), e.g. 0.2 for a price 20% below intrinsic value; 0 keeps companies at or below intrinsic value.
min_revenuenumberMinimum annual revenue in USD, e.g. 1e9.
min_scoreintegerMinimum combined_score (the mean of the quality and value scores), 0-100.
NameTypeReqDescription
resultstringyes

No examples provided.

company_facts ~227

Raw normalized XBRL facts for one company as reported in its SEC filings, newest first: concept, value, unit, period_start and period_end, fiscal_year, fiscal_period, form, filed date and data-quality flags. Use it for individual reported values, quarterly figures or filing provenance; use company_financials for clean annual statements and ratios. Cost: $0.01 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
conceptCanonical concept to return, e.g. revenue, net_income, total_assets, operating_cash_flow; omit for every concept.
fy_fromEarliest fiscal year to include, by each filing's own fiscal-year tag (fiscal_year in the rows); omit for every year.
limitintegerMaximum facts to return, newest first; up to 20000.
NameTypeReqDescription
resultstringyes

No examples provided.

company_filings ~196

SEC filing index for one company, newest first: form, filing date, report period, accession number, 8-K item codes and a direct sec.gov document_url. Use it to find or cite a specific 10-K, 10-Q, 8-K or Form 4; use company_facts or company_financials for the numbers in the filings. Cost: $0.005 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
formForm type to return, as SEC names it, e.g. 10-K, 10-Q, 8-K, 4; omit for every form.
limitintegerMaximum filings to return, newest first; up to 2000.
NameTypeReqDescription
resultstringyes

No examples provided.

company_financials ~203

Annual financial statements for one company, one row per fiscal year: income statement, balance sheet and cash flow lines plus ratios (gross_margin, operating_margin, roe, roa, fcf, debt_to_equity, ...). Use it for a known company's history; use company_facts for individual reported values and quarterly periods, compare_to_peers to benchmark it against its industry, and screen_companies to find companies by criteria. Cost: $0.02 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
fy_fromFirst fiscal year to include, e.g. 2020; omit to start at the earliest year on file.
fy_toLast fiscal year to include; omit to end at the latest year on file.
NameTypeReqDescription
resultstringyes

No examples provided.

company_signal ~260

Composite factor scorecard for one company: quality (Piotroski, Altman, accruals), value (owner-earnings DCF), insider conviction (Form 4 buying as bps of market cap), institutional positioning (13F) and short sentiment, each 0-100, plus a renormalized composite_score and coverage (the share of factors present). Also returns institutional ownership %, insider buy intensity, short-to-ADV and governance flags (Form 4 latency, Item 4.02 restatements, stale fundamentals). Use top_signals to rank every company by the same composite. RESEARCH SIGNAL, NOT INVESTMENT ADVICE. Cost: $0.05 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
weightsOptional JSON object of factor weights, e.g. {"quality":0.4,"value":0.4}. Factors: quality, value, insider, institutional and sentiment; each defaults to 0.2, and unknown keys or negative weights are…
NameTypeReqDescription
resultstringyes

No examples provided.

compare_to_peers ~148

One company's metrics for a fiscal year next to its industry cohort: the percentiles of every metric for each revenue size bucket in its 2-digit SIC group. Use it to judge whether a company's margins, returns or leverage are above or below sector norms; use industry_aggregate for a cohort without a specific company. Cost: $0.05 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
fyintegeryesFiscal year to compare, e.g. 2025.
NameTypeReqDescription
resultstringyes

No examples provided.

industry_aggregate ~254

Benchmark percentiles (p10, p25, median, p75, p90, plus mean and company count n) for one financial metric, per fiscal year, 2-digit SIC industry group and revenue size bucket. Use it for questions like "what is the median gross margin of large software companies?"; use compare_to_peers to place one company in its cohort and market_insight (sector_landscape) for margin medians across every industry. Cost: $0.05 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
fyFiscal year; omit for every year, newest first.
industry2-digit SIC industry group, e.g. 73 (business services, including software); omit for every industry.
metricstringyesMetric to benchmark, e.g. gross_margin, operating_margin, net_margin, roe, roa, debt_to_equity, current_ratio, rd_intensity, revenue, fcf.
sizeRevenue size bucket: micro (under 10M USD), small (10M+), mid (100M+), large (1B+) or mega (10B+); omit for every bucket.
NameTypeReqDescription
resultstringyes

No examples provided.

insider_activity ~155

Insider (Form 4) transactions for one company over the trailing months, plus a summary: open-market buys vs sales, distinct buyers and net dollar value, with 10b5-1 plan flags. Cluster buying by officers and directors is a studied positive signal. Use company_signal for insider conviction scored alongside other factors. Not investment advice. Cost: $0.02 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
monthsintegerTrailing window in months, 1-60.
NameTypeReqDescription
resultstringyes

No examples provided.

institutional_ownership ~133

13F institutional ownership snapshot for one company: number of holders, aggregate shares and value, and quarter-over-quarter change (accumulating vs trimming). 13F filings lag the quarter by up to 45 days and show long positions only. Use company_signal for institutional positioning scored alongside other factors. Not investment advice. Cost: $0.02 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
NameTypeReqDescription
resultstringyes

No examples provided.

list_insights ~60

Catalog of the curated market-wide analyses: each one's name, path, description, parameters with defaults, and price. Call it before market_insight or standard_score to choose an analysis and its parameters. Free: no API key or payment needed.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes

No examples provided.

lookup_company ~180

Find a company's SEC CIK from its ticker, CIK or name. Every company tool takes a cik, so call this first when you only have a ticker (AAPL) or a name (apple). Returns up to limit matches, best first (exact ticker, exact CIK, name prefix, name contains; within each, companies with tickers before other filers such as individuals), each with cik, name, tickers, sic and sic_description; no match is an empty list, not an error. Free: no API key or payment needed.

NameTypeReqDescription
limitintegerMaximum matches to return, 1-25.
querystringyesA ticker (AAPL, BRK.B), CIK digits (320193), or all or part of a company name (apple); 1-100 characters.
NameTypeReqDescription
resultstringyes

No examples provided.

market_insight ~448

Curated analysis computed live across all US public companies, chosen by name: top_companies (rank by a metric, optionally within an industry), movers (largest change in a metric between fy_from and fy_to), sector_landscape (margin medians per industry), metric_trend (yearly sum, median or mean of a metric), capital_returns (buybacks vs dividends by size bucket) or filing_velocity (monthly filing counts for a form type). Each parameter's description says which analyses read it; the response reports the fiscal year(s) used. Use screen_companies for your own criteria and standard_score for F-Score, Z-Score and similar scores. Cost: $0.15 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
aggmetric_trend only: sum (the default), median or mean.
formfiling_velocity only: form type to count, e.g. 8-K (the default).
fyFiscal year for top_companies, sector_landscape and capital_returns, and the default end year for movers and metric_trend; omit for the current fiscal year.
fy_fromStart year for movers (default fy - 2) and metric_trend (default 2015).
fy_toEnd year for movers and metric_trend (default fy).
industrytop_companies only: 2-digit SIC industry group, e.g. 73; omit for every industry.
limitMaximum rows for top_companies and movers, 1-200 (default 25).
metricMetric for top_companies, movers and metric_trend, e.g. revenue (the default), gross_margin, research_development.
min_revenueMinimum annual revenue in USD for movers (default 1e9) and sector_landscape (default 1e8).
monthsfiling_velocity only: months of history, default 18, up to 120.
namestringyesAnalysis to run: top_companies, movers, sector_landscape, metric_trend, capital_returns or filing_velocity.
NameTypeReqDescription
resultstringyes

No examples provided.

screen_companies ~204

Screen US public companies for one fiscal year by financial criteria and return the matches with their name, tickers, industry and metrics, largest revenue first. Use it to discover companies; use company_financials for one known company's history and industry_aggregate for cohort benchmarks. Cost: $0.10 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
filtersstringyesJSON list of [metric, op, value] triples that must all hold, e.g. [["gross_margin",">",0.6],["revenue",">",1e9]]. op is >, >=, <, <= or =; value is a number; up to 8 triples (more are ignored). An un…
fyintegeryesFiscal year to screen, e.g. 2025.
limitintegerMaximum companies to return, largest revenue first; up to 500.
NameTypeReqDescription
resultstringyes

No examples provided.

short_pressure ~132

Short-selling pressure for one company: the FINRA daily short-volume ratio (short volume / total volume) over about 20 trading days, a bearish-sentiment proxy. This is daily short-sale volume, not bi-monthly short interest. Use company_signal for short sentiment scored alongside other factors. Not investment advice. Cost: $0.02 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
cikintegeryesSEC Central Index Key (CIK), e.g. 320193 for Apple. Only have a ticker or company name? Call lookup_company first (free).
NameTypeReqDescription
resultstringyes

No examples provided.

standard_score ~430

Academic fundamental scores across US public companies, chosen by name: piotroski (F-Score 0-9, financial strength), altman_z (bankruptcy-risk zones), beneish_m (elevated M-Score: an accounting-quality screen, not evidence of manipulation), magic_formula (Greenblatt rank on earnings yield and return on capital) or accruals (Sloan earnings quality). Each company is scored on its own latest fiscal year (fiscal_year per row); fy selects the cohort whose latest scored year is fy -- it does not re-score companies on an earlier year. Use company_signal for one company's quality, value and sentiment factors together. Peer-reviewed formulas; not investment advice. Cost: $0.15 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
exclude_foreignbooleanExclude foreign private issuers (20-F filers); set false to include them.
flagged_onlybeneish_m only: omit or true for elevated M-Scores only; false for every score.
fyCohort to return: companies whose latest scored fiscal year is fy (they are not re-scored on an earlier year). Omit for every company on its own latest year. A year no company is scored on returns an…
limitintegerMaximum companies to return, 1-200.
min_revenuenumberMinimum annual revenue in USD, e.g. 1e9.
min_scorepiotroski only: minimum F-Score, 0-9; omit for 7.
namestringyesScore to rank by: piotroski, altman_z, beneish_m, magic_formula or accruals.
worstaccruals only: true ranks the highest accrual ratios (lowest earnings quality) first; omit or false ranks the lowest first.
zonealtman_z only: safe, grey or distress; omit for every zone, most distressed first.
NameTypeReqDescription
resultstringyes

No examples provided.

top_signals ~229

Rank US public companies by composite factor score (quality, value, insider, institutional and short-sentiment factors, each 0-100), highest first, with each company's factor scores, coverage, and restatement and stale-fundamentals flags. Use company_signal for one company's full scorecard. RESEARCH SIGNAL, NOT INVESTMENT ADVICE. Cost: $0.25 per call; unpaid calls return a payment-required error.

NameTypeReqDescription
limitintegerMaximum companies to return, 1-200.
min_compositenumberMinimum composite score, 0-100.
min_coveragenumberMinimum share of the five factors a company must be scored on, 0-1 (0.6 means at least 3 of 5).
weightsOptional JSON object of factor weights, e.g. {"quality":0.4,"value":0.4}. Factors: quality, value, insider, institutional and sentiment; each defaults to 0.2, and unknown keys or negative weights are…
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the SEC Fundamentals API MCP server?

SEC Fundamentals API is an MCP server listed in the public MCP registry as com.multyplylabs/sec-fundamentals. SEC EDGAR financials, benchmarks, screening & Buffett value scans for agents. Pay x402 or API key. This page covers its hosted endpoint (https://sec.multyplylabs.com/mcp).

Is the SEC Fundamentals API MCP server safe to use?

SEC Fundamentals API scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SEC Fundamentals API MCP server expose?

SEC Fundamentals API exposes 17 tools: lookup_company, company_financials, company_facts, company_filings, industry_aggregate, and 12 more. Their descriptions and schemas cost roughly 4,061 tokens of context every time the server is loaded.

Does the SEC Fundamentals API MCP server require authentication?

No. We connected to SEC Fundamentals API without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the SEC Fundamentals API MCP server still maintained?

SEC Fundamentals API is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.