SEC EDGAR company lookup, filings, XBRL financials and filing text. Pay per call in USDC via x402.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Key financials from a company's XBRL filings (SEC companyconcept API): revenue, net income, operating income, operating cash flow, EPS basic/diluted, total assets, total liabilities, stockholders' equity, cash, shares outstanding. Each metric returns the XBRL tag used, unit, latest_reported, latest_annual and latest_quarterly values plus annual and quarterly history, each with period start/end, fiscal year/period, form, filing date and accession number. Picks the freshest of several standard us-gaap tags (ifrs-full for IFRS filers). Optional metrics subset. Data: SEC EDGAR public APIs (sec.gov, data.sec.gov), US public domain, no API key. Companies without XBRL financials and upstream errors are not charged. Costs $0.003 USDC per call via x402.
Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name
Subset of metrics (default all): revenue, net_income, operating_income, operating_cash_flow, eps_basic, eps_diluted, total_assets, total_liabilities, stockholders_equity, cash, shares_outstanding
Annual history length per metric (0-10, default 3)
Quarterly history length per metric (0-12, default 4)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http sec-edgar https://x402-sec-edgar.microtools-x402.workers.dev/mcp
Key financials from a company's XBRL filings (SEC companyconcept API): revenue, net income, operating income, operating cash flow, EPS basic/diluted, total assets, total liabilities, stockholders' equity, cash, shares outstanding. Each metric returns the XBRL tag used, unit, latest_reported, latest_annual and latest_quarterly values plus annual and quarterly history, each with period start/end, fiscal year/period, form, filing date and accession number. Picks the freshest of several standard us-gaap tags (ifrs-full for IFRS filers). Optional metrics subset. Data: SEC EDGAR public APIs (sec.gov, data.sec.gov), US public domain, no API key. Companies without XBRL financials and upstream errors are not charged. Costs $0.003 USDC per call via x402.
| Argument | Type | Description |
|---|---|---|
| company* | string | Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name |
| metrics | any | Subset of metrics (default all): revenue, net_income, operating_income, operating_cash_flow, eps_basic, eps_diluted, total_assets, total_liabilities, stockholders_equity, cash, shares_outstanding |
| annual_periods | integer | Annual history length per metric (0-10, default 3) |
| quarterly_periods | integer | Quarterly history length per metric (0-12, default 4) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name"
},
"metrics": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 11
}
],
"description": "Subset of metrics (default all): revenue, net_income, operating_income, operating_cash_flow, eps_basic, eps_diluted, total_assets, total_liabilities, stockholders_equity, cash, shares_outstanding"
},
"annual_periods": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Annual history length per metric (0-10, default 3)"
},
"quarterly_periods": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Quarterly history length per metric (0-12, default 4)"
}
}
}Resolve a ticker, CIK or company name to the SEC registrant: CIK (plain and 10-digit), official name, tickers, exchanges, SIC code + industry description, entity type, filer category, fiscal year end, state of incorporation, EIN, business address, phone, former names and latest filing, plus up to 9 other name matches. Data: SEC EDGAR public APIs (sec.gov, data.sec.gov), US public domain, no API key. Not-found and upstream errors are not charged. Costs $0.001 USDC per call via x402.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max matches to return (1-10, default 5) |
| query* | string | Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Max matches to return (1-10, default 5)"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name"
}
}
}Fetch one document of an SEC filing by accession number and return clean plain text (HTML/iXBRL stripped, tables as tab-separated rows): the primary document by default, or any exhibit by file name (e.g. the EX-99.1 earnings release of an 8-K). Returns form, filing date, company, total_chars, a text window (max_chars default 20,000, up to 100,000; page with offset/next_offset) and the list of all documents in the filing. Pass company (ticker/CIK) if the filing was submitted by a filing agent. Data: SEC EDGAR public APIs (sec.gov, data.sec.gov), US public domain, no API key. Not-found, unsupported (PDF/images) and upstream errors are not charged. Costs $0.004 USDC per call via x402.
| Argument | Type | Description |
|---|---|---|
| offset | integer | Character offset to start from (for paging, default 0) |
| company | string | Ticker or CIK of the filer (recommended; needed when an agent filed it) |
| document | string | File name inside the filing (default: primary document) |
| max_chars | integer | Max characters of text to return (500-100000, default 20000) |
| accession_number* | string | Accession number, e.g. 0000320193-26-000024 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"accession_number"
],
"properties": {
"offset": {
"type": "integer",
"maximum": 50000000,
"minimum": 0,
"description": "Character offset to start from (for paging, default 0)"
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Ticker or CIK of the filer (recommended; needed when an agent filed it)"
},
"document": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,120}$",
"description": "File name inside the filing (default: primary document)"
},
"max_chars": {
"type": "integer",
"maximum": 100000,
"minimum": 500,
"description": "Max characters of text to return (500-100000, default 20000)"
},
"accession_number": {
"type": "string",
"pattern": "^\\d{10}-?\\d{2}-?\\d{6}$",
"description": "Accession number, e.g. 0000320193-26-000024"
}
}
}Free health check. Returns service status, version, tool prices, network and the plain-HTTP x402 endpoints.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Paid connectivity test: returns ok and a server timestamp. Use it to check that your x402 payment flow works end to end. Costs $0.001 USDC per call via x402.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List a company's SEC filings, newest first: form, filing date, report date, acceptance time, accession number, 8-K item codes, size, XBRL flags, primary document URL and filing index URL. Filter by form types (e.g. 10-K,10-Q,8-K; amendments like 10-K/A included unless include_amendments=false) and date range. Up to 50 results; searches the full EDGAR submission history (recent 1,000 filings plus up to 2 older pages). Data: SEC EDGAR public APIs (sec.gov, data.sec.gov), US public domain, no API key. Not-found and upstream errors are not charged. Costs $0.002 USDC per call via x402.
| Argument | Type | Description |
|---|---|---|
| forms | any | Form types to include, comma list or array (default all) |
| limit | integer | Max filings (1-50, default 10) |
| since | string | Earliest filing date YYYY-MM-DD (inclusive) |
| until | string | Latest filing date YYYY-MM-DD (inclusive) |
| company* | string | Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name |
| include_amendments | boolean | Also match /A amendments of the given forms (default true) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"company"
],
"properties": {
"forms": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
}
],
"description": "Form types to include, comma list or array (default all)"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max filings (1-50, default 10)"
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest filing date YYYY-MM-DD (inclusive)"
},
"until": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest filing date YYYY-MM-DD (inclusive)"
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Ticker (AAPL, BRK.B), CIK (320193 or 0000320193) or company name"
},
"include_amendments": {
"type": "boolean",
"description": "Also match /A amendments of the given forms (default true)"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.