mcpField
F
finance-mcp

finance-mcp

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

关于 finance-mcp

为 LLM Agent 提供实时市场、加密货币、SEC、外汇和宏观经济数据的 MCP 服务。其 11 个工具使用公开数据源,并区分公开市场内幕交易与税款预扣等机械性申报。

主要功能

  1. 01获取股票、ETF 和指数报价
  2. 02查看价格历史与加密货币市场
  3. 03读取 SEC 申报和 XBRL 财务数据
  4. 04区分内幕交易与机械性申报
  5. 05全文搜索 SEC 申报
  6. 06查询汇率和世界银行指标

适用场景

  1. 01查询公司报价或近期价格表现
  2. 02比较加密货币价格和市场数据
  3. 03查看 SEC 申报或报告财务数据
  4. 04检查内幕申报并区分税款预扣

MCP 相关

通过 stdio 向 MCP 客户端提供 11 个金融数据工具,涵盖市场报价、加密货币、SEC 记录、汇率和经济指标。SEC 工具需要配置 SEC_USER_AGENT;这些数据源无需 API 密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"adididitagain-finance": {
"command": "npx",
"args": [
"-y",
"finance-data-mcp"
],
"env": {
"SEC_USER_AGENT": "<SEC_USER_AGENT>"
}
}
}
}
启动命令npx -y finance-data-mcp
需要配置的环境变量
SEC_USER_AGENTContact string sent to SEC EDGAR on every request, in the form "Your Name [email protected]". EDGAR returns HTTP 403 without it, so the three SEC tools need this set; all other tools work without it.

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

安装包
npmfinance-data-mcp0.2.0

工具

11

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

参数类型必填说明
symbolsarray是股票代码,例如 ["AAPL", "NVDA", "^GSPC"]

详细介绍

finance-mcp

为任何 LLM Agent 提供实时金融数据。 股票报价 · 加密货币 · SEC 文件 · 内幕交易 · XBRL 财务数据 · 外汇 · 宏观经济

CI npm License: MIT Node MCP API key Tools

动态终端演示:Agent 调用 get_stock_quote 和 get_price_history,并获取实时的 Apple 和 NVIDIA 市场数据

为什么选择它

大多数金融 API 都要求注册账号、获取密钥并绑定信用卡,之后你的 Agent 才能回答“Apple 现在的股价是多少?”

finance-mcp 将五个真正免费的公共数据源封装为十一个 MCP 工具。它们都不需要密钥。唯一需要的配置是电子邮件地址,而且只是因为 SEC 要求提供。

独一无二的功能

公司内部人士——高管、董事和持股 10% 的股东——必须在两个工作日内向 SEC 报告其本人股票的每笔交易。这些信息公开、结构化,却几乎无人查阅。

问题在于,其中大多数交易都没有实际意义。期权归属。为缴纳归属产生的税款而扣留股份。这些都不是交易决定,却都会被报告为“内部人士卖出”。

get_insider_activity 会将两者区分开来。以下是 6 月某一周 Apple 的实际输出:

OPEN-MARKET (a deliberate decision to trade)
  Sold:   5 filing(s)   302.92K shares   ≈ $87,566,268.55

MECHANICAL (vesting, option exercises, tax withholding — no decision): 1 filing(s)

  Newstead Jennifer — SVP, GC and Secretary
      2026-06-15  +30.10K @ —         Option exercise / conversion
      2026-06-15  −16.24K @ $296.42   Shares withheld for taxes      ← not a trade

  LEVINSON ARTHUR D — Director
    ★ 2026-05-06  −149.53K @ $284.57  Open-market sale               ← a real decision
    ★ 2026-05-06  −100.47K @ $285.04  Open-market sale
      2026-05-06  −5.00K   @ —        Gift

同一家公司,同一个月。其中一笔是信号,另一笔则只是薪酬发放。每一行都链接到对应的申报文件。

它只报告披露的信息,不对其进行解读。内部人士买入和卖出都可能有合理的解释,二者都无法预测股价。

因此,我们测算了它有多重要

这个说法可以验证,所以我们进行了检验:统计为期 12 个月内,标普 100 指数成分公司的内部人士提交的每份 Form 4——共 2,969 份——并根据申报中是否包含实际交易决定进行分类。

图表:71.9% 的内部人士 Form 4 申报完全不包含交易决定。69.2% 涉及归属、期权行权和预扣税;26.2% 包含公开市场卖出;2.7% 仅涉及赠与;1.9% 包含公开市场买入。

大约七成的内部人士申报完全不包含交易决定。 在市值中位数的公司,这一比例为 83%。

另一个发现更让我们意外。公司也会以 10% 股东的身份提交 Form 4——而 53 份申报仅占样本的 1.8%,却占全部处置股份的 65%。 数据中最大的单一“内部人士”是 Honeywell International Inc,它处置了其正在分拆的一家公司 3.17 亿股。按股份数量对内部人士排名,榜首并不是个人。

分析方法、注意事项和原始数据见 analysis/。只需两条命令即可从头重新运行。

工具

