关于 EDGAR (SEC filings)
EDGAR (SEC filings) 是面向 Agent 的只读 MCP 服务,可从美国 SEC 公开数据查询公司、申报文件、证券发行、XBRL 财务数据和内部人交易。无需 API 密钥,数据请求直接发送至 SEC。
主要功能
- 01按名称或代码查询发行人
- 02搜索并读取 SEC 申报文件
- 03查询 Reg CF、Reg D 和 Reg A 发行
- 04提取公司 XBRL 财务数据
- 05查询内部人及近期交易
适用场景
- 01研究公司的 SEC 申报记录
- 02分析证券发行条款与募资情况
- 03查看公开公司财务和内部人交易
MCP 相关
它基于 Anthropic 官方 Python SDK 构建,通过 stdio 向 MCP 客户端提供 11 个只读工具,用于访问 SEC 公开数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mcpwright-edgarEDGAR_MCP_USER_AGENTDescriptive User-Agent with contact info, which the SEC requests (e.g. 'your-app [email protected]'). Optional but recommended.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
11收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| query | string | 是 |
详细介绍
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/
问题与反馈
欢迎贡献——如果你用它构建了什么,我也很乐意听听。
属于 mcpwright · 由 Devender Gollapally 构建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。