EDGAR (SEC filings)
PYPI · MCPWRIGHT-EDGAR · SCANNED SEP 21
SEC filings in your agent: issuers, Reg CF/D/A raises, XBRL financials, insider trades.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security44
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs a script at install time (build_backend) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
- 0 of 30 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 31 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2110 tokens (~191/item across 11 items; 11 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 Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- 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 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 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
How do I install the EDGAR (SEC filings) MCP server?
EDGAR (SEC filings) runs locally as a PyPI package, launched with uvx mcpwright-edgar. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcpwright-edgar
claude mcp add mcpwright-edgar-mcp -- uvx mcpwright-edgar
{
"mcpServers": {
"mcpwright-edgar-mcp": {
"command": "uvx",
"args": [
"mcpwright-edgar"
]
}
}
} {
"servers": {
"mcpwright-edgar-mcp": {
"command": "uvx",
"args": [
"mcpwright-edgar"
]
}
}
} codex mcp add mcpwright-edgar-mcp -- uvx mcpwright-edgar
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcpwright-edgar-mcp": {
"type": "local",
"command": [
"uvx",
"mcpwright-edgar"
],
"enabled": true
}
}
} openclaw mcp add mcpwright-edgar-mcp --command uvx --arg mcpwright-edgar
mcp_servers:
mcpwright-edgar-mcp:
command: "uvx"
args: ["mcpwright-edgar"] {
"McpServers": {
"mcpwright-edgar-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcpwright-edgar"
]
}
}
} assistant mcp add mcpwright-edgar-mcp -t stdio -c uvx -a mcpwright-edgar
{
"mcpServers": {
"mcpwright-edgar-mcp": {
"command": "uvx",
"args": [
"mcpwright-edgar"
]
}
}
} 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.
- 21 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 20 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 19 Sept 26 +1
- Stability: 0.97 → pass security
- 17 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Security disclosure: unverified → fail ▼ functional
- 13 Sept 26 0
- Security disclosure: fail → unverified ▼ functional
- 12 Sept 26 +16
- Malware scan: unverified → pass ▲ security
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 · Analysed pypi/mcpwright-edgar@0.1.3
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | unreviewed | uv_build |
Background: Why install scripts are a supply-chain risk →
Dependencies 30 packages
| Packages resolved | 30 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
get_company_facts Get company financials (XBRL) ~213
Headline financials for a public reporting company, from its XBRL facts. Returns the latest annual (or most recently reported) values for revenue, gross profit, operating income, net income, total assets, liabilities, stockholders' equity, and cash. `cik_or_query`: a CIK or a name/ticker to resolve. Only companies that file XBRL (public reporting companies) have this — most private Reg CF / Reg D issuers do not; use `get_form_c_details` / `get_form_d_details` for those instead. Each metric is picked independently — its latest annual (10-K/FY) value when one exists, otherwise its most recent reported value (which can be a quarterly figure) — so metrics can come from different fiscal years or periods. Check each fact's `fiscal_year` / `period_end` / `form` before combining or comparing them.
| Name | Type | Req | Description |
|---|---|---|---|
| cik_or_query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| cik | string | yes | 10-digit CIK of the company |
| entity_name | string | yes | Entity name as recorded in XBRL |
| facts | array | – | Headline metrics, each at its latest annual value |
No examples provided.
get_filing Open a filing ~109
Open one filing: its metadata and the documents it contains. `accession_or_url`: a filing `url` returned by another tool, OR an accession number (e.g. "0000320193-23-000106"). With a bare accession number, also pass `cik`. Returns the form, filing date, a link to the primary document, and every document in the filing with its URL.
| Name | Type | Req | Description |
|---|---|---|---|
| accession_or_url | string | yes | – |
| cik | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accession_no | string | yes | SEC accession number |
| cik | string | yes | 10-digit CIK of the filer |
| documents | array | – | All documents in the filing |
| filed | – | – | Filing date, YYYY-MM-DD |
| form | – | – | Form type, e.g. 10-K, C, D |
| index_url | string | yes | Link to the filing's index page |
| primary_doc_description | – | – | Description of the primary document |
| primary_document | – | – | Link to the filing's main document |
No examples provided.
get_filing_text Read a filing document ~124
Fetch a filing document's text — for reading or summarizing it. `url`: a document URL from `get_filing` (its `documents` / `primary_document`). HTML documents are stripped to plain text. Filings are large (a 10-K can be over a million characters), so the result is paginated: pass `offset` and `max_chars` to page through. `truncated` indicates more text remains.
| Name | Type | Req | Description |
|---|---|---|---|
| max_chars | integer | – | – |
| offset | integer | – | – |
| url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| offset | integer | yes | Character offset this page starts at |
| text | string | yes | Document text (HTML stripped), for this page |
| total_chars | integer | yes | Total length of the full document text |
| truncated | boolean | yes | True if more text remains past this page |
| url | string | yes | Document URL |
No examples provided.
get_form_c_details Parse a Form C (Reg CF) ~141
Parse a Form C (Reg CF crowdfunding) filing's structured data. Returns the offering terms (target & maximum raise, price per security, security type, deadline, oversubscription), the funding-portal intermediary, employee count, and a two-year financial snapshot (revenue, net income, assets, cash, debt) — the fields you screen a crowdfunding raise on. `accession_or_url`: a Form C filing `url` (from `get_recent_offerings` or `list_filings`), or an accession number (then also pass `cik`).
| Name | Type | Req | Description |
|---|---|---|---|
| accession_or_url | string | yes | – |
| cik | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accession_no | string | yes | SEC accession number |
| cik | string | yes | 10-digit CIK of the issuer |
| current_employees | – | – | Number of current employees |
| date_incorporation | – | – | Date of incorporation (MM-DD-YYYY) |
| deadline | – | – | Offering deadline (MM-DD-YYYY) |
| financials | – | – | Two-year financial snapshot |
| intermediary | – | – | Funding portal / intermediary name |
| intermediary_crd | – | – | Intermediary CRD number |
| is_amendment | boolean | yes | True if this is an amendment (C/A, …) |
| issuer_name | string | yes | Issuer's name |
| issuer_website | – | – | Issuer website |
| jurisdiction | – | – | Jurisdiction of organization |
| legal_status | – | – | Legal form, e.g. Corporation, LLC |
| max_offering_amount | – | – | Maximum offering amount, in dollars |
| number_of_securities | – | – | Number of securities offered |
| oversubscription_accepted | – | – | Whether oversubscriptions are accepted |
| price | – | – | Price per security, in dollars |
| price_determination_method | – | – | How the price was determined (often reveals valuation) |
| security_other_desc | – | – | Description when security type is 'Other' |
| security_type | – | – | Type of security offered |
| submission_type | – | – | Form C variant, e.g. C, C/A, C-U, C-AR |
| target_offering_amount | – | – | Target offering amount, in dollars |
| url | – | – | Link to the filing index |
No examples provided.
get_form_d_details Parse a Form D (Reg D) ~133
Parse a Form D (Reg D) filing's structured offering data. Returns the offering amount, amount sold and remaining, minimum investment, number of investors, industry, revenue range, security types, claimed exemptions, and the officers / directors / promoters behind the raise — the fields you actually screen a private placement on. `accession_or_url`: a Form D filing `url` (from `get_recent_offerings` or `list_filings`), or an accession number (then also pass `cik`).
| Name | Type | Req | Description |
|---|---|---|---|
| accession_or_url | string | yes | – |
| cik | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accession_no | string | yes | SEC accession number |
| cik | string | yes | 10-digit CIK of the issuer |
| date_of_first_sale | – | – | Date of first sale (YYYY-MM-DD) or 'Yet to occur' |
| entity_type | – | – | e.g. Limited Liability Company |
| federal_exemptions | array | – | Claimed federal exemptions/exclusions, e.g. 06b |
| finders_fees | – | – | Finders' fees paid, in dollars |
| has_non_accredited_investors | – | – | Whether any non-accredited investors participated |
| industry_group | – | – | Industry group |
| is_amendment | boolean | yes | True if this is a Form D/A amendment |
| issuer_name | string | yes | Issuer's legal name |
| jurisdiction | – | – | Jurisdiction of incorporation |
| minimum_investment | – | – | Minimum investment accepted, in dollars |
| more_than_one_year | – | – | Whether the offering is expected to last over a year |
| net_asset_value_range | – | – | Aggregate net asset value range (funds) |
| number_non_accredited | – | – | Number of non-accredited investors |
| related_persons | array | – | Executive officers, directors, and promoters |
| revenue_range | – | – | Issuer revenue range |
| sales_commissions | – | – | Sales commissions paid, in dollars |
| security_types | array | – | Types of securities offered, e.g. Equity, Debt |
| total_amount_sold | – | – | Amount sold so far, in dollars |
| total_investors | – | – | Total number of investors already in the offering |
| total_offering_amount | – | – | Total offering amount, in dollars |
| total_remaining | – | – | Amount remaining to be sold, in dollars |
| url | – | – | Link to the filing index |
| year_of_inc | – | – | Year of incorporation |
No examples provided.
get_insider_trades Get insider trades ~140
Recent insider (Section 16) transactions for a company, newest first. Each result is one Form 4 filing: the reporting owner, their role(s), and the trades reported (buy/sell/grant/exercise, shares, price, shares owned after). `cik_or_query`: a CIK or a name/ticker to resolve. Insider data exists for public reporting companies (officers, directors, and >10% owners file Forms 3/4/5); most private Reg CF / Reg D issuers have none.
| Name | Type | Req | Description |
|---|---|---|---|
| cik_or_query | string | yes | – |
| limit | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_insiders List a company's insiders ~104
The insiders of a company — officers, directors, and >10% owners. Built from recent Section 16 filings (Forms 3/4/5), de-duplicated per person with their role(s) and most recent filing date. `cik_or_query`: a CIK or a name/ticker. Reflects recent filings, so very large boards may be partial.
| Name | Type | Req | Description |
|---|---|---|---|
| cik_or_query | string | yes | – |
| limit | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
get_recent_offerings Browse recent offerings ~402
List recent securities offerings filed with the SEC, newest first. `form`: "C" for Regulation Crowdfunding (Form C family — C, C/A, C-U, C-AR), "D" for Regulation D (Form D family — D, D/A), or "A" for Regulation A — both the Form 1-A offering statements (1-A and its 1-A/A amendments) AND the qualified offering circulars (Form 253G2), which carry the actual per-share price; a Reg A "price walk-up" typically appears as successive 253G2 supplements raising that price. `since`: optional ISO date (YYYY-MM-DD) lower bound on the filing date. `state`: optional 2-letter US state code (e.g. "CA") filtering on the issuer's principal place of business; comma-separate for several. Returns issuer, exact form, filed date, accession number, and a link. Notes: - No industry filter — EDGAR doesn't populate an industry code on these listings. To screen by industry, open a result with `get_form_d_details` (its `industry_group`) or `get_form_c_details`. - A 253G2 is a narrative-HTML offering circular (no structured parser like Form C/D): open one with `get_filing` and read the price with `get_filing_text`. For one issuer's price history over time, use `list_filings(issuer, "253G2")` — the walk-up is the per-share price rising across their successive 253G2 supplements. (A price change is usually filed as 253G2; occasionally an issuer files one as a 253G3 material-change supplement instead.)
| Name | Type | Req | Description |
|---|---|---|---|
| form | string | – | – |
| limit | integer | – | – |
| since | – | – | – |
| state | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
list_filings List an issuer's filings ~87
List the most recent filings for one issuer, newest first. `cik_or_query`: a CIK (digits) or a ticker/name to resolve. `form_type`: optional prefix filter, e.g. "10-K", "8-K", "C", "D".
| Name | Type | Req | Description |
|---|---|---|---|
| cik_or_query | string | yes | – |
| form_type | – | – | – |
| limit | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
lookup_issuer Look up an issuer ~132
Resolve a company name or ticker to its SEC CIK and basic identity. `query`: a ticker (e.g. "AAPL") or part of a company name (e.g. "Apple" or "StartEngine"). Works for exchange-listed public companies AND private / non-exchange filers (Reg CF / Reg A issuers, funds). Returns matching issuers with their 10-digit CIK, legal name, tickers, and exchange. Resolve a CIK here first — the other tools key off it.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
search_filings Search filings full-text ~158
Full-text search across SEC filing documents. `query`: free text (use quotes inside the string for exact phrases). `forms`: optional list of form types to restrict to, e.g. ["10-K", "8-K"]. `date_from` / `date_to`: ISO dates (YYYY-MM-DD). Coverage: EDGAR full-text search only indexes filings from 2001 onward, so an empty result does NOT mean no earlier filing exists. (`list_filings` shows an issuer's most recent filings and may also not reach that far back for heavy filers.)
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | – | – | – |
| date_to | – | – | – |
| forms | – | – | – |
| limit | integer | – | – |
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
What is the EDGAR (SEC filings) MCP server?
EDGAR (SEC filings) is an MCP server listed in the public MCP registry as io.github.mcpwright/edgar-mcp. SEC filings in your agent: issuers, Reg CF/D/A raises, XBRL financials, insider trades. This page covers its PyPI package (mcpwright-edgar).
Is the EDGAR (SEC filings) MCP server safe to use?
EDGAR (SEC filings) scores 58 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. 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 EDGAR (SEC filings) MCP server expose?
EDGAR (SEC filings) exposes 11 tools: lookup_issuer, list_filings, search_filings, get_recent_offerings, get_filing, and 6 more. Their descriptions and schemas cost roughly 1,743 tokens of context every time the server is loaded.
Is the EDGAR (SEC filings) MCP server still maintained?
EDGAR (SEC filings) 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.