【全栈实战】Spring AI + MCP:手把手教你实现“指数基金实时估值”与 AI 全链路观测系统

张开发
2026/5/4 11:01:07 15 分钟阅读

分享文章

【全栈实战】Spring AI + MCP:手把手教你实现“指数基金实时估值”与 AI 全链路观测系统
前言想在盘中随时看到自己持仓组合的实时估值而不是等到深夜才看净值更新 同时作为开发者在接入大模型、MCP 工具和向量库后如何一眼看清Token 消耗、响应时长、Tool 调用耗时做到可观测、可调优本文将从一个指数基金估值实时计算的需求出发串联MCP 工具、Prometheus 指标与 Grafana 仪表盘讲清楚如何构建一套工业级的金融 AI 助手。一、 核心故事指数基金估值为何能实时计算1.1 为什么指数基金可以“盲拆”估值与主动基金经理频繁调仓不同指数基金或 ETF的持仓高度透明且被动跟踪。 只要获取到对应指数的实时涨跌幅就能通过以下公式高精度还原当前估值1.2 MCP 在其中的关键角色在本项目中MCP Server负责数据采集与逻辑计算的核心工作提供行情类 Tool定义了hs300Index、csi930713等工具实时从新浪行情接口拉取最新价与涨跌幅。持久化持仓数据在 MySQL 的index_position表中存储「指数代码 → 持仓金额」。逻辑计算与打点内置IndexMetricsCollector每 10 秒读取持仓并结合 Tool 抓取的实时行情算出估值再通过Micrometer转换成 Prometheus 指标二、 观测神器从金融行情到 AI 调用的全方位监控项目预置了两大核心仪表盘让后端数据流向清晰可见。2.1 「MCP 指数行情」仪表盘投资动态实时掌控该面板直接从 Prometheus 读取指标实现以下可视化功能持仓估值表实时展示各指数的持仓金额与当前估值并自动算出。趋势曲线展示三大指数沪深 300、人工智能、中证 500的最新价与涨跌幅实时波动曲线。2.2 「AI 调用观测」仪表盘性能调优不再黑盒针对Streaming AI Service的调用过程我们可以监控Token 消耗按Input/Output/Total维度实时统计精准监控成本。响应时长拆解Chat/Advisor的平均与最大响应时间判断系统瓶颈。工具与向量库耗时实时展示 MCP Tool如查询行情和向量库检索的 MAX 耗时趋势快速定位慢调用。三、 智能交互你的金融 AI 助手能聊什么得益于 MCP 协议将大模型与实时数据、监控指标打通你的 AI 助手可以处理复杂的实时请求行情分析“总结今日人工智能指数的表现。”AI 自动调用行情 Tool 获取数据并分析持仓诊断“我现在的持仓里哪个指数收益最好”AI 触发 MCP 逻辑对比 MySQL 持仓与实时估值四、 技术实现项目架构与部署4.1 整体架构组件项目通过 Docker Compose 一键编排包含以下核心模块mcp-server (8001)基于 Spring AI MCP 构建提供 Tools 接口依赖 MySQL 存储持仓。streaming-ai-service (8080)流式对话主应用连接 MCP 使用其 Tools依赖 MongoDB 存储会话记忆。监控全家桶Prometheus 采集指标Grafana 负责仪表盘展示。4.2 部署方式Docker Compose 一键启动为了方便开发者快速上手项目采用了全容器化部署本地构建需先通过mvn package将mcp-server与streaming-ai-service打成可执行 jar 包。镜像编排由 Docker Compose 统一构建镜像并启动包含 MySQL、MongoDB、Prometheus、Grafana 在内的全量服务。指标采集配置在prometheus.yml中预配置了对my-mcp-server:8001和streaming-ai-service:8080的自动抓取任务。开箱即用Grafana 通过provisioning机制自动挂载数据源与 Dashboards 目录。 只要服务启动访问 3000 端口即可直接看到「MCP 指数行情」与「AI 调用观测」面板。结语整条故事线可以概括为用 MCP 侧的行情 Tool 和持仓数据算估值通过指标暴露给监控系统最后由 AI 助手提供自然的交互入口。这套方案不仅解决了“基金实时估值”的痛点更为构建可观测、可调优的工业级 AI 应用提供了一个完整模版。

更多文章