mcpField
E
EDGAR (SEC filings)

EDGAR (SEC filings)

本地服务
github.com/mcpwright金融数据210 周前更新

关于 EDGAR (SEC filings)

EDGAR (SEC filings) 是面向 Agent 的只读 MCP 服务,可从美国 SEC 公开数据查询公司、申报文件、证券发行、XBRL 财务数据和内部人交易。无需 API 密钥,数据请求直接发送至 SEC。

主要功能

  1. 01按名称或代码查询发行人
  2. 02搜索并读取 SEC 申报文件
  3. 03查询 Reg CF、Reg D 和 Reg A 发行
  4. 04提取公司 XBRL 财务数据
  5. 05查询内部人及近期交易

适用场景

  1. 01研究公司的 SEC 申报记录
  2. 02分析证券发行条款与募资情况
  3. 03查看公开公司财务和内部人交易

MCP 相关

它基于 Anthropic 官方 Python SDK 构建,通过 stdio 向 MCP 客户端提供 11 个只读工具,用于访问 SEC 公开数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mcpwright-edgar": {
"command": "uvx",
"args": [
"mcpwright-edgar"
],
"env": {
"EDGAR_MCP_USER_AGENT": "<EDGAR_MCP_USER_AGENT>"
}
}
}
}
启动命令uvx mcpwright-edgar
需要配置的环境变量
EDGAR_MCP_USER_AGENTDescriptive User-Agent with contact info, which the SEC requests (e.g. 'your-app [email protected]'). Optional but recommended.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcpwright-edgar0.1.3

工具

11

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring是

详细介绍

edgar-mcp

在你的 Agent 中查询 SEC EDGAR 备案文件。 这是一个 MCP 服务, 让大模型可以直接从 SEC 解析公司、搜索备案文件并获取近期证券发行信息 — 基于 Anthropic 官方的 mcp Python SDK 构建。

所有工具均为只读,且访问的是 SEC 公开端点(无需 API 密钥)。

状态:目前有 11 个可用工具(见下文)。已发布到 PyPI,名称为 mcpwright-edgar,并收录于 官方 MCP Registry。后续计划请参阅路线图。

工具

工具功能
lookup_issuer(query, limit=10)解析股票代码或公司名称 → CIK、法定名称、股票代码、交易所。适用于在交易所上市的申报主体,以及私人/非交易所申报主体(Reg CF / Reg A 发行人、基金)。
list_filings(cik_or_query, form_type=None, limit=20)列出某发行人最新的备案文件,按时间从新到旧排序。可选按表格类型筛选(例如 10-K、C、D)。
search_filings(query, forms=None, date_from=None, date_to=None, limit=20)在备案文件中进行全文搜索。
get_recent_offerings(form="C", since=None, state=None, limit=20)列出近期证券发行,按时间从新到旧排序 — form="C"(Reg CF)、"D"(Reg D)或 "A"(Reg A — 1-A 发行说明书以及 253G2 发行通函,其中包含每股价格和任何“逐步提价”信息);还可按发行人所在的 state 筛选(例如 "CA")。
get_filing(accession_or_url, cik=None)打开一份备案文件:表格类型、备案日期、主要文档链接以及该备案文件中的所有文档。
get_form_d_details(accession_or_url, cik=None)解析 Form D(Reg D)融资信息:发行金额、已售/剩余金额、最低投资额、投资者人数、行业、收入范围、证券类型、豁免条款,以及高管/董事/发起人。
get_form_c_details(accession_or_url, cik=None)解析 Form C(Reg CF)融资信息:目标/最高金额、价格、证券类型、截止日期、中介机构、员工人数,以及两年财务概览(收入、净收入、资产、债务)。
get_company_facts(cik_or_query)获取上市公司 XBRL 数据中的核心财务信息:最新年度收入、毛收入/营业收入、净收入、资产、负债、权益、现金。
get_filing_text(url, offset=0, max_chars=20000)获取文档文本(去除 HTML),用于阅读/总结 — 支持分页,因为备案文件可能超过 100 万个字符。
get_insiders(cik_or_query, limit=25)根据近期 Section 16 备案文件列出公司内部人士(高管、董事、持股超过 10% 的所有者)及其职务。
get_insider_trades(cik_or_query, limit=20)列出近期内部人士交易(Form 4):所有者、职务、买入/卖出/授予、股数、价格、交易后持有股数。

安装

需要 Python 3.12+。无需克隆仓库即可运行(PyPI 包名为 mcpwright-edgar;命令、服务和工具均称为“edgar”):

uvx mcpwright-edgar
Claude Code
claude mcp add edgar -- uvx mcpwright-edgar
Claude Desktop

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "edgar": { "command": "uvx", "args": ["mcpwright-edgar"] }
  }
}
OpenAI Agents SDK(Python)

