掘金 人工智能 15小时前
手搓两个 MCP Server,独立开发基金涨跌大模型分析工具
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一个基于大模型的基金分析工具网站,旨在帮助普通投资者更高效地理解基金的长期表现。该工具能够实时获取基金数据和影响其涨跌的新闻动态,并利用大模型进行通俗易懂的分析和对比。文章详细阐述了使用MCP(Model Context Protocol)作为数据接入方式的优势,并对比了MCP与RAG的区别,强调了MCP在数据实时性、结构化处理、可控性和准确性方面的优势。同时,文章也探讨了MCP的三种传输机制(Stdio、SSE、Streamable HTTP),并选择了Streamable HTTP作为首选。最终,通过接入Gemini-2.5-flash大模型和FastMCP框架,实现了基金分析网站的功能,并通过视频演示了其在分析基金涨跌原因和相关新闻方面的能力,展现了大模型在赋能投资决策方面的潜力。

💡 **大模型驱动的基金分析工具提升投资效率**:该网站利用大模型技术,能够实时获取基金的历史表现数据和可能影响其涨跌的新闻信息,并通过通俗易懂的方式进行分析和对比,极大地简化了投资者梳理复杂数据和图表的耗时过程,从而显著提升了个人投资效率。

✅ **MCP协议在基金数据接入中的优势**:文章重点论述了MCP(Model Context Protocol)相比RAG(Retrieval-Augmented Generation)在基金实时分析中的优越性。MCP在数据实时性、结构化数据处理(如基金净值)、延迟控制、上下文准确性和可控性方面表现更佳,能够直接将结构化数据注入大模型,减少幻觉,提供更可靠的分析结果。

🚀 **Streamable HTTP作为首选传输机制**:在MCP的传输机制中,本文对比了Stdio、SSE和Streamable HTTP。考虑到云原生和高并发场景的需求,Streamable HTTP因其双向异步通信、高并发能力和基于HTTP协议的生态优势,被选为开发MCP Server时的首选传输方式。

🧠 **Gemini-2.5-flash与FastMCP的集成**:该工具选用了Google的Gemini-2.5-flash作为基座大模型,并结合FastMCP框架进行开发。通过将MCP Server Context作为Function Tool传入Gemini,并将其能力接入Flask Application,最终实现了网站的后端服务,前端则使用Next.js进行开发,实现了数据获取、模型分析到界面展示的完整流程。

📈 **实际应用中的分析与价值**:网站演示展示了工具如何准确分析基金的涨跌情况,并结合相关新闻(如基建项目的正面影响或半导体行业的动态)解释其原因。这种高效明了的分析能力,能够帮助投资者节省大量资料搜集时间,并做出更明智的投资决策,体现了大模型赋能生产力的价值。

背景

近年来,越来越多的投资者开始关注基金的长期表现,而不仅仅是短期涨跌。

对于普通用户来说,理解净值曲线、比较历史回撤、分析行业走势,往往需要查阅大量图表与数据,这不仅耗时耗力,也容易忽视关键信息。

因此,构建一个能自动梳理历史业绩、辅助解读走势的网站,可以极大提升个人投资效率。

借助周末的时间,我开发出了一个基于大模型的基金分析工具网站,可以实时对基金历史表现进行通俗易懂的分析与对比。

如上图所示,输入基金代码,选择时间段,点击分析,大模型就能自动获取指定数据进行分析。

选择 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 开发框架上,我选择的是 上万星的 FastMCP ,

github.com/jlowin/fast…

对获取基金净值的数据和获取相关新闻数据,分别开发一个 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 启动前端,就看到了文章开篇所见到的网站界面

网站使用演示

可以选择任意基金代码和时间段,分析涨跌情况和可能的原因,

也可以将分析报告一键分享给好友查看,

具体欢迎查看以下视频:

cloud.tencent.com/developer/v…

在输入基金代码和时间段之后,分析工具先是调用的 Fund-MCP Server,获取了指定基金该时间段内的涨跌情况,并进行了总结分析

然后调用 News-MCP Server,准确解析出了该时段内和该基金有关的新闻动态,并且就具体新闻分析了对基金涨跌异动可能的影响

可以从视频看到,无论是输入的第一支基建基金,工具积极肯定了近期的雅鲁藏布江水电项目对该基金的正面影响

还是第二支芯片半导体基金,工具就涨跌的各个时段,分别做了相关新闻动态和涨跌趋势的正负相关性

工具高效明了,可以省去很多资料搜集时间,大模型改变生活,赋能生产。

声明

免责声明:基金投资有风险,过往业绩不代表未来表现。本内容仅为信息参考,不构成任何投资建议,投资者据此操作产生的盈亏均需自行承担。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

基金分析 大模型 MCP AI赋能 投资工具
相关文章