FinanceMCP
guangxiangdebizi · guangxiangdebizi/FinanceMCP
An MCP server providing AI agents with comprehensive real-time financial data access, integrating Tushare and Binance APIs for stocks, funds, crypto, and macroeconomic indicators.
这是一个金融领域相关的mcp,本项目通过集成 Tushare API 和 Binance API 为语言模型(如Claude)提供全面的实时金融数据访问能力,支持股票、基金、债券、宏观经济指标、稳定币、虚拟货币等多维度金融数据分析。其中也包含了金融数据查询、财经新闻查询、国家统计局数据查询等
Preview
What you can do with it
- Analyze stock market trends and make data-driven investment decisions.
- Monitor cryptocurrency prices and stablecoin performance.
- Generate financial reports and insights based on real-time and historical data.
Verified live · 4 tools
We started this MCP server in an isolated sandbox and it exposed these tools:
current_timestamp获取当前东八区(中国时区)的时间戳,包括年月日时分秒信息
finance_news通过真正的搜索API获取主流财经媒体的新闻内容,支持单个或多个关键词智能搜索
stock_data获取指定股票/加密资产的历史行情数据,支持A股、美股、港股、外汇、期货、基金、债券逆回购、可转债、期权、加密货币(通过Binance)
stock_data_minutes获取分钟K线数据:A股/加密。支持1MIN/5MIN/15MIN/30MIN/60MIN,时间范围需提供起止日期时间
npx -y finance-mcp · 08/10/2026
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
FinanceMCP Synapse
为 AI Agent 提供统一、可路由、可追溯的多市场金融数据 19 个稳定 MCP Tools · Tushare / Qveris / Binance · stdio + Streamable HTTP
快速开始 ·
数据源路由 ·
API 获取 ·
Tools ·
安全 ·
Star 趋势 ·
English
[!WARNING] 服务状态:公网托管服务暂时停止。 原公网域名已经到期,当前不提供官方在线体验或托管
/mcpEndpoint;后续可能更换域名,恢复时间与新地址将通过本仓库公告。npm 包、本地 stdio 使用和自行部署不受影响。
[!IMPORTANT] v4.11.2 加固 Twingly 新闻路由的参数校验、请求大小限制、数据源回退和动态 Tool Schema,并补充敏感请求头脱敏。现有 19 个 Tool 名称与主要调用方式保持不变。
[!NOTE] 需要在 Trae、Cursor、Claude Code 和 Codex 之间共享模型 Prompt/KV-cache 路由及对话 lineage 时,可选启动独立的
finance-cache-gateway。它使用单独的进程、端口和配置;不修改现有 MCP Tool、stdio 或/mcp接口,不启用时现有用法完全不变。
🔗 项目联动:FinNote 智能金融文档系统
FinanceMCP 已与 MarkiNote 进行项目联动与融合,形成面向金融研究、AI 分析与智能文档管理场景的一体化系统 FinNote。该项目已参加上海市大学生计算机应用能力大赛并获得二等奖。
🌐 在线体验:暂时停止,后续可能更换域名 📝 MarkiNote:https://github.com/wink-wink-wink555/MarkiNote
在 FinNote 的整体架构中,FinanceMCP 作为核心的 金融数据与 MCP 工具服务层,基于 Node.js、Express 与 Model Context Protocol(MCP)SDK 构建。目前通过 19 个稳定的 MCP 工具,为 AI Agent 提供股票、基金、债券、宏观经济、财经新闻、技术指标以及多市场行情等金融数据能力,并支持 stdio 与 Streamable HTTP 两种接入方式。
MarkiNote 则作为上层 AI Agent 智能文档与知识管理系统,负责承载自然语言交互、AI 分析结果展示、Markdown 文档生成、编辑与长期知识沉淀。在 FinNote 场景中,MarkiNote 通过 HTTP / MCP 服务链路调用 FinanceMCP,使金融数据能力能够直接进入 AI Agent 的推理与文档工作流。
整体流程形成:
自然语言提问 → AI Agent 任务理解 → FinanceMCP 工具调用 → 多源金融数据获取 → AI 智能分析 → Markdown 文档生成 → 文档管理与知识沉淀
因此,FinanceMCP 不仅可以作为独立的金融数据 MCP Server 接入 Claude、Cursor、Codex 等 MCP Client 或 AI Agent,也可以作为 FinNote 等上层 AI 应用的金融数据基础设施,为智能投研、金融分析和文档型 Agent 提供统一、结构化、可调用且可追溯的数据能力。
✨ 核心亮点
| 能力 | 说明 | |
|---|---|---|
| 🔌 | 无侵入式扩展 | 保持现有 19 个 Tool 名称和参数,数据源选择由请求上下文完成 |
| 🧭 | 智能路由 | 同时支持 Tushare、Qveris、Binance 与公开新闻源 |
| 🔁 | 自动降级 | 首选来源未覆盖、超时、限流或不可用时按优先级继续尝试 |
| 🏷️ | 来源透明 | 每次返回都标注实际数据来源;发生降级时同时返回完整路由 |
| 🛡️ | 请求级隔离 | HTTP Key 通过 AsyncLocalStorage 隔离,日志统一脱敏 |
| 📈 | 多市场覆盖 | A 股、港股、美股、指数、基金、债券、期货、外汇、宏观与加密资产 |
| 🧮 | 技术指标引擎 | MACD、RSI、KDJ、BOLL、MA 自动扩展历史窗口后再计算 |
| 🚀 | 双传输模式 | 同时支持本地 stdio 与远程 Streamable HTTP |
🧭 数据源路由
flowchart LR
C[AI / MCP Client] -->|现有 19 个 Tools| R{FinanceMCP Router}
R -->|默认优先| T[Tushare]
R -->|全球新闻| G[Twingly]
R -->|可选扩展| Q[Qveris]
R -->|Crypto| B[Binance]
R -->|News / Time| L[公开源与本地计算]
Q -. 未覆盖 / 超时 / 限流 .-> T
T -. 不适用 .-> B
T & G & Q & B & L --> O[来源标注后的统一 MCP 结果]
HTTP 请求头
X-Tushare-Token: YOUR_TUSHARE_TOKEN
X-Qveris-Api-Key: YOUR_QVERIS_API_KEY
X-Twingly-Api-Key: YOUR_TWINGLY_API_KEY
X-Finance-Source-Priority: twingly,qveris,tushare,binance
默认优先级:
tushare,twingly,qveris,binance
路由行为:
- 只传一种凭证时,优先使用该凭证对应的数据源。
- 同时传入多种凭证时,默认 Tushare 优先;新闻工具随后尝试 Twingly,再尝试 Qveris 与公共源。
X-Finance-Source-Priority可按请求调整顺序;未知项忽略、重复项去重、遗漏项按默认顺序补齐。- 首选数据源接口未覆盖或调用失败时自动降级;正常空结果不会触发重复请求。
- Qveris 内部执行 Discover → Inspect → Probe → Call,每次 MCP 请求最多执行一次可能计费的 Call。
返回示例:
数据来源: Tushare
数据源路由: Qveris(接口未覆盖) → Tushare(成功)
原有工具结果……
[!NOTE] Qveris 是可选扩展。未提供
X-Qveris-Api-Key/QVERIS_API_KEY时不会调用 Qveris,也不会消耗 credits。接口契约参见 Qveris REST API。
[!NOTE] Twingly 是可选的全球新闻源。未提供
X-Twingly-Api-Key/TWINGLY_API_KEY时不会调用。FinanceMCP 只返回标题、来源、时间、文章与站点标识、URL、语言/地区、栏目和去重元数据,不返回或持久化文章全文。
按凭证动态显示 Tools
tools/list 会根据当前 MCP 请求实际携带的凭证裁剪工具目录:只传 Twingly Key 时展示两个现有新闻 Tools,只传 Qveris Key 时只展示 Qveris adapter 覆盖的现有 Tools,只传 Tushare Token 时只展示 Tushare 覆盖的 Tools;同时传入多种凭证时展示并集。没有凭证时仅展示公共数据源与本地工具。tools/call 也执行相同校验,避免 AI 调用到当前请求无法使用的数据源。
🔑 数据源与 API 获取
| 数据源 | 是否需要凭证 | 官方获取入口 | FinanceMCP 配置 |
|---|---|---|---|
| Tushare Pro | 需要 Token | 注册账号 · 获取 Token | stdio:TUSHARE_TOKEN;HTTP:X-Tushare-Token |
| Qveris | 需要 API Key | Dashboard / API Keys · 官方文档 | stdio:QVERIS_API_KEY;HTTP:X-Qveris-Api-Key |
| Twingly News Search | 需要 API Key | Dashboard / API Key · News API | stdio:TWINGLY_API_KEY;HTTP:X-Twingly-Api-Key |
| Binance Public API | 不需要 | Spot REST API 文档 | 无需配置;加密资产行情自动使用公开接口 |
| 百度新闻 | 不需要 | 无需申请 API | 无需配置;finance_news 使用公开新闻检索 |
| 本地系统时钟 | 不需要 | 无 | 无需配置;仅供 current_timestamp 使用 |
Tushare Token
- 在 Tushare 注册并登录。
- 进入 个人中心 → 账号与 TOKEN,复制 Token;完整步骤见 官方 Token 指南。
- 将 Token 写入本地
TUSHARE_TOKEN,或在远程 MCP 请求中通过X-Tushare-Token传递。
[!TIP] 🎓 Tushare 高校学生认证可免费获得 2000 积分。 当前官方流程要求完善学校和个人资料、加入高校用户群,并向管理员提交学生证或学信网截图及 Tushare ID。入口与最新步骤见 学生免费积分获取。Tushare 服务协议同时说明,高校学生和教师完成身份确认后分别可获得 2000 / 5000 积分权限。不同接口的积分门槛与频次不同,请以对应接口文档和积分权限页面为准。
Qveris API Key
- 登录 Qveris,打开 Dashboard / API Keys。
- 创建并复制 API Key。Qveris 当前为新账号提供 1000 credits;Discover、Inspect 免费,实际 Call 可能按能力计费。
- 将 Key 写入本地
QVERIS_API_KEY,或在远程 MCP 请求中通过独立的X-Qveris-Api-Key传递。
Twingly API Key
- 登录 Twingly Dashboard,从右上角复制 API Key 并确认剩余额度。
- 将 Key 写入本地
TWINGLY_API_KEY,或在远程 MCP 请求中通过独立的X-Twingly-Api-Key传递。 - Twingly 仅作为
finance_news与hot_news_7x24的可选上游;认证失败、限流、服务异常或无匹配结果时按配置自动回退。调用方参数校验失败不会回退到语义不同的新闻源。 finance_news默认把空格分隔的内容作为多个必含词;需要精确短语时使用双引号,例如"Federal Reserve" inflation。Twingly 最多接受 250 个组合词项,请求正文最多 16 KiB(按 UTF-8 字节计);超出任一限制都会在发送上游请求前明确报错。- Twingly 单次最多返回 250 条新闻。
tools/list在 Twingly 是当前首选新闻源时会把hot_news_7x24.limit的 schema 上限设为 250;其他数据源可继续公布自身上限。
无 Key 数据源
- **Bi