项目简介
Finance Copilot MCP 是一个使用 Spring AI MCP Server Boot Starter 构建的 MCP 服务器,专注于个人财务数据分析。它通过 AI 将自然语言查询转换为 SQL,执行数据库操作,并提供财务洞察。
主要功能点
- 自然语言查询处理: 将用户提出的自然语言财务问题(如“本月总开销”)转换为可执行的 SQL 查询。
- SQL 查询生成与执行: 根据自然语言问题生成兼容 PostgreSQL 的 SQL 查询,并在数据库上执行,检索相关财务数据。
- 数据访问辅助: 提供数据库表结构和可用类别的列表,帮助 AI 更准确地理解数据模型和用户意图。
- 查询验证: 在执行前验证生成的 SQL 查询是否有效、格式正确且符合系统规则。
- 财务数据分析: 对查询结果进行处理,提供结构化的财务分析数据和洞察。
安装步骤
- 环境准备: 确保您的系统已安装 Java 21 或更高版本。
- 数据库设置: 部署一个 PostgreSQL 数据库。根据项目 README 中描述的 'Database Schema' 创建相应的表格结构(如果在 'application.properties' 中设置 'spring.profiles.active=local',则会自动创建)。
- 配置:
- 编辑项目的 'application.properties' 文件(或使用环境变量)。
- 配置数据库连接信息('spring.datasource.url', 'spring.datasource.username', 'spring.datasource.password')。
- 配置您的 OpenAI API 密钥('spring.ai.openai.api-key')。您也可以通过设置环境变量 'OPENAI_API_KEY' 提供此密钥。
- 确保 MCP 服务器已启用:'spring.ai.mcp.server.enabled=true'。
- 根据需要配置传输协议(本例默认使用 STDIO):'spring.ai.mcp.server.stdio=true'。
- 构建项目: 使用 Maven 或 Gradle 构建项目,生成可执行的 JAR 文件(例如:'finance-copilot-mcp-0.0.1-SNAPSHOT.jar')。
服务器配置
本 MCP 服务器设计为由兼容的 MCP 客户端(如 Claude Desktop)通过进程间通信启动。客户端需要知道如何启动服务器进程。典型的客户端配置包含服务器名称、启动命令及参数。以下是用于客户端配置的 JSON 示例结构(请根据您的实际环境填写路径和 API 密钥):
{ "mcpServers": { "finance-copilot-mcp": { // 这是一个唯一的服务器名称,客户端用它来引用服务器 "command": "java", // 启动服务器进程的命令 "args": [ // 传递给启动命令的参数列表 "-Dspring.ai.mcp.server.stdio=true", // 告诉 Spring Boot 使用 STDIO 作为 MCP 传输方式 "-Dspring.main.web-application-type=none", // 防止 Spring Boot 启动 Web 服务器,只作为后台服务 "-Dlogging.pattern.console=", // 清理控制台日志输出,避免干扰 MCP 通信 "-Dlogging.file.name=<您希望日志文件存放的路径>/finance-copilot-mcp.log", // 可选:指定服务器日志文件的路径 "-jar", "/您的项目绝对路径/target/finance-copilot-mcp-0.0.1-SNAPSHOT.jar" // 指向您构建生成的 JAR 文件的绝对路径 ], "env": { // 设置服务器进程所需的环境变量 "OPENAI_API_KEY": "<您的 OpenAI API 密钥>" // 提供 OpenAI API 密钥,供服务器内部使用 } } } }
请将示例中的占位符('<您希望日志文件存放的路径>/finance-copilot-mcp.log>' 和 '/您的项目绝对路径/target/finance-copilot-mcp-0.0.1-SNAPSHOT.jar>')替换为您的实际路径,并将 '<您的 OpenAI API 密钥>' 替换为您的 OpenAI API 密钥。
基本使用方法
- 按照上述步骤配置并构建 Finance Copilot MCP 服务器。
- 在您的 MCP 客户端(如 Claude Desktop)中,添加上述服务器配置。
- 启动 MCP 客户端。客户端将根据配置自动启动 Finance Copilot MCP 服务器。
- 在客户端界面,您可以向 AI 提问与个人财务相关的问题(例如:“看看我上个月在吃饭上的开销是多少?” 或 “列出我本周所有的收入交易”)。
- 客户端会将您的请求通过 MCP 协议发送到 Finance Copilot MCP 服务器。
- 服务器将利用其内部工具、OpenAI 模型和数据库执行分析,并将结果返回给客户端。
- 客户端会向您展示分析结果。
信息
分类
AI与计算