mcpField
F

finance-mcp

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

关于 finance-mcp

finance-mcp 为 LLM Agent 提供实时市场数据、SEC 文件、内幕交易活动、外汇和宏观经济序列。其 11 个工具使用无需 API 密钥的公开数据源;访问 SEC 需配置含姓名和邮箱的 User-Agent。

主要功能

  1. 01股票、ETF 和指数报价
  2. 02历史价格与回报
  3. 03加密货币价格和市场排名
  4. 04SEC 文件、XBRL 与内幕交易活动
  5. 05货币汇率
  6. 06世界银行经济指标

适用场景

  1. 01查询股票或加密货币价格
  2. 02查看内幕文件并区分实际交易与机械性事件
  3. 03搜索公司文件和财务报表
  4. 04比较汇率或宏观经济指标

MCP 相关

它通过 stdio 向 MCP 客户端提供 11 个金融数据工具,数据来自 Yahoo Finance、CoinGecko、SEC EDGAR、Frankfurter/ECB 和世界银行等公开来源。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"adityasbisht-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.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。