Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
MCP serverSafeData & analyticsBeginner friendly Verified live

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)提供全面的实时金融数据访问能力,支持股票、基金、债券、宏观经济指标、稳定币、虚拟货币等多维度金融数据分析。其中也包含了金融数据查询、财经新闻查询、国家统计局数据查询等

857 stars141License: MITUpdated 13 days ago0 opens

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

Safe

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] 服务状态:公网托管服务暂时停止。 原公网域名已经到期,当前不提供官方在线体验或托管 /mcp Endpoint;后续可能更换域名,恢复时间与新地址将通过本仓库公告。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

路由行为:

  1. 只传一种凭证时,优先使用该凭证对应的数据源。
  2. 同时传入多种凭证时,默认 Tushare 优先;新闻工具随后尝试 Twingly,再尝试 Qveris 与公共源。
  3. X-Finance-Source-Priority 可按请求调整顺序;未知项忽略、重复项去重、遗漏项按默认顺序补齐。
  4. 首选数据源接口未覆盖或调用失败时自动降级;正常空结果不会触发重复请求。
  5. 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注册账号 · 获取 Tokenstdio:TUSHARE_TOKEN;HTTP:X-Tushare-Token
Qveris需要 API KeyDashboard / API Keys · 官方文档stdio:QVERIS_API_KEY;HTTP:X-Qveris-Api-Key
Twingly News Search需要 API KeyDashboard / API Key · News APIstdio:TWINGLY_API_KEY;HTTP:X-Twingly-Api-Key
Binance Public API不需要Spot REST API 文档无需配置;加密资产行情自动使用公开接口
百度新闻不需要无需申请 API无需配置;finance_news 使用公开新闻检索
本地系统时钟不需要无无需配置;仅供 current_timestamp 使用

Tushare Token

  1. 在 Tushare 注册并登录。
  2. 进入 个人中心 → 账号与 TOKEN,复制 Token;完整步骤见 官方 Token 指南。
  3. 将 Token 写入本地 TUSHARE_TOKEN,或在远程 MCP 请求中通过 X-Tushare-Token 传递。

[!TIP] 🎓 Tushare 高校学生认证可免费获得 2000 积分。 当前官方流程要求完善学校和个人资料、加入高校用户群,并向管理员提交学生证或学信网截图及 Tushare ID。入口与最新步骤见 学生免费积分获取。Tushare 服务协议同时说明,高校学生和教师完成身份确认后分别可获得 2000 / 5000 积分权限。不同接口的积分门槛与频次不同,请以对应接口文档和积分权限页面为准。

Qveris API Key

  1. 登录 Qveris,打开 Dashboard / API Keys。
  2. 创建并复制 API Key。Qveris 当前为新账号提供 1000 credits;Discover、Inspect 免费,实际 Call 可能按能力计费。
  3. 将 Key 写入本地 QVERIS_API_KEY,或在远程 MCP 请求中通过独立的 X-Qveris-Api-Key 传递。

Twingly API Key

  1. 登录 Twingly Dashboard,从右上角复制 API Key 并确认剩余额度。
  2. 将 Key 写入本地 TWINGLY_API_KEY,或在远程 MCP 请求中通过独立的 X-Twingly-Api-Key 传递。
  3. Twingly 仅作为 finance_news 与 hot_news_7x24 的可选上游;认证失败、限流、服务异常或无匹配结果时按配置自动回退。调用方参数校验失败不会回退到语义不同的新闻源。
  4. finance_news 默认把空格分隔的内容作为多个必含词;需要精确短语时使用双引号,例如 "Federal Reserve" inflation。Twingly 最多接受 250 个组合词项,请求正文最多 16 KiB(按 UTF-8 字节计);超出任一限制都会在发送上游请求前明确报错。
  5. Twingly 单次最多返回 250 条新闻。tools/list 在 Twingly 是当前首选新闻源时会把 hot_news_7x24.limit 的 schema 上限设为 250;其他数据源可继续公布自身上限。

无 Key 数据源

  • **Bi
View source on GitHub