@cyanheads/secedgar-mcp-server
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
6 Tools • 2 Resources • 1 Prompt
公共托管服务器: https://secedgar.caseyjhand.com/mcp
______________________________________________________________________
工具
查询SEC EDGAR数据的六个工具:
| 工具 | 说明 |
|---|---|
secedgar_company_search | 使用可选的最新文件查找公司并检索实体信息 |
secedgar_search_filings | 自1993年以来,对所有EDGAR文件进行全文搜索 |
secedgar_get_filing | 获取特定文件的元数据和文档内容 |
secedgar_get_financials | 获取公司的XBRL历史财务数据 |
secedgar_compare_metric | 比较所有报告公司的财务指标 |
secedgar_search_concepts | 发现支持的XBRL概念名称或反向查找原始标签 |
secedgar_company_search
大多数EDGAR工作流的入口点——将股票代码、名称或CIK解析为实体详细信息。
- 支持股票代码(
AAPL),公司名称(Apple),或CIK编号(320193) - 可选地包括最近使用表单类型过滤的文件
- 返回实体元数据:SIC代码、交易所、财政年度结束、公司注册状态
______________________________________________________________________
secedgar_search_filings
自1993年以来,对所有EDGAR文件进行全文搜索。
- 精确短语(
"material weakness"布尔运算符revenue OR income),通配符(account*) - 查询字符串中的实体定位(
cik:320193或ticker:AAPL) - 日期范围筛选、表单类型筛选、最多10000个结果分页
- 返回用于缩小后续搜索范围的表单分布
______________________________________________________________________
secedgar_get_filing
按登录号获取特定文件的元数据和文档内容。
- 接受破折号或无破折号格式的登录号
- 将HTML文件转换为可读的纯文本
- 可配置的内容限制(1K–200K字符,默认50K)
- 可以按文件名提取特定展品
______________________________________________________________________
secedgar_get_financials
通过友好的概念名称解析,获取公司的XBRL历史财务数据。
- 友好的名字,如
"revenue","net_income","eps_diluted"自动解析以更正XBRL标签 - 处理历史标签变化(例如,ASC 606收入确认)
- 每个标准日历周期自动重复数据删除到一个值
- 按年度、季度或所有时段筛选
- 看
secedgar://concepts用于完整映射的资源
______________________________________________________________________
secedgar_compare_metric
比较特定时期内所有报告公司的财务指标。
- 与相同的友好概念名称
secedgar_get_financials - 支持年度(
CY2023),季度(CY2024Q2),和即时(CY2023Q4I)时期 - 具有可配置限制和方向的排序排名
- 在可用的情况下,使用股票代码丰富结果
______________________________________________________________________
secedgar_search_concepts
在查询财务或跨公司比较之前,先发现支持的XBRL概念名称。
- 按友好名称、标签或原始XBRL标签搜索
- 按语句组筛选(
income_statement,balance_sheet,cash_flow,per_share,entity_info)或分类学 - 反向查找原始标签,如
NetIncomeLoss到支持的友好名称 - 返回与使用的目录相同的目录
secedgar_get_financials,secedgar_compare_metric,以及secedgar://concepts
资源
| URI | 描述 |
|---|---|
secedgar://concepts | 按语句分组的常见XBRL财务概念,将友好名称映射到XBRL标签 |
secedgar://filing-types | 常见的SEC文件类型,包括描述、节奏和用例 |
提示
| 提示 | 描述 |
|---|---|
secedgar_company_analysis | 指导对上市公司向美国证券交易委员会提交的文件进行结构化分析:识别最近的文件,提取财务趋势、表面风险因素,并记录重大事件 |
特性
- 声明性工具定义——每个工具一个文件,框架处理注册和验证
- 结构化输出模式,具有自动格式化功能,可供人类阅读显示
- 跨所有工具的统一错误处理
- 可插拔身份验证(
none,jwt,oauth) - 具有请求范围上下文的结构化日志记录
- 从同一代码库本地运行(stdio/HTTP)
SEC EDGAR——具体:
- 符合SEC 10请求/秒限制的速率受限HTTP客户端,具有自动请求间延迟
- 通过本地缓存从股票代码、公司名称或原始CIK编号进行CIK解析
- 友好的XBRL概念名称映射,具有历史标签更改处理功能
- 具有语句组元数据和反向XBRL标签查找的可搜索概念目录
- 通过HTML到文本的转换来归档文档
html-to-text - 无需API密钥-SEC EDGAR是一个免费的公共API
入门
公共托管实例
公共实例可在以下网址获得 https://secedgar.caseyjhand.com/mcp --无需安装。通过Streamable HTTP将任何MCP客户端指向它:
{
"mcpServers": {
"secedgar-mcp-server": {
"type": "streamable-http",
"url": "https://secedgar.caseyjhand.com/mcp"
}
}
}自托管/本地
将以下内容添加到MCP客户端配置文件中。
{
"mcpServers": {
"secedgar-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/secedgar-mcp-server@latest"],
"env": {
"EDGAR_USER_AGENT": "YourAppName your-email@example.com",
"MCP_TRANSPORT_TYPE": "stdio"
}
}
}
}或者使用npx(不需要Bun):
{
"mcpServers": {
"secedgar-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/secedgar-mcp-server@latest"],
"env": {
"EDGAR_USER_AGENT": "YourAppName your-email@example.com",
"MCP_TRANSPORT_TYPE": "stdio"
}
}
}
}对于Streamable HTTP,设置传输并启动服务器:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp先决条件
- Bun v1.3.0 或更高。
安装
- 克隆存储库:
git clone https://github.com/cyanheads/secedgar-mcp-server.git- 导航到以下目录:
cd secedgar-mcp-server- 安装依赖项:
bun install- 构建:
bun run build配置
所有配置在启动时通过Zod模式进行验证 src/config/server-config.ts.关键环境变量:
| 变量 | 描述 | 默认值 |
|---|---|---|
EDGAR_USER_AGENT | 必修的。 用于SEC合规性的User-Agent标头。格式: "AppName contact@email.com".SEC阻止没有有效用户代理的IP。 | — |
EDGAR_RATE_LIMIT_RPS | 每秒向SEC API发送的最大请求数。不要超过10。 | 10 |
EDGAR_TICKER_CACHE_TTL | 缓存公司股票代码查找文件的秒数。 | 3600 |
MCP_TRANSPORT_TYPE | 运输: stdio 或 http | stdio |
MCP_HTTP_PORT | HTTP服务器端口 | 3010 |
MCP_AUTH_MODE | 身份验证: none, jwt,或 oauth | none |
MCP_LOG_LEVEL | 日志级别(debug, info, warning, error等等) | info |
LOGS_DIR | 日志文件目录(仅限Node.js)。 | ` |
| /logs` |
运行服务器
本地开发
- 构建并运行生产版本:
bun run rebuild
bun run start:http # or start:stdio- 运行检查和测试:
bun run devcheck # Lints, formats, type-checks
bun run test # Runs test suite码头工人
docker build -t secedgar-mcp-server .
docker run -e EDGAR_USER_AGENT="MyApp my@email.com" -p 3010:3010 secedgar-mcp-server项目结构
| 目录 | 目的 |
|---|---|
src/mcp-server/tools/definitions/ | 工具定义(*.tool.ts).六个SEC EDGAR工具。 |
src/mcp-server/resources/definitions/ | 资源定义。XBRL概念和归档类型。 |
src/mcp-server/prompts/definitions/ | 快速定义。公司分析提示。 |
src/services/edgar/ | SEC EDGAR API客户端,XBRL概念映射,HTML到文本转换。 |
src/config/ | 使用Zod解析和验证特定于服务器的环境变量。 |
tests/ | 单元和集成测试,反映 src/ 结构。 |
发展指南
看 CLAUDE.md 和 AGENTS.md 了解开发指南和架构规则。简短版本:
- 处理程序抛出,框架捕获——否
try/catch工具逻辑 - 使用
ctx.log对于日志记录,ctx.state用于存储 - 在中注册新工具和资源
createApp()数组
贡献
欢迎问题和拉取请求。提交前进行检查和测试:
bun run devcheck
bun run test许可证
此项目根据Apache 2.0许可证获得许可。请参阅 许可证 文件以获取详细信息。
