EDGAR + Entity: US Company Research
Server Details
SEC EDGAR filings, XBRL financials, Form 4 insider trades + state business-entity registry lookups
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- pgeneralpl/edgar-entity-mcp
- GitHub Stars
- 0
- Server Listing
- edgar-entity-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 10 tools
Most tools have clearly distinct scopes: search_company covers SEC public companies, lookup_business_entity covers state registries, list_filings versus get_filing_document is clear, and get_xbrl_concept versus get_financials is differentiated by raw concept lookup versus normalized metrics. The main possible confusion is among compare_companies, get_financials, and get_xbrl_concept, which all deal with financial data but at different aggregation levels; descriptions help, but an agent may briefly hesitate.
All tool names use a consistent snake_case verb_noun pattern: get_*, list_*, search_*, lookup_*, compare_*. The convention is predictable throughout, with no mixed casing or vague standalone verbs.
Ten tools is well scoped for a US company research server. Each tool covers a distinct research need, from discovery and profiles to filings, financials, insiders, and state entity lookup, without obvious redundancy.
The surface covers the core SEC company research lifecycle: company search, profile, filing listing, filing document retrieval, financial metrics, cross-company comparison, XBRL concept lookup, insider trades, and state entity lookup. Minor gaps remain, such as full-text SEC filing search or ownership/13F data, but agents can accomplish most research workflows with these tools.
Available Tools
10 toolscompare_companiesCross-company comparison (XBRL frames)ARead-onlyIdempotentInspect
Compare one financial metric or XBRL concept across ALL reporting companies for a CALENDAR period (SEC frames API), e.g. rank by revenue for CY2024, or compare specific companies. Pass metric (revenue, gross_profit, operating_income, net_income, eps_basic, eps_diluted, operating_cash_flow, capex, total_assets, total_liabilities, stockholders_equity, cash, long_term_debt; aliases like sales, eps, assets) to fall back across the common tags for it (revenue: Revenues > RevenueFromContractWithCustomerExcludingAssessedTax > SalesRevenueNet), with the tag used per company; or pass tag for one exact concept. Period: CY2024 (annual duration), CY2024Q2 (quarter), CY2024Q4I (instant, for balance-sheet items; added automatically for balance-sheet metrics). Calendar basis: each filer's ~1-year (or ~3-month) period that best fits the calendar period, so CY2024 for Microsoft is its fiscal year ending 2024-06-30 (flagged fiscal_period_differs); use get_financials for fiscal years. accn is the latest filing reporting the value. Pass companies to filter to specific tickers/CIKs (exact or prefix names also work, without typo correction; unresolved items are listed in unresolved); otherwise returns the top limit by value.
Inputs: period (required), tag, unit, limit, +4 more. Returns: unit, label, period, concept, +4 more
get_company_profileCompany profile (EDGAR)ARead-onlyIdempotentInspect
Company profile from SEC EDGAR submissions: legal name, tickers, exchanges, SIC code + industry, state of incorporation, fiscal year end, EIN, filer category, business/mailing addresses, former names, latest 10-K/10-Q. Use it to orient before deeper research.
Inputs: company (required). Returns: cik, sic, name, tickers, +8 more
get_filing_documentRead a filing documentARead-onlyIdempotentInspect
Fetch an SEC filing's primary document (HTML converted to clean text, tables preserved as aligned rows). The text is untrusted filer-authored content, returned between BEGIN/END markers. Identify it by url (any www.sec.gov/Archives document URL from list_filings) or by company + accession (one of the two is required). Start with mode 'outline' for a long 10-K/10-Q: it returns no text, only the detected items (id, title, offset, chars) and total_chars, so you can then read just what you need. Extract one 10-K/10-Q item via section (e.g. '1' Business, '1A' Risk Factors, '7' MD&A, '7A' Market Risk, '8' Financial Statements; for 10-Q: '1' Financial Statements, '2' MD&A, '1A' Risk Factors). Text is paged: max_chars (default 10,000) per call, then pass the returned next_offset as offset (offsets are relative to the section when section is set, else to the whole document).
Inputs: url, mode, offset, company, +3 more. Returns: cik, url, form, hint, +16 more
get_financialsNormalized financials (XBRL)ARead-onlyIdempotentInspect
Key financial metrics normalized from SEC XBRL companyfacts, one row per FISCAL period (fy/fp are the company's fiscal year and quarter, e.g. Microsoft FY2024 = 2023-07-01..2024-06-30; fiscal_year_end gives the MM-DD; deduped; as-filed values from the filing that reported the period). Metrics: revenue, gross_profit, operating_income, net_income, eps_basic, eps_diluted, operating_cash_flow, capex, total_assets, total_liabilities, stockholders_equity, cash, long_term_debt, shares_outstanding, free_cash_flow (derived); aliases accepted in metrics: revenues→revenue, sales→revenue, net_sales→revenue, total_revenue→revenue, turnover→revenue, net_profit→net_income, profit→net_income, earnings→net_income, net_earnings→net_income, eps→eps_diluted, diluted_eps→eps_diluted, basic_eps→eps_basic, operating_profit→operating_income, cfo→operating_cash_flow, cash_from_operations→operating_cash_flow, capital_expenditures→capex, fcf→free_cash_flow, assets→total_assets, liabilities→total_liabilities, equity→stockholders_equity, shareholders_equity→stockholders_equity, cash_and_equivalents→cash, debt→long_term_debt, shares→shares_outstanding. Each metric tries common tags in order (revenue: Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet, ...) and tags_used reports which was used. period_type 'quarterly' returns 3-month values (cash-flow quarters derived from YTD; Q4 derived as FY minus 9M). If a company has only 10-Q data (e.g. a recent IPO), annual results are empty and hint says to use 'quarterly'. Values are raw (e.g. 391035000000 = $391.0B).
Inputs: company (required), limit, metrics, period_type. Returns: cik, name, notes, periods, +4 more
get_insider_tradesInsider trades (Form 4)ARead-onlyIdempotentInspect
Recent insider transactions for a company (issuer) from SEC Form 4 / 4/A XML: reporter name, role and officer title, transaction date, code with plain-English meaning (P=open-market buy, S=sale, A=grant, M=option exercise, F=tax withholding, G=gift...), shares, price, value, acquired/disposed, shares owned after, direct/indirect, plus a summary of open-market buys vs sales. limit counts filings (each filing can hold several transactions).
Inputs: company (required), limit, date_to, date_from, +3 more. Returns: cik, name, filings, summary, +5 more
get_xbrl_conceptXBRL concept historyARead-onlyIdempotentInspect
All reported values of one XBRL concept for one company (SEC companyconcept API), newest first, deduped by period. Use for any tag not in get_financials, e.g. us-gaap:ResearchAndDevelopmentExpense, us-gaap:LongTermDebt, dei:EntityCommonStockSharesOutstanding. Tag case is corrected automatically (tag_corrected_from); an unknown tag returns NOT_FOUND with did_you_mean (tags this company reports). 10-Q facts mix 3-month and year-to-date values: pass duration ('annual', 'quarterly', 'ytd', 'instant') for one series; each fact carries its duration. fy/fp are the filing's fiscal year/period. framed_only=true keeps only SEC's one-fact-per-calendar-period values.
Inputs: tag (required), company (required), unit, forms, +4 more. Returns: cik, name, unit, facts, +7 more
list_filingsList SEC filingsARead-onlyIdempotentInspect
List a company's EDGAR filings newest-first, filtered by form type and filing-date range. Each row has form, accession, filed date, report period, primary document URL and filing index URL. Amendments (e.g. 10-K/A) are included when filtering by the base form unless include_amendments=false. Older history pages are fetched automatically when needed. Common forms: 10-K, 10-Q, 8-K, DEF 14A, S-1, 4, 13D/G (SC 13D), 20-F, 6-K.
Inputs: company (required), forms, limit, offset, +3 more. Returns: cik, name, count, offset, +3 more
list_supported_statesSupported state registries & licensesARead-onlyIdempotentInspect
List the state business-entity registries supported by lookup_business_entity, with dataset ids, coverage caveats, update frequency, and license/commercial-use terms.
Inputs: no named parameters. Returns: supported, not_supported, colorado_disclaimer
lookup_business_entityState business-entity registry lookupARead-onlyIdempotentInspect
Search Secretary of State business-entity registries (official open data) by entity name and/or state entity id. Supported: NY, CO, OR, CT, PA (NY, OR and PA list active entities only; CO and CT include dissolved entities with status). Name matching ignores case, punctuation, '&' vs 'and' and legal-suffix spelling (Inc/Inc./Incorporated, Co/Company, LLC/L.L.C.); results are ranked exact > prefix > other matches, active entities first within each tier. Paginate per state with limit/offset (has_more, next_offset; total when include_total=true or on the last page). Returns normalized name, entity id, status, type, formation date, jurisdiction, principal/mailing address, registered agent where available (organizational agents only; individual/natural-person agents are withheld on the hosted endpoint; automated classification), and source URLs. Use for private companies, subsidiaries, LLCs, and verifying legal entity names; for SEC-listed companies use search_company. Call list_supported_states for coverage and licenses.
Inputs: name, limit, match, offset, +5 more. Returns: query, notice, privacy, results, +2 more
search_companySearch SEC registrantsARead-onlyIdempotentInspect
Find SEC-registered public companies by ticker or name. Matching ignores case, punctuation, '&' vs 'and' and legal suffixes (Inc/Inc./Corp/Corporation/Co/Company/LLC/Ltd...), tolerates typos ('Microsfot' -> Microsoft) and knows well-known former names (matched_former_name, e.g. 'Facebook' -> Meta Platforms). Returns CIK (the SEC id used by every other tool), name, tickers, exchange and a match score (100 = exact ticker, 97 = exact name, < 80 = fuzzy). With no match it returns did_you_mean suggestions. Source: SEC company_tickers_exchange.json (companies with a listed ticker only); private or non-SEC companies: use lookup_business_entity.
Inputs: query (required), limit. Returns: hint, query, matches, source_url
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
SEC filings and insider trades in real-time. 10-K, 10-Q, 8-K, Form 4, and company lookup.
SEC EDGAR filings, Form 4 insider trades, 13F holdings and XBRL financials, with filing links
SEC EDGAR filings, full-text search & XBRL financial facts
SEC filings, insider trades, and earnings data
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceSEC EDGAR for agents: Form 4 insider trades, cluster buys, filings, XBRL financials and full-text search. Free, no API key.MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables deep analysis of SEC EDGAR filings through universal company search, document content extraction, and advanced filing search capabilities. Provides AI-ready access to business descriptions, risk factors, financial statements, and full-text search across any public company's SEC documents.-
- AlicenseNot gradedqualityBmaintenanceEnables querying SEC EDGAR for Form 4 insider trades, 8-K material events, and Schedule 13D/G ownership filings for US-listed companies, with ticker, company name, or CIK lookup.521 npm1MIT
- AlicenseAqualityCmaintenanceGive 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.8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.