关于 Equibles
Equibles 是面向 AI Agent 和客户端查询市场及公开记录数据的开源、可自托管金融数据 MCP 服务。它收集申报文件、持仓、交易、经济指标和价格等数据,自托管核心提供 70 个 MCP 工具。
主要功能
- 01SEC 申报文件与 XBRL 报表
- 02机构及基金持仓
- 03内部人士与国会议员交易
- 04做空数据与经济指标
- 05含技术指标的每日价格
- 06欧洲上市证券数据
适用场景
- 01查询公司申报文件和财务报表
- 02追踪机构持仓与内部人士交易
- 03查看做空活动和经济指标
- 04比较支持市场的每日价格
MCP 相关
通过自托管核心的 70 个工具,向 MCP 客户端提供收集的金融数据;可使用 Docker 在本地硬件运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.equibles.com/mcpclaude mcp add --transport http Equibles https://mcp.equibles.com/mcp{"mcpServers":{"Equibles":{"type":"http","url":"https://mcp.equibles.com/mcp"}}}在 Cursor 中打开{"servers":{"Equibles":{"type":"http","url":"https://mcp.equibles.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"Equibles":{"type":"http","url":"https://mcp.equibles.com/mcp"}}}{"mcpServers":{"Equibles":{"serverUrl":"https://mcp.equibles.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.equibles.com/mcp需要授权http://localhost:8081/mcp工具
121| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tickers | array | 是 | 股票代码(最多 25 个)。类别股可使用 BRK-B 或 BRK.B;其他交易所的上市股票使用 MIC:TICKER(XPAR:AIR)。 |
详细介绍
Equibles
Equibles 是一款可自托管、开源的金融数据 MCP 服务——一个面向 AI Agent 而非人类打造的 Bloomberg Terminal 开源替代方案。它会抓取、存储并提供 SEC 文件和 XBRL 财务数据、13F 机构持仓、内部人士和国会议员交易、FINRA/SEC 做空数据、FRED 经济指标、CFTC 和 CBOE 持仓数据、基金文件、政府合同以及每日股价,并通过 Model Context Protocol 提供这些数据,让 Claude、ChatGPT、Cursor 或任何 Agent 都能直接查询。其股票范围涵盖美国上市股票,以及在欧洲主要交易所上市且经过验证的股票。使用 Docker 在自己的硬件上运行,永久免费。
这是 Equibles 的开源核心。 Equibles Cloud 运行的正是这个核心,并在此基础上添加更多工具:财报电话会议文字稿和音频、实时行情、含 Greeks 的期权链、由大模型提取的 KPI 和业绩指引、股票回购、IPO 文件、高管变动、估值倍数、指数成分、投资组合跟踪,以及美国市场筛选器。它还会在欧洲股票旁列出中国和香港股票。协议相同,工具名称相同,无需运行任何内容——查看包含内容。
不想运行任何东西? 将 AI 助手连接到
https://mcp.equibles.com/mcp,并在 equibles.com/mcp 获取免费 API 密钥——每天 100 次请求,无需信用卡。各客户端的设置指南请见 daniel3303/stock-market-mcp-server。
用户指南和技术文档请见 docs/。
包含内容
标记为 可自托管 的所有内容均由本仓库抓取、存储并提供——70 个 MCP 工具,无需账户或密钥。Equibles Cloud 通过相同协议运行这一完全相同的核心,并使用相同的工具名称,还在此基础上添加更多工具。
| 领域 | 数据来源 | 可自托管 | Equibles Cloud | 描述 |
|---|---|---|---|---|
| SEC 文件 | SEC EDGAR | ✅ | ✅ | 年度、季度和当前报告(10-K、10-Q、8-K、20-F、6-K、40-F)、委托书(DEF 14A、DEFA14A、PRE 14A)、注册声明(S-1、S-3、S-3ASR、S-4、F-1、F-3、F-3ASR、F-4)、要约收购(SC TO、SC 14D9)和逾期申报通知(NT 10-K、NT 10-Q、NT 20-F),支持全文搜索 |
| 财务报表 | SEC XBRL | ✅ | ✅ | 按财年期间解析的损益表、资产负债表和现金流量表数据 |
| 持仓 | SEC 13F-HR | ✅ | ✅ | 机构持股——谁持有什么、持有多少,以及随时间变化的趋势 |
| 基金文件 | SEC NPORT / N-CEN / Form D | ✅ | ✅ | 基金投资组合持仓、注册基金运营信息(服务提供商、基金类型、按 CRD 查询的顾问)以及豁免发行(私募配售) |
| 投资顾问 | SEC Form ADV | ✅ | ✅ | 在 SEC 注册的顾问和豁免报告顾问——管理资产、主要办公室、员工人数、费用结构 |
| 内部人交易 | SEC Forms 3/4/5/144 | ✅ | ✅ | 董事、高管和持股 10% 以上者的交易、年度持股声明,以及拟议出售(Form 144) |
| 国会议员交易 | House/Senate disclosures | ✅ | ✅ | 国会议员的证券交易,包括申报的股票、期权、债券或其他金融工具 |
| 卖空数据 | SEC / FINRA | ✅ | ✅ | 未交割交易(SEC)、每日卖空成交量和卖空持仓(FINRA) |
| 经济指标 | FRED (Federal Reserve) | ✅ | ✅ | 利率、通胀、就业、GDP、收益率利差等 |
| 股票价格 | Yahoo Finance | ✅ | ✅ | 每日 OHLCV 价格及技术指标(SMA、RSI、MACD) |
| 欧洲上市证券 | ESMA/FCA FIRDS + exchange directories | ✅ | ✅ | 经核实的股票在 Euronext(巴黎、阿姆斯特丹、布鲁塞尔、都柏林、奥斯陆、米兰、里斯本)、Xetra、Nasdaq Stockholm、赫尔辛基和哥本哈根(主板和 First North)、BME、GPW 及伦敦证券交易所(主板和 AIM)的上市信息,以 ISIN 和交易场所为索引,并提供以该上市证券自身货币计价的每日价格;每个拥有目录适配器的市场都会自动运行;价格、股息、财务报表和基金持仓 MCP 工具可通过 MIC:TICKER 接受这些证券(XPAR:AIR;参见 docs/equity-identity.md) |
| 期货持仓情况 | CFTC | ✅ | ✅ | 30 多种期货合约的交易者持仓报告(COT)数据 |
| 市场指标 | CBOE | ✅ | ✅ | VIX 波动率指数(1990 年起)和按类别划分的看跌/看涨比率 |
| 政府合同 | USAspending.gov | ✅ | ✅ | 授予上市公司的联邦合同——金额、授予机构、日期及 NAICS/PSC 代码 |
| FDA 催化剂 | FDA.gov | ✅ | ✅ | 咨询委员会(AdComm)会议日历——已安排的 FDA 专家组日期、中心和标题,这些都是生物科技/制药股票的监管催化剂 |
| 财报电话会议文字稿 | Company webcasts | — | ✅ | 完整的季度电话会议文字稿,标注发言人,可与文件一并搜索 |
| 财报电话会议音频 | Company webcasts | — | ✅ | 电话会议录音,可播放并与文字稿同步 |
| 财报摘要、业绩指引与叙事变化 | Earnings calls + releases | — | ✅ | 经核验者批准的季度摘要、电话会议引述、衍生的叙事变化、管理层业绩指引修订,以及实际业绩与公司此前业绩指引的对比 |
| 实时行情 | Licensed market feed | — | ✅ | 美国股票实时行情 |
| 期权链 | Licensed options feed | — | ✅ | 按到期日和行权价划分的期权链,包含买卖报价、成交量、未平仓合约、隐含波动率以及 delta/gamma/theta/vega |
| 公司 KPI | Filings + earnings releases | — | ✅ | 公司报告但 XBRL 从未标准化的运营指标,以及 GAAP 与非 GAAP 的对账 |
| 业绩指引 | Earnings releases + calls | — | ✅ | 管理层的未来业绩指引、指引区间及其在各季度之间的变动 |
| 股票回购与 ATM | 8-K / 10-Q | — | ✅ | 获批的回购计划和按市价发行股票计划,包含金额和日期 |
| IPO 动态 | SEC S-1 / F-1 | — | ✅ | 新注册项目,包含发行条款、承销商、风险因素和 IPO 前财务数据 |
| 投资者关系 | Company IR sites | — | ✅ | 即将举行的活动、会议出席信息和投资者关系新闻稿 |
| 高管 | SEC 8-K / DEF 14A | — | ✅ | 任命和离职信息,以及薪酬汇总表数据 |
| 估值倍数 | Derived | — | ✅ | 当前和历史 P/E、P/S、P/B、EV/EBIT、EV/EBITDA 等,以及各指标的计算期间 |
| 筛选器 | Derived | — | ✅ | 按估值、利润率、增长、持股情况、卖空数据和股息筛选所有美国上市证券,并按市场浏览欧洲、中国和香港上市证券 |
| 聪明资金 | Derived | — | ✅ | 内部人情绪评分、超级投资者投资组合,以及全市场国会议员交易活动 |
| 风险标记 | SEC filings | — | ✅ | 持续经营相关表述和客户集中度披露 |
| 市场背景 | Derived | — | ✅ | 相关股票,以及市场日历和市场开市/闭市状态 |
| 指数成分 | SEC N-PORT + fund holdings files | — | ✅ | S&P 500/400/600、Nasdaq-100、Russell 1000/2000 和 Dow 的成分股及成分变更历史,以及基于规则的纳入和剔除预测 |
| 投资组合 | Your own account | — | ✅ | 跟踪股票和期权的持仓及观察列表,包含成本基础和已实现/未实现损益。服务器上只有这些工具会写入数据 |
为什么有些数据仅限云端
以上内容都没有从这个仓库中保留。仅限云端的行是那些生产需要你在家里不会搭建的基础设施的数据:
- 电话会议记录和音频 —— 财报电话会议是网络直播,而不是文件。每一场都需要由浏览器集群发现并录制,然后经过带说话人分离的 GPU 语音转文字处理,每一场电话会议、每一个季度都是如此。
- 实时行情和期权链 —— 需要授权的实时数据源,以及一个常开的流式服务来分发它们。无论是授权还是正常运行时间,都不适合放在笔记本电脑上的容器里。
- KPI、业绩指引、回购、IPO 条款、高管、风险标记 —— 通过带有验证环节和人工审核队列的大模型提取流水线,从文件、委托书和财报新闻稿中提取,这需要持续的推理能力。
- 投资者关系活动和新闻 —— 从数千家公司 IR 网站收集,需要与网络直播相同的隐蔽浏览器集群。
- 估值倍数、筛选器、聪明钱、市场背景 —— 属于派生数据,只有在覆盖整个市场的完整回填语料上才有意义,而不是你目前碰巧抓取到的那些股票代码。
- 指数构成 —— 由每只跟踪基金的 N-PORT 明细表,加上每日获取的每只基金自身持仓文件汇总而成,这需要完整的 NPORT 语料,以及一个会持续重新学习这些文件迁移到何处的抓取器。
- 投资组合 —— 根本不是抓取来的数据:它是你自己的数据,存储在你的账户下。可自托管版本没有账户,因此没有可供存储它的依托。
除了数据之外,云端已经完成回填并保持最新,而且它是托管的 —— 无需照看抓取器。本仓库在 AGPL-3.0 下永久免费;云端提供免费套餐,每天 100 次请求,无需信用卡。
从免费套餐开始,当你更愿意自己掌控整套技术栈时,随时可以自托管。
快速开始
Docker Compose(推荐)
让一切运行起来的最快方式。需要 Docker。
git clone https://github.com/daniel3303/Equibles.git
cd Equibles
cp .env.example .env
# Edit .env and set SEC_CONTACT_EMAIL (required by SEC EDGAR fair access policy)
docker compose up
这会启动:
| 服务 | 端口 | 描述 |
|---|---|---|
| db | 5432 | ParadeDB(PostgreSQL + pgvector + pg_search) |
| web | 8080 | 用于浏览数据的 Web 门户 |
| mcp | 8081 | 供 AI 助手使用的 MCP 服务 |
| worker | — | 抓取器(SEC、FINRA、Congress、FRED、Yahoo、CFTC、CBOE、USAspending、FDA、FIRDS、欧洲交易所目录) |
数据抓取会自动开始。SEC 文件、持仓、内部人交易和国会交易将在几分钟内开始填充。
配置
所有设置都可以通过项目根目录中的 .env 文件(推荐用于 Docker)或环境变量进行配置。
FINRA 做空数据(需要免费 API 密钥):
FINRA 爬虫(做空成交量和做空持仓量)需要免费的 API 密钥。如果没有密钥,爬虫会优雅地跳过,其他所有爬虫正常运行。交割失败数据来自 SEC,无需 FINRA 凭据即可使用。
获取密钥:
- 前往 FINRA API Console 并登录(Google 账号即可)
- 打开 API Credentials 菜单并创建一个新的 API Key
- 复制 Client ID 和 Client Secret
- 在
.env文件或环境变量中设置Finra__ClientId和Finra__ClientSecret
旧版的
developer.finra.org"Teams & Apps" 流程已停用——请使用上面的 API Console。
FRED 经济数据(需要免费 API 密钥):
FRED 爬虫需要来自圣路易斯联邦储备银行的免费 API 密钥。如果没有密钥,爬虫会优雅地跳过,其他所有爬虫正常运行。
获取密钥:
- 在 fred.stlouisfed.org/docs/api/api_key.html 注册
- 复制 32 个字符的 API 密钥
- 在
.env文件或环境变量中设置Fred__ApiKey
股票代码过滤(可选):
默认情况下,所有股票代码都会同步。要将数据同步限制到特定股票,请设置一个适用于所有爬虫的单一股票代码列表:
# .env — sync only these tickers (applies to all scrapers)
Worker__TickersToSync__0=AAPL
Worker__TickersToSync__1=MSFT
Worker__TickersToSync__2=GOOGL
未设置时,所有股票都会同步。
最早同步日期(可选):
默认情况下,所有爬虫都从 2020 年 1 月开始。设置更近的日期可以加快初始同步,或者最早可追溯到 2000-01-01 以获取更多历史数据:
# .env — start syncing from 2024 instead of 2020
Worker__MinSyncDate=2024-01-01
嵌入(可选启用):
| 设置 | 默认值 | 描述 |
|---|---|---|
Embedding__Enabled | false | 设为 true 以启用向量嵌入生成 |
Embedding__Provider | Ollama | Ollama(/api/embed)或 OpenAI(/v1/embeddings — vLLM、Text-Embeddings-Inference 或 OpenAI) |
Embedding__BaseUrl | — | 嵌入端点(例如 http://localhost:11434) |
Embedding__ModelName | — | 模型名称(例如 qwen3-embedding:0.6b) |
Embedding__ApiKey | — | Bearer token,如果服务需要的话(例如 vLLM --api-key) |
Embedding__BatchSize | 10 | 每个嵌入批次的文本数量 |
更新通知(可选):
| 设置 | 默认值 | 描述 |
|---|---|---|
CHECK_FOR_UPDATES | true | 当为 true 时,Web 门户会检查 GitHub Releases,并在有更新版本可用时显示横幅。设为 false 可禁用。 |
身份验证(可选):
| 设置 | 默认值 | 描述 |
|---|---|---|
AUTH_USERNAME | — | Web 门户用户名(为空时禁用身份验证) |
AUTH_PASSWORD | — | Web 门户密码(为空时禁用身份验证) |
MCP_API_KEY | — | MCP 服务 API 密钥(为空时禁用身份验证) |
设置后,Web 门户需要登录,MCP 服务需要 Authorization: Bearer <key> 请求头。未设置时,一切均为开放访问(默认)。
更新
Web 门户会定期检查 GitHub Releases,并在有更新版本可用时显示横幅(可通过 CHECK_FOR_UPDATES=false 禁用)。要更新到最新版本:
Docker Compose:
git pull
docker compose up -d --build --remove-orphans
在升级命令中包含所有可选的 Compose 覆盖文件,以便这些服务保持启用。
从源码:
git pull
dotnet build Equibles.sln
数据库迁移会在启动时自动应用。升级前请查看 更新日志 了解重要变更。
Web Portal
http://localhost:8080 上的 Web 门户提供基于浏览器的数据浏览界面:
- Stocks — 浏览和搜索所有跟踪的公司,查看带有技术指标(SMA、EMA、RSI、MACD、布林带)的价格图表、金叉/死叉和价格连涨/连跌徽章、相对于 SPY 的表现,以及每只股票的选项卡,包括机构持仓、卖空数据、SEC 文件、财务报表、内部人士交易、拟议出售(Form 144)、基金持仓(NPORT)、基金运营(N-CEN)、豁免发行(Form D)和国会议员交易
- Institutions — 浏览机构持有人(对冲基金、资产管理公司),查看包含投资组合明细、行业配置、季度活动、回测和并排比较的详细资料。根据风险调整后表现(相对于基准的 alpha)为申报机构评分;Smart Money Index 页面会汇总得分最高的基金,生成共识信号。包含持仓筛选器,可按申报机构数量、价值、流通股百分比、所在地、AUM/持仓数量和行业筛选,并支持导出 CSV
- Advisers — 浏览 SEC 注册的投资顾问和豁免申报投资顾问(
/advisers),按管理资产规模排序,并查看各公司的资料(监管口径 AUM、主要办公室、员工人数、费用结构) - Insider Trading — 显示过去 90 天内部人士买入最多、卖出最多和金额最大的交易的仪表板
- Short Activity — 卖空最多排行榜(
/most-shorted,按 FINRA 卖空权益排名)和单日卖空量最高排行榜(/short-volume),均提供日期选择器、服务端排序和分页 - Economy — 按类别浏览 FRED 经济指标(利率、通胀、就业、GDP 等),并查看图表和统计数据
- Futures — 查看 30 多种期货合约(大宗商品、指数、货币)的 CFTC 交易者持仓报告数据,以及商业/非商业持仓图表
- Market — 查看 CBOE 市场指标:包含 OHLC 图表的 VIX 波动率指数,以及看跌/看涨比率(股票、指数、总计、VIX、ETP)
- Search — 全局搜索股票、机构、内部人士和国会议员,并按类别筛选和设置日期范围
- Status — 查看系统运行状况、工作进程状态、数据计数和错误日志
MCP 服务
MCP 服务为 AI 助手(Claude、ChatGPT 等)提供金融数据工具:
- 机构持仓 — 主要持有人、持股历史、机构投资组合及摘要、行业配置、季度交易活动、持仓最多的股票、共识持仓、基金重叠情况、全市场 13F 交易活动、按申报方类型和行业划分的持有人资金流、机构搜索
- 内部人交易 — 内部人交易、持股摘要、拟议出售(Form 144)、内部人搜索
- 国会议员交易 — 某股票代码的交易、某位议员的交易、议员搜索
- SEC 文件 — 全文搜索、语义搜索、文件浏览、申报文件内的关键词搜索
- 财务报表 — 每个股票代码的 XBRL 事实时间序列、跨股票代码事实对比、各财年期间的完整损益表/资产负债表/现金流量表
- 基金及顾问申报文件 — 基金投资组合持仓(NPORT)、注册基金运营情况(N-CEN)、豁免发行(Form D),以及 SEC 注册和豁免申报的投资顾问查询与搜索(Form ADV)
- 卖空数据 — 每日卖空成交量、全市场每日最大卖空成交量、双月卖空持仓量,以及跨股票代码的最新卖空持仓快照
- 经济指标 — FRED 数据查询、最新宏观经济快照、跨类别指标搜索
- 股票价格 — 含调整后收盘价的每日 OHLCV 历史数据、一个或多个股票代码的最新收盘价,以及按需提供的技术指标(EMA、随机振荡器、平均真实波幅、能量潮、布林带)
- 期货持仓 — COT 持仓数据、所有合约的最新快照、合约搜索
- 市场指标 — VIX 历史数据、按类型划分的看跌/看涨期权比率(股票、指数、总计、VIX、ETP)
- 政府合同 — 某股票代码获得的联邦合同授予信息(授予机构、金额、期间日期),以及按日期范围内联邦资金总额排列的上市公司承包商排名(USAspending.gov)
- FDA 催化事件 — 指定日期范围内已安排的 FDA 咨询委员会(AdComm)会议——推动生物技术和制药股走势的监管催化日期(FDA.gov)
输出格式(GCF,可选启用)
默认情况下,这些表格工具返回 markdown 表格。当其更小时,会改用 Graph Compact Format,否则回退到 markdown。GCF 携带与 markdown 表格相同的单元格,只是将列名归入单个表头,并去掉了每个单元格的 | 内边距和分隔行。
它作用于通过 MarkdownTable.Render 渲染的答案,目前包括短线成交量与空头持仓工具、场外成交量、交割失败、国会交易与议员披露、FRED 系列与日历工具、CFTC 持仓、CBOE 比率、FDA 顾问会议、政府合同,以及机构和顾问搜索工具。使用 MarkdownTable.Start 自行拼接行的工具不会被编码,因为这些答案会在表格之后继续附带截断说明和脚注;这包括价格、财务报表、内部人、股息、13F 投资组合、基金申报和申报搜索工具。将它们接入共享渲染器的工作单独跟踪。
可以按请求启用,这正是共享服务的期望方式,使用 X-Equibles-Output-Format: gcf 请求头或 ?output_format=gcf 查询参数(该查询参数是为那些只能通过 URL 配置的客户端提供的)。markdown 也以相同方式被接受,因此调用方可以选择退出默认使用 GCF 的服务。无法识别的值会被忽略而不是拒绝,并应用服务自身的默认值。
设置 EQUIBLES_OUTPUT_FORMAT=gcf 可将 GCF 变为进程级默认值。请求中指定格式时优先于它;未指定时则采用它。
按请求选择依赖于每次工具调用作为独立的 HTTP 请求到达,这正是可流式 HTTP 传输在其无状态和会话模式下的工作方式:格式从该请求读取并仅应用于该请求。若某传输改为在更早打开的连接上分发调用,则会携带该打开请求所要求的格式。
节省的幅度取决于答案的形态。表格会被压缩,而周围的散文不会,因此长前言中的小表格节省最少,而包含大量短值的宽表格节省最多。针对已部署的服务,用三个受支持工具的真实答案进行端到端测量——30 个会话的每日短线成交量、25 笔国会交易以及 24 个 FRED 系列的月度观测值——答案文本在字符数上缩短了 7% 至 13%。
这是你的客户端交给模型的文本,而不是 HTTP 负载。JSON 会转义编码器添加的每一个引号,因此同一份答案的传输字节可能增加,即使其文本缩短了。
它刻意保持保守:每个单元格值都逐字保留(compact-USD、千位分组、自适应小数和 em-dash 格式均不变——GCF 只改变框架,不改变模型所读的数字),任何与表头列形状不匹配的行都会回退到 markdown 表格,因此结果绝不会被丢弃或损坏。对于在未设置任何内容的服务上不请求任何内容的调用方,输出保持不变。GCF 采用 MIT 许可,其编码器零依赖。
连接到 Claude Desktop
将以下内容添加到你的 Claude Desktop 配置文件(claude_desktop_config.json)中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"equibles": {
"url": "http://localhost:8081/mcp"
}
}
}
重启 Claude Desktop 后,Equibles 工具即可使用。之后你可以提问,例如“谁持有 AAPL 最多的机构头寸?”或“在 Apple 最新的 10-K 中搜索关于营收增长的讨论。”
连接到 Claude Code
将 MCP 服务添加到 Claude Code:
claude mcp add equibles --transport http http://localhost:8081/mcp
连接到 ChatGPT Desktop
将以下内容添加到 ChatGPT Desktop 配置文件中:
macOS:~/Library/Application Support/com.openai.chat/mcp.json
Windows:%APPDATA%\com.openai.chat\mcp.json
{
"servers": {
"equibles": {
"url": "http://localhost:8081/mcp"
}
}
}
重启 ChatGPT Desktop 后,即可使用 Equibles 工具。
连接到 OpenClaw
在 OpenClaw 中,添加一个 URL 为 http://localhost:8081/mcp 的 MCP 服务(HTTP 传输)。
其他 MCP 客户端
任何兼容 MCP 的客户端都可以连接到 http://localhost:8081/mcp(HTTP 传输)。
通过 stdio 运行
可以将服务作为子进程启动的客户端,可通过 stdin/stdout 而非 HTTP 运行:
dotnet build src/Equibles.Mcp.Server
dotnet run --no-build --project src/Equibles.Mcp.Server -- --stdio
请先构建:直接运行 dotnet run 会还原依赖并在 stdout 输出构建信息,从而干扰协议流。服务会像往常一样读取 ConnectionStrings:DefaultConnection,因此请将其指向 worker 填充数据的同一数据库。日志会输出到 stderr。API 密钥以及每个请求的输出格式标头和查询参数均不适用;请改为在子进程环境中设置 EQUIBLES_OUTPUT_FORMAT=gcf。
工具
此可自托管版本通过 MCP 提供 70 个工具。托管服务 https://mcp.equibles.com/mcp 使用相同的核心功能,并在此基础上提供更多内容。完整目录和客户端配置说明:daniel3303/stock-market-mcp-server。
13F 机构持仓
- GetInstitutionCloneBacktest — 回测克隆某个申报者的 13F 投资组合并与基准比较
- GetTopHolders — 股票的顶级机构持有人(13F-HR),包括每位持有人的类型和测量风格,可按两者筛选
- GetInstitutionalOwnershipHistory — 跨季度的机构持股趋势
- GetAllHolders — 在一个列表中列出股票的所有已披露持有人(13F、13D/13G、内部人士、基金);每位持有人占一行,并嵌套显示其其他申报和所含披露,也可按最终母公司分组
- GetOwnershipSummary — 股票由谁持有:机构、内部人士、仅通过 13D/G 披露的大额持股,以及剩余流通股分别占流通股总数的比例;显示基金,但不纳入汇总
- GetBeneficialOwnership — 股票的 Schedule 13D 和 13G 申报者,列出每份申报的最新文件及其中所有申报人
- GetHolderMix — 按持有人类型、测量风格、换手率、持有期限、管理规模、客户群、私募基金或所在地查看股票持有人构成,并显示各类别同口径的变化;或按 N-CEN 基金类型查看注册基金(指数基金、指数 ETF、主动型 ETF、主动型基金)占流通股总数的比例
- GetOwnershipSignals — 查看谁持有某只股票,以及所有 13F 投资组合中的持有情况:确信度、拥挤度、占估算自由流通股的比例、持有人集中度、持有期限、持有人的估算成本及亏损持股比例,以及持有人重叠度相近的股票
- GetHolderTargets — 股东定向分析:持有某股票的持有人重叠度相近股票、但未持有该股票的 13F 申报者;按其在这些相近股票上的投入金额排名,并提供风格和持有人类型
- GetHolderTypeFlows — 对已结束季度中不同类型 13F 申报者的美国股票市场资金流入和流出进行全市场统计,可按行业细分,并以各类别上季度投资组合的比例表示净流量
- GetInstitutionPortfolio — 某机构的 13F 投资组合,包括每个持仓的持有时长和估算每股成本
- SearchInstitutions — 优先严格匹配的分词名称/CIK 搜索,提供申报日期、13F 管理资产规模、持仓数量和持有人类型
- GetTopInstitutionalBuyersSellers — 本季度对某只股票增持或减持幅度最大的机构
- GetMarketWide13FActivity — 全市场 13F 排行榜
- GetMostHeldStocks — 按机构持有广度、确信度或拥挤度列出股票
- GetInstitutionSummary — 申报者摘要(价值、集中度、换手率、持有人概况、风格区间)
- GetInstitutionStyleHistory — 按季度列出申报者的测量风格、换手率和持有期限区间
- GetInstitutionSectorAllocation — 按行业划分的配置
- GetInstitutionQuarterlyActivity — 与上季度相比的新增、增持、减持或退出持仓
- CompareInstitutionPortfolios — 比较两家机构的投资组合重叠情况
- GetInstitutionConsensusHoldings — 2–25 家机构的共识投资组合
内部人士交易
- GetInsiderTransactions — 来自 Forms 4/5 的内部人士交易
- GetInsiderOwnership — 按股数排名的内部人士持股
- GetForm144ProposedSales — Form 144 中拟议的出售
- SearchInsiders — 优先严格匹配完整单词的已申报姓名搜索,并匹配已验证的公开姓名别名
SEC 申报文件搜索
- SearchDocuments — 对所有申报文件进行关键词与语义混合搜索,可按股票代码筛选
- SearchDocument — 在单份申报文件中搜索
- ListFilings — 浏览全市场或某家公司的申报文件,并按日期、类型和 8-K 条目筛选
- ReadDocumentLines — 读取申报文件中的指定行范围
基金、ETF 与顾问
- SearchInvestmentAdvisers — 优先严格匹配的分词顾问名称搜索(Form ADV)
- GetInvestmentAdviser — 按 CRD 查询 ADV 资料
- GetFundNcenReports — 从 N-CEN 获取基金运营信息,并精确解析目录标识符
- GetFundsHoldingStock — 持有某只股票的基金
- GetFormDOfferings — 私募发行(Form D)
- GetFailsToDeliver — SEC 未交割数据
- SearchFunds — 优先严格匹配的分词基金/注册人/股票代码搜索,并匹配已验证的份额类别别名
- GetFundProfile — 基金资料及 NPORT-P 持仓,明确区分已报告与已存储的覆盖数量
基本面(XBRL)
- GetFinancialStatement — 以一个期间结束日为基准的利润表/资产负债表/现金流量表;季度货币流量按单独季度或精确推导的差额报告,绝不使用年初至今合计
- GetFinancialFact — 随时间变化的单个概念,包含精确期间和过时别名覆盖警告
- CompareFinancialFact — 跨公司比较某个概念
- GetRevenueBreakdown — 按业务分部/地理区域/产品划分的收入,以及报告的分部营业收入和推导出的利润率
经济数据(FRED)
- GetEconomicIndicator — 一个 FRED 序列
- GetLatestEconomicIndicators — 按类别显示最新值
- SearchEconomicIndicators — 优先严格匹配、按词元搜索精选序列,并支持标准宏观经济别名
- GetEconomicCalendar — 美国宏观经济数据发布日历
期货(CFTC COT)
- GetCftcPositioning — 某个合约的 COT 持仓情况
- GetLatestCftcPositioning — 最新 COT 快照
- SearchCftcMarkets — 优先严格匹配,按名称、代码或标准期货代码搜索
波动率(CBOE)
- GetPutCallRatios — 看跌/看涨比率
- GetVixHistory — VIX 每日 OHLC
FDA 日历
- GetFdaAdvisoryCommitteeMeetings — 已安排的 FDA 咨询委员会会议
国会议员交易
- GetCongressionalTrades — 某个股票代码的交易
- GetMemberTrades — 某位议员的交易
- GetMemberNetWorth — 议员净资产历史
- SearchCongressMembers — 优先严格匹配,按词元搜索名册,并支持已验证的公开姓名别名
卖空数据(FINRA)
- GetShortVolume — 每日卖空成交量
- GetShortInterest — 每半月卖空持仓量
- GetShortInterestSnapshot — 全市场快照
- GetLargestShortVolume — 最大每日卖空成交量
- GetShortSqueezeScores — 综合挤压评分
- GetOffExchangeVolume — 暗池/场外成交量
股票价格
- GetStockPrices — 每日 OHLCV,以及与之不同时存储的辅助调整后收盘价
- GetLatestClosingPrices — 最新收盘价/涨跌额/成交量
- GetDividendHistory — 特定股票或 ETF 上市标的已存储的已宣告现金股息
- GetStochasticOscillator — 随机振荡指标(%K/%D)
- GetAverageTrueRange — 平均真实波幅(ATR)
- GetOnBalanceVolume — 能量潮指标(OBV)
- GetBollingerBands — 布林带
政府合同(USAspending)
- GetGovernmentContracts — 某家公司的联邦合同授予记录
- GetTopGovernmentContractors — 获得政府合同最多的上市公司
向量嵌入(高级,可选启用)
向量嵌入可对 SEC 文件进行语义搜索(例如“查找 Apple 10-K 中关于收入增长的讨论”)。这需要下载 Ollama 运行时(约 2GB)和 Qwen3-Embedding-0.6B 模型(约 640MB)。
docker compose -f docker-compose.yml -f docker-compose.embedding.yml up
这会添加 Ollama,并配置现有的 web、MCP 和 worker 服务使用它:
| 服务 | 端口 | 说明 |
|---|---|---|
| embedding | 11434 | 搭载 Qwen3-Embedding-0.6B 模型的 Ollama 服务 |
| embedding-pull | — | worker 启动前执行的一次性模型下载 |
| worker | — | 启用嵌入生成的现有 worker |
不使用嵌入配置时,仍可开箱即用地通过 ParadeDB 使用 BM25 全文搜索;向量搜索只是额外功能。
默认使用捆绑的 Ollama,因为它不需要 GPU,且可在任何环境中运行。若要大规模批量生成嵌入,可将 Embedding__Provider=OpenAI 指向支持批处理的服务,例如 vLLM 或 Text-Embeddings-Inference——它们会持续在 GPU 上进行批处理,对于大型语料库,速度远快于 Ollama。详见 docs/guide/how-to-use-external-embedding-endpoint.md。
截图
股票详情![]() | 股票![]() |
经济数据![]() | 经济指标详情![]() |
贡献
有关开发环境搭建、项目架构以及如何扩展该平台,请参阅 CONTRIBUTING.md。贡献者必须签署贡献者许可协议——当你提交拉取请求时,机器人会自动处理此事。
许可证
作者
Daniel Oliveira
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。



