Financial News and Notes MCP Server
v4.10.0 在保留现有 19 个 Tool 名称与参数的前提下,新增按请求凭证裁剪 tools/list 的能力,并保留 v4.9.0 的 Qveris 路由、自动降级和来源标注。
需要在 Trae、Cursor、Claude Code 和 Codex 之间共享模型 Prompt/KV-cache 路由及对话 lineage 时,可选启动独立的finance-cache-gateway。它使用单独的进程、端口和配置;不修改现有 MCP Tool、stdio 或 /mcp 接口,不启用时现有用法完全不变。
🔗 项目联动:FinNote 智能金融文档系统
FinanceMCP 已与 MarkiNote 进行项目联动与融合,形成面向金融研究、AI 分析与智能文档管理场景的一体化系统 FinNote。该项目已参加上海市大学生计算机应用能力大赛并获得二等奖。
🌐 在线体验:https://finvestai.top/
📝 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 提供统一、结构化、可调用且可追溯的数据能力。
Related MCP server: MCP Server
✨ 核心亮点
能力 | 说明 | |
🔌 | 无侵入式扩展 | 保持现有 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 -->|可选扩展| Q[Qveris]
R -->|Crypto| B[Binance]
R -->|News / Time| L[公开源与本地计算]
Q -. 未覆盖 / 超时 / 限流 .-> T
T -. 不适用 .-> B
T & Q & B & L --> O[来源标注后的统一 MCP 结果]HTTP 请求头
X-Tushare-Token: YOUR_TUSHARE_TOKEN
X-Qveris-Api-Key: YOUR_QVERIS_API_KEY
X-Finance-Source-Priority: qveris,tushare,binance默认优先级:
tushare,qveris,binance路由行为:
只传一种凭证时,优先使用该凭证对应的数据源。
同时传入 Tushare 与 Qveris 凭证时,默认 Tushare 优先。
X-Finance-Source-Priority可按请求调整顺序;未知项忽略、重复项去重、遗漏项按默认顺序补齐。首选数据源接口未覆盖或调用失败时自动降级;正常空结果不会触发重复请求。
Qveris 内部执行 Discover → Inspect → Probe → Call,每次 MCP 请求最多执行一次可能计费的 Call。
返回示例:
数据来源: Tushare
数据源路由: Qveris(接口未覆盖) → Tushare(成功)
原有工具结果……Qveris 是可选扩展。未提供X-Qveris-Api-Key / QVERIS_API_KEY 时不会调用 Qveris,也不会消耗 credits。接口契约参见 Qveris REST API。
按凭证动态显示 Tools
tools/list 会根据当前 MCP 请求实际携带的凭证裁剪工具目录:只传 Qveris Key 时只展示 Qveris adapter 覆盖的现有 Tools,只传 Tushare Token 时只展示 Tushare 覆盖的 Tools;同时传入两者时展示两者的并集。没有凭证时仅展示公共数据源与本地工具。tools/call 也执行相同校验,避免 AI 调用到当前请求无法使用的数据源。
🔑 数据源与 API 获取
数据源 | 是否需要凭证 | 官方获取入口 | FinanceMCP 配置 |
Tushare Pro | 需要 Token | stdio: | |
Qveris | 需要 API Key | stdio: | |
Binance Public API | 不需要 | 无需配置;加密资产行情自动使用公开接口 | |
百度新闻 | 不需要 | 无需申请 API | 无需配置; |
本地系统时钟 | 不需要 | 无 | 无需配置;仅供 |
Tushare Token
在 Tushare 注册并登录。
进入 个人中心 → 账号与 TOKEN,复制 Token;完整步骤见 官方 Token 指南。
将 Token 写入本地
TUSHARE_TOKEN,或在远程 MCP 请求中通过X-Tushare-Token传递。
Qveris API Key
登录 Qveris,打开 Dashboard / API Keys。
创建并复制 API Key。Qveris 当前为新账号提供 1000 credits;Discover、Inspect 免费,实际 Call 可能按能力计费。
将 Key 写入本地
QVERIS_API_KEY,或在远程 MCP 请求中通过独立的X-Qveris-Api-Key传递。
无 Key 数据源
Binance:FinanceMCP 当前只调用安全类型为
NONE的公开 K 线接口,不需要 Binance 账号、API Key 或交易权限。百度新闻:使用公开新闻搜索,不需要开发者凭证;若网络或上游检索不可用,可按配置的优先级尝试 Qveris 新闻能力。
不要把真实 Token / API Key 写进 README、MCP 配置示例或提交到 Git。推荐使用.env、客户端环境变量或每次 HTTP 请求的 Header。
🚀 快速开始
npm / stdio
npx -y finance-mcpClaude Desktop、Cursor 等本地 MCP 客户端配置:
{
"mcpServers": {
"finance-mcp": {
"command": "npx",
"args": ["-y", "finance-mcp"],
"env": {
"TUSHARE_TOKEN": "YOUR_TUSHARE_TOKEN",
"QVERIS_API_KEY": "YOUR_QVERIS_API_KEY",
"FINANCE_SOURCE_PRIORITY": "tushare,qveris,binance"
}
}
}
}Streamable HTTP
在线 Endpoint:https://finvestai.top/mcp
{
"mcpServers": {
"finance-mcp": {
"type": "streamableHttp",
"url": "https://finvestai.top/mcp",
"timeout": 600,
"headers": {
"X-Tushare-Token": "YOUR_TUSHARE_TOKEN",
"X-Qveris-Api-Key": "YOUR_QVERIS_API_KEY",
"X-Finance-Source-Priority": "qveris,tushare,binance"
}
}
}
}两个 Key 都是可选的,可以只传其中一个。Authorization: Bearer ... 与 X-Api-Key 继续兼容为 Tushare Token;Qveris 使用独立的 X-Qveris-Api-Key。
变量 | 默认值 | 说明 |
| 空 | Tushare 凭证 |
| 空 | Qveris 凭证 |
|
| Qveris REST API 地址 |
|
| stdio 或服务端默认优先级 |
|
| HTTP 服务端口 |
🧰 19 个 MCP Tools
Tool | 功能 | 数据源 / 接口商 |
| UTC+8 当前时间戳 | 本地系统时钟 |
| 财经新闻关键词检索 | 百度新闻 · Qveris* |
| 多市场历史行情与技术指标 | Tushare Pro · Qveris* · Binance Public API(加密资产) |
| A 股与加密资产分钟 K 线 | Tushare Pro · Qveris* · Binance Public API(加密资产) |
| 指数行情、基本信息与估值 | Tushare Pro · Qveris* |
| GDP、CPI、PPI、PMI、Shibor、LPR、Libor、Hibor 等 | Tushare Pro · Qveris* |
| A 股公司、财务、分红、股东与估值数据 | Tushare Pro · Qveris* |
| 港股利润表、资产负债表与现金流量表 | Tushare Pro · Qveris* |
| 美股财务报表与指标 | Tushare Pro · Qveris* |
| 基金净值、持仓、分红与基础资料 | Tushare Pro |
| 基金经理及管理基金查询 | Tushare Pro |
| 可转债全生命周期数据 | Tushare Pro |
| 大宗交易明细 | Tushare Pro |
| 个股、大盘、行业与互联互通资金流 | Tushare Pro |
| 融资融券与转融券数据 | Tushare Pro |
| CSI 指数表现、成分权重与财务摘要 | Tushare Pro · Qveris* |
| 龙虎榜机构交易明细 | Tushare Pro |
| 7×24 财经热点与内容去重 | Tushare Pro · Qveris* |
| 期货会员持仓排名 | Tushare Pro |
Qveris* 是动态数据能力路由层,会按查询自动选择已接入的实际接口商(例如 Finnhub、Tiingo 等);最终选中的接口商、能力 ID 与数据来源会随 Tool 结果一起返回。未标记 Qveris 的 Tool 会明确返回“接口未覆盖”,再降级到表内原生数据源。
📊 技术指标
macd(12,26,9) rsi(14) kdj(9,3,3) boll(20,2) ma(5) ma(10) ma(20)stock_data 会自动预取指标所需的额外历史数据,计算完成后再裁剪到用户请求区间。带技术指标的请求保持使用原生数据源,确保既有计算与展示格式稳定。
🛠️ 本地开发
git clone https://github.com/guangxiangdebizi/FinanceMCP.git
cd FinanceMCP
cp .env.example .env
npm ci
npm testnpm run start:stdio # stdio
npm run start:http # http://127.0.0.1:3000/mcpnode_modules/ 与 build/ 是本地生成物,不纳入 Git 跟踪。npm 发布时会通过 prepare 自动构建,仅打包运行所需的 build/。
🛡️ 安全设计
API Key 仅从请求 Header 或环境变量读取,不写入仓库。
HTTP 请求凭证按请求隔离,敏感 Header 在日志中显示为
[REDACTED]。QVERIS_BASE_URL默认强制 HTTPS;仅 loopback 地址允许 HTTP 回归测试。Qveris 候选能力经过只读过滤、参数 Probe、响应大小限制与超时控制。
.env、依赖目录、构建产物、日志和本地研究资料均由 Git ignore 规则管理。
⭐ Star 趋势
如果 FinanceMCP 对你有帮助,欢迎点一个 ⭐。趋势图由仓库自己的 GitHub Actions 每周一自动更新,也支持手动刷新;使用仓库临时 GITHUB_TOKEN,不依赖第三方 Star 抓取服务或长期凭证。
🤝 生态与贡献
FinanceMCP 可作为 FinNote / MarkiNote 的金融数据后端。
在线体验:finvestai.top
MCP 生态收录:Glama · Smithery · MCP Toplist
视频教程:FinanceMCP 完整使用指南
Bug 与功能建议:GitHub Issues
欢迎提交 Issue 或 Pull Request。新增数据能力时优先兼容现有聚合 Tool,避免一接口一 Tool 的表面扩张。
📄 License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis TypeScript-based MCP server enables users to manage and summarize text notes, providing tools for note creation and summarization prompts.3,86010MIT
- AlicenseNot gradedqualityDmaintenanceThis TypeScript-based MCP server allows users to manage a simple notes system through creating and summarizing text notes using Model Context Protocol (MCP).1,2848MIT
- FlicenseNot gradedqualityDmaintenanceA TypeScript-based MCP server that enables users to manage text notes with features like note creation and summary generation using a Model Context Protocol.1
- AlicenseBqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.125563MIT
Related MCP Connectors
TradeOS MCP: ticker search, My Agent, chart TA, macro news. npm stdio or HTTP.
Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guangxiangdebizi/FinanceMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server