EDGAR Filings

io.github.DxforyPublished by GitHub account Dxforyv1.1.2Updated Oct 24, 2026

SEC 10-K/10-Q symbols, segment revenue, BDC non-accrual, and Form 4 lines with citations.

The publisher's own server: edgar.tools SEC Intelligence

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Local MCP server that pulls specific figures from SEC EDGAR filings — trading symbols, segment revenue, BDC non-accrual and Form 4 lines — with citations.

What you can do
Look up every trading symbol reported on a company's latest 10-K or 10-Q, plus the legacy entity info field, choosing the annual or quarterly form. Retrieve dimensioned XBRL revenue broken out by product, business or geographic segment. Compute BDC non-accrual rate and fair value with named investments and the extraction method used, for SEC-registered business development companies only. List the newest Form 4 summaries and transaction lines, flagging which trades were open-market and counting transaction codes.
When to use it
Useful when you are already working in an IDE chat and need filing-sourced numbers for a ticker — segment mix, insider Form 4 activity or BDC credit quality — instead of letting the model guess. It is a narrow wrapper around four filing lookups, not a document reader or research product, and it only covers issuers that file with the SEC.
Requirements
Runs locally over stdio, launched with uvx from the PyPI package edgar-filings-mcp (or from a git clone with a Python virtual environment). Requires the uv tool and network access to SEC EDGAR; the first launch downloads edgartools and its pandas/pyarrow dependencies. The environment variable EDGAR_IDENTITY must be set to a real name and email address, as SEC fair-access rules require.
Before you install
EDGAR_IDENTITY is sent to the SEC as a User-Agent and should carry a genuine name and email, not a placeholder. The tools only read filings, but results can mislead: a zero non-accrual rate or a missing extraction method may be a parse gap rather than a clean book, the entity ticker field can be overwritten by dual-class or preferred symbols, and the latest 10-K may be an amendment. Verify figures against the linked EDGAR filing before relying on them.

Installation

In SourceWeft

  1. Open EDGAR Filings in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

EDGAR Filings MCP

[PyPI] [MCP]

Cursor / Claude tools that return SEC filing numbers, not web-search guesses.

Who this is for: people already in an IDE chat who need a ticker’s 10-K/10-Q symbols, segment revenue, BDC non-accrual, or Form 4 lines without writing edgartools glue.

Pain it solves: models invent segment mix, insider trades, and BDC credit quality. These tools return accession, concept, period, open_market, non-accrual method, and the EDGAR index URL so you can check the filing.

What it is not: a research product, a document reader, or a substitute for reading the 10-K. It wraps edgartools for four jobs only. China PE, humanoid robots, and unlisted credit CVs are out of scope — those filings are not on EDGAR.

Install

If uv is already on PATH, paste this into ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json). Use a real name and email (SEC FAQ). Same snippet is in examples/cursor.mcp.json and examples/claude.mcp.json.

json
{  "mcpServers": {    "edgar-filings": {      "command": "uvx",      "args": ["edgar-filings-mcp"],      "env": {        "EDGAR_IDENTITY": "Your Name [email protected]"      }    }  }}

PyPI package edgar-filings-mcp is live. Registry name is io.github.Dxfory/edgar-mcp. Skip Smithery hosted. Pin mcp>=1.9,<2 — MCP 2.x renamed FastMCP; the package already pins that range.

The first uvx launch downloads edgartools (pandas / pyarrow). If the client looks stuck, run uvx edgar-filings-mcp once in a terminal so uv can cache the wheels, then restart the MCP server. After that, initialize is a couple of seconds.

No uv yet:

macOS / Linux:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell):

powershell
irm https://astral.sh/uv/install.ps1 | iex

From git instead of PyPI:

bash
uvx --from git+https://github.com/Dxfory/edgar-mcp.git edgar-filings-mcp

Clone (no uv)

bash
git clone https://github.com/Dxfory/edgar-mcp.gitcd edgar-mcppython -m venv .venv

macOS / Linux:

bash
.venv/bin/python -m pip install -e .

Windows:

text
.\.venv\Scripts\python -m pip install -e .

Point the client at that interpreter with args ["-m", "edgar_mcp"].

If PyPI SSL fails (common with a local HTTPS proxy), use a mirror:

bash
python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

Tools

ToolReturns
get_trading_symbolsEvery dei:TradingSymbol on the latest 10-K or 10-Q, plus the legacy entity_info scalar
get_segment_revenueDimensioned XBRL revenue (product / business / geographic axes)
get_bdc_nonaccrualBDC non-accrual rate, fair value, named investments, and extraction method
get_form4Newest Form 4 summaries, transaction lines, open_market, and code_counts

form on get_trading_symbols, get_segment_revenue, and get_bdc_nonaccrual is 10-K (default) or 10-Q. get_bdc_nonaccrual only accepts SEC BDCs (814- filers) such as ARCC. There is no fifth tool.

Hot-theme footguns this server will / will not answer

ThemeAgent inventsToolStop
AI infrastructureNVIDIA / hyperscaler “AI mix”get_segment_revenue on NVDA (Data Center is tagged). AMZN/MSFT capex is not AI-onlyDo not add a fake AI-capex tool
Private credit / BDCNon-accrual, NAV as credit quality, PIK as currentget_bdc_nonaccrualNon-accrual ≠ Fitch default rate; PIK can still be accrual
GP-led continuation vehiclesDeal price and “premium to par”NonePrivate secondaries are not EDGAR
China PE / 具身智能Round sizes and factory hoursNoneSSE/HKEX, not EDGAR

Footguns the tools already warn about

  • entity_info.ticker is last-wins on repeated TradingSymbol facts. Dual-class and preferred tickers can replace the common symbol.
  • Segment mix is not in get_financials(). Some statement “DETAILED” views drop reportable-segment lines; this server queries dimensioned facts instead.
  • Form 4 A / M / F are grants, option exercises, and tax withholding — open_market is false.
  • BDC extraction_method=none or a zero rate plus extractor warnings is a parse gap, not proof the book is clean.
  • Latest 10-K can be a 10-K/A. The tools prefer the original form so Schedule-of-Investments footnotes are not dropped.

Run without Cursor

bash
python -m edgar_mcp

stdio only. Do not print to stdout.

bash
python tests/run_offline.pypython scripts/smoke_stdio.pypython scripts/pressure.py

smoke_stdio.py only checks initialize + four tool names (no EDGAR). After uvx is on PATH:

bash
python scripts/smoke_stdio.py -- uvx edgar-filings-mcp

pressure.py hits live EDGAR and needs EDGAR_IDENTITY.

License

MIT. Filing data is from the SEC EDGAR system; this project is not affiliated with the SEC.

Source: README.md at commit f652e05

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.2LatestSep 21, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Edgar integrations