手搓两个 MCP Server,独立开发基金涨跌大模型分析工具
在输入基金代码和时间段之后,分析工具先是调用的 Fund-MCP Server,获取了指定基金该时间段内的涨跌情况,并进行了总结分析。就实时基金分析而言,使用 MCP 接入优势明显,将数据结构化之后定向选择指定(基金)的数据进入大模型分析,可控性高,上下文可溯源,免责声明:基金投资有风险,过往业绩不代表未来表现。待获取的数据主要分为两类,一类是基金的实时涨跌数据,一类是可能影响基金涨跌的政策性、舆
背景
近年来,越来越多的投资者开始关注基金的长期表现,而不仅仅是短期涨跌。
对于普通用户来说,理解净值曲线、比较历史回撤、分析行业走势,往往需要查阅大量图表与数据,这不仅耗时耗力,也容易忽视关键信息。
因此,构建一个能自动梳理历史业绩、辅助解读走势的网站,可以极大提升个人投资效率。
借助周末的时间,我开发出了一个基于大模型的基金分析工具网站,可以实时对基金历史表现进行通俗易懂的分析与对比。

如上图所示,输入基金代码,选择时间段,点击分析,大模型就能自动获取指定数据进行分析。
选择 MCP 接入数据
重点,实时,所以避免不了联网获取最新数据,
待获取的数据主要分为两类,一类是基金的实时涨跌数据,一类是可能影响基金涨跌的政策性、舆论性、突发性新闻,
这两类数据都可以通过 API 或者爬虫获得,
接下来是怎么把数据接入大模型的问题,主要有 RAG 和 MCP 这两个方式,调研得知分别有以下优劣:
| 对比维度 | ✅ MCP(Model Context Protocol) | ⚠️ RAG(Retrieval-Augmented Generation) |
|---|---|---|
| 数据实时性 | ✅ 强,调用时拉取最新 API/SQL 数据,支持动态数据注入 | ❌ 弱,依赖静态向量索引,数据落后更新时间 |
| 数据结构 | ✅ 支持结构化数据(JSON、表格、SQL结果)非常适合基金净值等 | ❌ 主要处理非结构化文档(PDF、网页文本) |
| 延迟控制 | ⚠️ 需要实时拉取数据,有一定调用延迟(秒级) | ✅ 速度快,基于本地嵌入检索 |
| 上下文准确性 | ✅ 明确由开发者构造上下文,0 幻觉风险 | ❌ 依赖相似度检索,易混淆同类基金/旧数据 |
| 可控性 | ✅ 高,开发者决定什么字段进入 prompt | ❌ 低,检索粒度和内容不完全可控 |
| 安全审计 | ✅ 好做,所有上下文可追溯可重构 | ❌ 难溯源,检索结果非结构化 |
| 典型任务 | 实时基金分析、对比多个基金、可视化解释数据 | 回答「这只基金的投资风格是什么」提取基金说明书要点 |
就实时基金分析而言,使用 MCP 接入优势明显,将数据结构化之后定向选择指定(基金)的数据进入大模型分析,可控性高,上下文可溯源,
而 MCP 传输机制又分为以下 Stdio、SSE 、HTTP 三种:
注:以下数据表格使用大模型总结得出,总结过程联网,可能参考了部分博客。
| 传输方式 | 通信方向 | 底层协议 | 实时性 | 并发能力 | 部署复杂度 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|---|---|---|---|
| Stdio | 双向同步 | stdin/stdout(管道) | ✔ 低延迟 | ✖ 低(<100) | 👍 简单 | ✅ 本地通信低延迟、无网络依赖、安全性高 | ❌ 仅限本地,进程管理麻烦 | 本地开发、CLI 工具、IDE 插件 |
| SSE | 单向(服务器→客户端) | HTTP/1.1 + text/event-stream |
➖ 中等 | ✔ 中等(HTTP 限制) | ⚙️ 中等 | ✅ 支持远程通信、实时推送、HTTP 兼容 | ❌ 单向、端点多、需要 SSE 连接管理 | 中短期远程部署、实时通知 |
| Streamable HTTP | 双向异步 | HTTP/2 流 + chunked | ✔✔ 高 | ✔✔ 高 | ⚠️ 较高 | ✅ 双向流、单端点、JSON‑RPC 批处理、高并发 | ❌ 生态未成熟、实现难度较高 | 云原生、高并发远程系统 |
简而言之,Stdio 是典型单机进程间通信,适合本地调试开发,适合在 IDE 这类 MCP Host 中交互式使用,
SSE 适合服务器端实时单向传输数据,需要管理连接,
而 Streamable HTTP 底层基于 HTTP 协议,支持双向异步通信,天生适合云原生,毫无疑问,他就是我们开发 MCP Server 时传输机制的首选。
而在 MCP Server 开发框架上,我选择的是 上万星的 Fas
对获取基金净值的数据和获取相关新闻数据,分别开发一个 MCP Server
把获取数据源并且结构化的逻辑实现,同时指定 Streamable HTTP 为传输方式,
为了保证数据获取速度,简单构建了一层数据库缓存,
如果选择的基金和时间段范围内的数据存在,就直接从缓存中取数据而不用重新请求网络数据,
如果不存在或者缺失部分时间,补齐缺失数据后直接供大模型使用,同时保存到缓存中,
至此 MCP Server 开发完成。
Gemini 接入 MCP server
最终调研选择 Google 的 Gemini-2.5-flash 作为基座大模型,
阅读 Google 开发者文档,将 MCP Server Context 作为 function tool 传入 Gemini 中
再将 Gemini 大模型能力接入 Flask Application 中,至此接入完成,
最后使用 Next.js 完成前端界面的编写,对接 Flask 后端服务,
flask run 启动后端,npm start 启动前端,就看到了文章开篇所见到的网站界面
网站使用演示
可以选择任意基金代码和时间段,分析涨跌情况和可能的原因,
也可以将分析报告一键分享给好友查看,
具体欢迎查看以下视频:
在输入基金代码和时间段之后,分析工具先是调用的 Fund-MCP Server,获取了指定基金该时间段内的涨跌情况,并进行了总结分析
然后调用 News-MCP Server,准确解析出了该时段内和该基金有关的新闻动态,并且就具体新闻分析了对基金涨跌异动可能的影响
可以从视频看到,无论是输入的第一支基建基金,工具积极肯定了近期的雅鲁藏布江水电项目对该基金的正面影响
还是第二支芯片半导体基金,工具就涨跌的各个时段,分别做了相关新闻动态和涨跌趋势的正负相关性
工具高效明了,可以省去很多资料搜集时间,大模型改变生活,赋能生产。
声明
免责声明:基金投资有风险,过往业绩不代表未来表现。本内容仅为信息参考,不构成任何投资建议,投资者据此操作产生的盈亏均需自行承担。
更多推荐


所有评论(0)