工具功能
get_stock_quote当前价格、当日/52 周价格区间、成交量——股票、ETF、指数
get_price_historyOHLCV 蜡烛图,以及区间回报和高低价摘要
search_symbols将公司名称解析为股票代码
get_fx_rate按 ECB 参考汇率进行货币兑换
get_crypto_price现货价格、24 小时涨跌幅、市值、成交量
get_crypto_market按市值排名的顶级加密货币
get_insider_activityForm 4 内部人士交易——将公开市场决策与归属/税务相关杂项区分开来
get_sec_filingsEDGAR 最新文件,提供文档直达 URL,可按表格类型筛选
get_sec_financials按提交时记录的 XBRL 科目时间序列
search_sec_filings对 2001 年以来的所有 EDGAR 文件进行全文搜索
get_economic_indicator世界银行宏观数据系列——GDP、通胀、失业率、债务、贸易

工作原理

flowchart LR
    A["Claude Desktop<br/>Claude Code<br/>any MCP client"] -->|MCP over stdio| B["finance-mcp"]
    B --> C["Yahoo Finance<br/><i>equities · ETFs · indices</i>"]
    B --> D["CoinGecko<br/><i>crypto</i>"]
    B --> E["SEC EDGAR<br/><i>filings · XBRL · insider trades</i>"]
    B --> F["ECB / Frankfurter<br/><i>FX</i>"]
    B --> G["World Bank<br/><i>macro</i>"]

共享 HTTP 层会按主机控制请求速率,对 429/403/5xx 错误进行指数退避重试,遵循 Retry-After,并在内存中缓存响应——报价缓存 30 秒,文件和宏观数据系列缓存数小时。

快速开始

Claude Code — 无需克隆
claude mcp add finance -e SEC_USER_AGENT="Your Name [email protected]" -- npx -y finance-data-mcp
从源代码开始
git clone https://github.com/adididitagain/finance-mcp.git
cd finance-mcp
npm install
npm run build
claude mcp add finance -e SEC_USER_AGENT="Your Name [email protected]" -- node "$(pwd)/dist/index.js"
Claude Desktop

添加到 claude_desktop_config.json 中——在 macOS 上,路径为 ~/Library/Application Support/Claude/claude_desktop_config.json——然后重启应用:

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "finance-data-mcp"],
      "env": {
        "SEC_USER_AGENT": "Your Name [email protected]"
      }
    }
  }
}

若要改为从本地克隆运行,请使用 "command": "node" 和 "args": ["/absolute/path/to/finance-mcp/dist/index.js"]。

其他 MCP 客户端

此服务通过 stdio 使用 MCP 通信。运行 node dist/index.js,并让客户端连接到它。

试试看

Apple 当前的股价是多少?

比较 BTC 和 ETH 过去 24 小时的表现。

根据 Microsoft 的文件,展示其过去 5 年的营收。

Tesla 最近提交了哪些 8-K 文件?

哪些公司的 10-K 文件提到了“量子计算”?

印度过去十年的 GDP 增长情况如何?

将 5000 USD 兑换为 JPY。

Apple 内部人士确实在抛售,还是只是在归属股票?

数据来源

来源用途是否需要密钥
Yahoo Finance股票、ETF、指数、特殊外汇否
CoinGecko加密货币否
SEC EDGAR文件、XBRL 财务数据、Form 4 内部人士交易否(需要 User-Agent)
Frankfurter / ECB外汇参考汇率否
World Bank宏观经济指标否

配置

环境变量是否必需用途
SEC_USER_AGENTSEC 工具需要EDGAR 要求 每个请求都携带含真实姓名和电子邮件地址的 User-Agent,否则会返回 403。格式:"Your Name [email protected]"。

重要

MCP 客户端不会将 shell 环境传递给服务。请在上文所示的客户端配置中设置 SEC_USER_AGENT,而不是在 .zshrc 中设置。

开发

npm run dev      # tsc --watch
npm test         # 66 offline tests, stubbed fetch + real EDGAR fixtures, no network
npm run smoke    # drives all 11 tools against the live APIs

备注和限制

  • Yahoo 会根据 IP 地址进行限流,而且会关注你声称的身份。 使用伪造的桌面浏览器 User-Agent 会遭到严格限流——实测发现,使用 Chrome UA 时成功请求数为 0/8,而使用诚实的 finance-mcp/0.1 时为 8/8,两种情况交替进行。该服务出于这个原因如实标识自身;不要通过伪装成浏览器来“修复”它。外汇数据改由 ECB 提供,不受限流。
  • 报价可能会延迟最多约 15 分钟,且并非交易所官方数据。
  • SEC XBRL 数据按提交时的内容呈现。 get_sec_financials 会根据每行所涵盖的期间标注,而不是根据其来源文件的财年标注——EDGAR 自身的 fy 字段描述的是文件,因此如果 10-K 重述了前一年度的数据,否则就会错误标注。
  • search_sec_filings 根据 EDGAR 的相关性排序,因此查询词出现在公司名称中的公司会更靠前。
  • 世界银行数据按年统计,通常会滞后一到两年。
  • 内幕交易数据的完整程度取决于你读取的时间范围。 get_insider_activity 会读取最新的 limit 份 Form 4,并报告跳过的数量——大型公司每年会提交数百份,因此较小的 limit 只能显示近期片段,而非完整情况。Form 4 必须在交易后的两个工作日内提交,因此会有短暂的报告延迟。

免责声明

这是一款信息数据工具。它返回的内容不构成投资建议,且数据不保证准确性或可用性。对于你打算据此采取行动的信息,请通过官方来源核实。

许可证

MIT © Aditya Bisht

评论

支持 Markdown

第一次接触 MCP?

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

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