原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

SEC EDGAR

作者:brechanbech版本 0.10.0i★ –i在你的电脑上运行
注册名称io.github.brechanbech/sec-mcp

安装

概览

作者提供的说明(英文原文)

Rust MCP server for SEC EDGAR data — company filings, financial concepts, and company info

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 会计、财务与税务

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

作者没有在注册中心列出安装信息。请查看下方作者的 README。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 brechanbech 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“会计、财务与税务”中的其他服务器比较i

  • 星标数多于此分类中其他 1734 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1734 个服务器的 76% 更新
  • 基础检查结果等于或优于此分类中其他 1734 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

SEC EDGAR 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.10.0)于12天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Rust。

有什么可以替代它?

同一分类中有:Finance Toolkit, SolidInvoice, Korea Tax Calculator

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Finance Toolkit

作者:JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

电脑或云端★ 5,496MIT今天更新
安装

SolidInvoice

作者:SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

在云端运行★ 981MIT8天前更新
安装

Korea Tax Calculator

作者:UpstageAI

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

在你的电脑上运行★ 97MIT昨天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

sec-mcp

A Model Context Protocol server that gives Claude Desktop access to SEC EDGAR data — company filings, financial statements, and company info. No API key needed. It runs as a single native binary, with no Node, Python or Docker runtime behind it.

Why an MCP for this?

EDGAR is a set of public REST endpoints with no API key, and the documentation at sec.gov/search-filings/edgar-application-programming-interfaces is reasonable. So strictly speaking, an MCP isn't needed. What this wrapper buys you:

  1. Persistent User-Agent identity. SEC's fair-access policy requires a contact email in the User-Agent header; without one, requests get throttled or rejected. You don't want to re-paste your email into every prompt. The MCP stores it in a config file and stamps every request.
  1. Ticker → CIK resolution with caching. Every EDGAR endpoint is keyed by a zero-padded 10-digit CIK, not by ticker. Without a tool, each query would re-fetch the ~1 MB company_tickers.json and parse it from scratch. The MCP caches it for an hour.
  1. URL-construction quirks the docs are quiet about. The CY{period} prefix on the XBRL frames endpoint, the trailing I for instant concepts, the zero-padded CIK, the dash-stripped accession number in archive URLs. Easy to get wrong on the fly; encoded once in the tool.
  1. Response shaping. companyfacts responses are tens of MB and filings.recent is laid out as column-major parallel arrays. Both are usable, but a language model would burn a lot of context reformatting them. The MCP returns trimmed, row-shaped JSON.
  1. Discovery. With the MCP installed, the tool list itself tells Claude that it can query SEC filings, plus the common concept names. Without it, the model has to remember the endpoints exist.

If you only pull one or two filings a year, you don't need this — just give Claude the URL. At any higher volume, the wrapper pays for itself by turning "explain the URL grammar in every conversation" into "ask a natural question."

Install

Install with Cargo (Rust 1.88 or newer):

cargo install sec-mcp

This compiles the rustls crypto backend (ring), which has a small amount of C, so you need a C compiler on the build host — but no cmake or assembler. macOS (Xcode Command Line Tools) and most desktop Linux distros already have one; a minimal Linux image may not — install it first, e.g. apt install build-essential on Debian/Ubuntu.

Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{

"mcpServers": { "sec-edgar": { "command": "sec-mcp", "args": [] } } }

Restart Claude Desktop.

First use

On your first SEC-related request Claude will explain that a contact email is required by the SEC EDGAR fair-access policy and ask your permission before proceeding. Your email is stored locally in ~/Library/Application Support/sec-mcp/config.toml and is only used in the HTTP User-Agent header sent to the SEC — it is not shared anywhere else.

Example prompts

  • *"What are Apple's recent SEC filings?"*
  • *"Show me Tesla's annual revenue for the last 5 years"*
  • *"What was Microsoft's net income last quarter?"*
  • *"What industry is NVDA in according to the SEC?"*
  • *"What is Bridgewater Associates' CIK, and what has it filed recently?"*
  • *"Who owns more than 5% of Sonos, and has any of them filed a 13D?"*
  • *"How much did SpaceX raise in private rounds before it listed?"*
  • *"What were Bridgewater's ten largest positions last quarter?"*
  • *"Which 8-Ks were filed in the last hour, and what items did they report?"*
  • *"List every Schedule 13D filed last week"*
  • *"Show me Amazon's most recent 10-K filing"*
  • *"What tickers are listed on NYSE with 'energy' in the name?"*
  • *"What financial metrics does Apple report to the SEC?"*
  • *"What revenue guidance did Airbnb give in its Q1 2025 earnings release?"*
  • *"Summarize the risk factors in Tesla's latest 10-K"*
  • *"Which companies had the highest revenue in 2024?"*

Tools