这是一个标准 MCP 服务,因此可与任何支持 MCP 的客户端配合使用 — 不仅限于 Claude。 使用 OpenAI Agents SDK:

from agents import Agent, Runner
from agents.mcp import MCPServerStdio

async def main():
    async with MCPServerStdio(
        name="edgar",
        params={
            "command": "uvx",
            "args": ["mcpwright-edgar"],
            "env": {"EDGAR_MCP_USER_AGENT": "your-app [email protected]"},
        },
    ) as edgar:
        agent = Agent(
            name="Analyst",
            instructions="Use the EDGAR tools for SEC filings and company data.",
            mcp_servers=[edgar],
        )
        result = await Runner.run(
            agent, "Recent Reg D raises in California — who's behind the biggest?"
        )
        print(result.final_output)
其他 MCP 客户端(Cursor、VS Code、Cline、Goose、Zed,……)

它们启动 stdio MCP 服务的方式都相同——将你的客户端指向:

{
  "mcpServers": {
    "edgar": {
      "command": "uvx",
      "args": ["mcpwright-edgar"],
      "env": { "EDGAR_MCP_USER_AGENT": "your-app [email protected]" }
    }
  }
}

托管式聊天连接器(例如 ChatGPT 连接器)需要通过 Streamable HTTP 访问远程 MCP 服务; mcpwright-edgar 在本地通过 stdio 运行。如果你需要托管端点,通过 Streamable HTTP 运行它很简单。

SEC 使用规范: SEC 要求 User-Agent 提供描述性信息和联系方式,并会将请求频率限制在 约 10 次/秒。使用 EDGAR_MCP_USER_AGENT 环境变量设置你自己的值 (例如 "your-app [email protected]")。客户端会为你进行限流和重试。

缓存: 响应会缓存在内存中(按字节预算的 LRU),以降低延迟并减少对 SEC 的请求负载—— 不可变的申报档案内容缓存数天,股票代码映射缓存 24 小时,其他内容则短暂缓存。 设置 EDGAR_MCP_CACHE=0 可禁用缓存。

开发

git clone https://github.com/mcpwright/edgar-mcp && cd edgar-mcp
uv sync
uv run pytest                       # tests (mocked SEC responses)
uv run ruff check . && uv run ruff format --check .   # lint + format
uv run mypy src tests               # strict type checking
uv run mcp dev src/edgar_mcp/server.py   # poke the tools in the MCP Inspector

路线图

  • get_recent_offerings(form=C|D) — 获取近期 Reg CF / Reg D 融资
  • get_filing(accession_or_url) — 打开一份申报文件并列出其文档
  • get_form_d_details(...) — 解析 Reg D 融资数据(金额、投资者、相关人员)
  • get_form_c_details(...) — 解析 Reg CF 融资数据(目标/上限、财务数据、条款)
  • get_insiders / get_insider_trades — Section 16(Form 3/4/5)内部人士及交易
  • 为 get_recent_offerings 添加州筛选(无法按行业筛选——EDGAR 在这些列表中省略了 SIC;可通过 get_form_d_details.industry_group 进行筛选)
  • 在 get_recent_offerings 中支持 Reg A(Form 1-A 报表和 253G2 融资说明书)
  • get_company_facts(cik) — 获取 XBRL 核心财务数据
  • get_filing_text — 返回文档文本以供摘要
  • 已发布到 PyPI(mcpwright-edgar)和官方 MCP Registry(io.github.mcpwright/edgar-mcp)
  • get_form_a_details — 解析 Reg A(Form 1-A)融资数据
  • 获取更早申报文件的元数据(超出近期提交窗口的范围)

隐私

edgar-mcp 完全在你的设备上运行,不会收集、存储或传输任何个人数据——不需要账户、不进行跟踪,也没有遥测。它唯一的外发请求会发送到美国 SEC 的 EDGAR 服务(data.sec.gov、efts.sec.gov、www.sec.gov),以获取你所请求的公开申报文件;无需 API 密钥。需要如实说明的是:SEC 的公平访问政策要求 User-Agent 提供描述性信息和联系方式(EDGAR_MCP_USER_AGENT="your-app [email protected]")——你在此设置的内容会随每次请求发送给 SEC,不会发送到其他地方。响应仅缓存在内存中;不会持久化到磁盘。

完整政策:https://mcpwright.com/privacy/

问题与反馈

  • 问题、想法,或“能不能让它实现 X?” → 讨论
  • 错误和具体的功能请求 → 议题

欢迎贡献——如果你用它构建了什么,我也很乐意听听。


属于 mcpwright · 由 Devender Gollapally 构建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。