ToolDescription
sec_configureFirst-run setup — saves your contact email
sec_lookup_cikResolve a ticker to its SEC CIK number, or search every EDGAR filer by name: fund managers, private issuers and individuals with no ticker included
sec_company_infoSIC code, industry, state of incorporation, fiscal year end, addresses
sec_recent_filingsRecent filings (10-K, 10-Q, 8-K, etc.) with direct URLs — pages into older history automatically when a form-type filter needs it. With no ticker, the latest filings across all of EDGAR in real time, by form, with each filing's parties and an 8-K's items
sec_filing_textThe text of a filing document or exhibit (10-K, 10-Q, 8-K, earnings release EX-99.1, proxy): its section index, any section by item, a search within it, or pages from any point. Given a filing, lists its documents by type
sec_full_text_searchSearch the body text of filings since 2001, exhibits included — the only tool here that finds companies by what they *said*, rather than needing the company up front. Filter by form, ticker and date (amendments excluded unless asked for); every hit carries a direct document URL. With no query, lists filings by form and date instead, for any period since 2001
sec_insider_transactionsForms 3, 4 and 5 — who bought or sold, when, how many shares and at what price, with transaction codes in plain language and footnotes resolved. Also Form 144, an insider's notice of a proposed sale, with any 10b5-1 plan date
sec_institutional_holdingsForm 13F — what an institutional manager (Berkshire, Bridgewater, BlackRock) holds each quarter, as positions with value, share of portfolio and voting authority, filterable by issuer. Issuers are named as filed, since 13F has no tickers
sec_private_offeringsForm D — money raised without a registered offering by private companies, funds and public companies: amount offered and sold, investors, the exemption claimed, brokers paid, and the officers, directors and promoters named
sec_beneficial_ownershipSchedules 13D and 13G — who owns more than 5% of a company, with voting and dispositive power, percent of class and, for a 13D, the holder's stated purpose. Given a holder's CIK, what that holder owns above 5%
sec_financial_conceptHistorical financial data from XBRL (revenue, net income, EPS, assets…) — latest 20 facts by default, paging back into older history
sec_list_tickersSearch/list all SEC-registered tickers with exchange info — 50 per page, with paging
sec_company_factsDiscover all XBRL concepts (metrics) a company reports
sec_xbrl_framesCross-company comparison of a financial metric for a given period

Wherever a tool takes a ticker, it also takes a CIK (1163302, 0001163302 or CIK0001163302). SEC's ticker list holds only current tickers, so a company that was acquired, delisted or renamed is reachable only by CIK. sec_lookup_cik with name finds it, and full-text search hits and frames rows carry one.

Amendments (10-K/A and friends)

A form ending in /A amends one filed earlier. A 10-K/A is often not a complete annual report. Rule 12b-15 requires only the full text of each item being changed, so the most common amendment is Part III alone (directors, pay, ownership), filed when the proxy statement misses its 120-day window. Others add or fix exhibits. The rest are restatements that replace the original's figures. Apple's January 2010 10-K/A, for example, refiled fiscal 2009 under new revenue-recognition rules.

sec-mcp therefore excludes amendments unless you ask for them:

  • sec_financial_concept's annual/quarterly period filters match base forms only. The amended period is already covered by the original filing, and admitting both would report two facts for one period. Pass include_amendments: true to admit them when the restatement is what you want: Apple's fiscal 2009 revenue is $36.5B on the original 10-K and $42.9B on the 10-K/A. amended_facts then counts them.
  • sec_full_text_search with a form filter drops amendments. EDGAR itself does not: it filters on a filing's *root* form, so forms=10-K also returns 10-K/A. To get amendments, request the form directly (10-K/A), list both (10-K,10-K/A), or pass include_amendments: true. Any amendment returned is marked amendment: true.

Because that search filtering happens after EDGAR's, two parts of the response behave differently from a plain search:

  • `total` is still EDGAR's count, which includes the dropped amendments. It is flagged total_is_upper_bound, or total_is_approximate when it has also saturated at 10000. Each page reports amendments_excluded.
  • Paging must use next_offset. A page can return fewer than limit hits because amendments were skipped, so offset + returned would revisit them.

Common XBRL concepts for sec_financial_concept

ConceptWhat it is
RevenuesTotal revenues
NetIncomeLossNet income / loss
EarningsPerShareBasicBasic EPS
EarningsPerShareDilutedDiluted EPS
AssetsTotal assets
LiabilitiesTotal liabilities
StockholdersEquityShareholders' equity
OperatingIncomeLossOperating income / loss
CashAndCashEquivalentsAtCarryingValueCash and equivalents
CommonStockSharesOutstandingShares outstanding

Development

cargo test          # offline; hits no network

There is also an opt-in live suite that drives the built server over stdio against the real SEC EDGAR APIs — the thing offline tests can't see, like EDGAR changing a response shape or a URL-construction quirk slipping through. It is skipped unless SEC_MCP_LIVE_EMAIL is set, which both opts in and supplies the contact email the fair-access policy requires (the address is read from the environment, never committed):

SEC_MCP_LIVE_EMAIL="you@example.com" cargo test --test live_smoke -- --nocapture

The suite runs sequentially through one server process, so it stays well within EDGAR's rate limit.

License

MIT — see LICENSE.md for details.

MCP registry

Ownership-verification token for the MCP registry (read from this crate's rendered README on crates.io):

Registry ownership token: mcp-name: io.github.brechanbech/sec-mcp

Releasing

A version is immutable once published — crates.io yanks, it does not delete, and a number is never reused — so the order matters:

  1. cargo test and cargo clippy --all-targets clean.
  2. Bump version in `Cargo.toml`.
  3. Bump version in `server.json` — *both* fields, the top-level one and the one under packages[]. Nothing enforces this: no script, no CI, no test reads the file, and it is the step that goes missing. This manifest stayed correct, but the registry *entry* did not: 0.5.0, 0.5.1 and 0.5.2 all shipped to crates.io while the registry still advertised 0.4.4, because step 6 was never run.
  4. Commit and push; let CI go green before publishing rather than after.
  5. cargo publish --dry-run, which compiles *from the packaged copy* and so catches a crate depending on a file it does not ship. Then cargo publish. Give both --target-dir target/package-verify. Without it, the verify build shares target/debug with ordinary builds under the same unit hash, so the binary's

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx