mcpField
F
finance-intelligence-mcp

finance-intelligence-mcp

本地服务
github.com/Ronit-019金融数据04 周前更新

关于 finance-intelligence-mcp

finance-intelligence-mcp 是基于 PostgreSQL 的 MCP 服务,可通过 AI 客户端管理和分析个人财务。它提供支出与预算操作、图表报告和财务健康评分,数据保存在私有数据库中。

主要功能

  1. 01创建、编辑、查看和删除支出
  2. 02设置预算并对比实际支出
  3. 03按类别和日期汇总支出
  4. 04生成支出图表和 Excel 导出
  5. 05计算财务健康评分

适用场景

  1. 01记录并检查个人支出
  2. 02核对实际支出与预算
  3. 03导出指定日期范围的支出数据
  4. 04通过图表和指标查看支出趋势

MCP 相关

通过 stdio 向 MCP 客户端提供 12 个财务工具,涵盖支出、预算、分析、制图和评分。它连接 PostgreSQL 存储财务数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ronit-019-finance-intelligence": {
"command": "uvx",
"args": [
"finance-intelligence-mcp"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}
启动命令uvx finance-intelligence-mcp
需要配置的环境变量
DATABASE_URL密钥PostgreSQL connection string.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifinance-intelligence-mcp1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

财务智能 MCP 服务

Python Version FastMCP License: MIT MCP Specification Database

Finance Intelligence MCP 是一个可用于生产环境的 Model Context Protocol(MCP) 服务,可让 AI 助手(如 Claude、Cursor 等)通过自然语言安全地管理和分析个人财务。

本项目采用 MIT License 发布,并旨在通过添加更多财务工具进行扩展。


🔍 概述

与标准的云端个人理财应用不同,Finance Intelligence MCP 让你完全掌控所有财务数据。

  • 无需账户 / 订阅:直接连接到你的私人数据库,无需依赖任何 SaaS。
  • 零遥测:你的财务记录绝不会发送到外部分析 API。
  • 完整的 AI 上下文:你的 AI 助手可以查询历史记录、查看预算状态、生成图表,并即时回答财务问题。

🛠️ 架构

   ┌────────────────────────────────┐
   │           MCP Client           │
   │  (Claude Desktop, Cursor, etc) │
   └───────────────┬────────────────┘
                   │
                   │ (STDIO Transport Protocol)
                   ▼
   ┌────────────────────────────────┐
   │  Finance Intelligence Server   │
   │           (Local)              │
   └───────────────┬────────────────┘
                   │
                   │ (Direct SQL Pool Connection)
                   ▼
   ┌────────────────────────────────┐
   │       PostgreSQL Database      │
   │ (Supabase, Local, RDS, etc)    │
   └────────────────────────────────┘

✨ 功能

  • 支出操作:创建、查看、编辑和批量删除支出条目。
  • 多级预算:为 overall 支出设置限额,为特定 category 设置阈值,也可细化至嵌套的 subcategory 目标。
  • 分析细分:按类别、子类别、备注或日期汇总支出,并按周 / 月 / 年划分时间段。
  • 可视化图表:提供可自动生成历史支出 Matplotlib 折线图 / 柱状图的工具。
  • Excel 电子表格导出:截断较长的列表响应,并为大型数据集生成可供下载的 Excel 电子表格。
  • 财务健康评分:根据 6 项个人理财核心 KPI 计算确定性的财务健康等级评分。

⚙️ 要求与兼容性

  • 传输方式:stdio
  • 支持的平台:
    • Windows
    • macOS
    • Linux
  • Python 兼容性:Python 3.10、3.11 和 3.12(已测试)
  • 数据库:PostgreSQL 12+(例如 Supabase、RDS 或本地 Postgres)
  • 支持的客户端:
    • Claude Desktop
    • Cursor
    • 兼容所有支持 stdio 的 MCP 客户端。

💾 安装与设置

1. 快速设置(快捷方式)

如果已安装 uv,只需 2 行即可开始:

git clone https://github.com/Ronit-019/Finance-Intelligence-MCP.git
cd Finance-Intelligence-MCP
uv sync
2. 详细安装
步骤 A:获取 PostgreSQL 连接 URL

最简单的免费选项是 Supabase:

  1. 前往 Supabase 并创建一个免费项目。
  2. 前往 Project Settings(齿轮图标)> Database。
  3. 在 Connection string 下选择 URI,然后复制字符串。
    • 示例:postgresql://postgres.[your-project-ref]:[your-password]@aws-0-us-east-1.pooler.supabase.com:5432/postgres
    • (将 [your-password] 替换为你的数据库密码)。
步骤 B:克隆代码库

将代码库克隆到计算机上的一个目录:

git clone https://github.com/Ronit-019/Finance-Intelligence-MCP.git
cd Finance-Intelligence-MCP

复制该目录的绝对路径(例如 C:/Users/Admin/Desktop/Finance-Intelligence-MCP)。 注意:在 JSON 配置中,路径始终使用正斜杠(/)。

步骤 C:安装依赖项

如果尚未安装 uv,请根据项目元数据进行安装:

pip install -e .

3. 客户端集成
Claude Desktop 设置
  1. 打开 Claude 配置文件(claude_desktop_config.json):
    • Windows:按 Win + R,粘贴 %APPDATA%\Claude\claude_desktop_config.json,然后按 Enter。
    • macOS:在 Finder 的“前往文件夹”中粘贴 ~/Library/Application Support/Claude/claude_desktop_config.json。
  2. 将此条目添加到 mcpServers 中:
{
  "mcpServers": {
    "finance-intelligence": {
      "command": "uv",
      "args": [
        "--directory",
        "REPLACE_WITH_ABSOLUTE_PATH_TO_CLONED_DIRECTORY",
        "run",
        "python",
        "main.py"
      ],
      "env": {
        "DATABASE_URL": "REPLACE_WITH_YOUR_SUPABASE_CONNECTION_STRING"
      }
    }
  }
}
  1. 保存并彻底重启 Claude Desktop。
Cursor IDE 设置
  1. 前往 Settings > Features > MCP。
  2. 点击 + Add New MCP Server:
    • Name:Finance Intelligence
    • Type:command
    • Command:
      uv --directory "REPLACE_WITH_ABSOLUTE_PATH_TO_CLONED_DIRECTORY" run python main.py
      
  3. 点击 + Add Env Var:
    • Key:DATABASE_URL
    • Value:REPLACE_WITH_YOUR_SUPABASE_CONNECTION_STRING
  4. 点击 Save 并刷新。

💬 示例提示词

配置完成后,试着与 AI 助手对话:

  • “今天午餐花了 ₹250,记在餐饮类别下。”
  • “显示我本月的支出明细。”
  • “生成一份 5 月至 7 月所有支出的 Excel 报告。”
  • “我是否超出了每月预算上限?”
  • “我这周外出就餐花了多少钱?”
  • “计算我的月度财务健康评分并给出反馈。”
  • “生成过去 30 天的支出图表。”

🛠️ 可用工具

服务会向客户端注册 12 个核心工具:

工具名称参数描述
add_expensedate、amount、category、subcategory、note插入一笔新的支出交易。
list_expensesstart_date、end_date列出交易;若数量 > 50,则导出为 Excel。
expense_breakdownstart_date、end_date、group_by、breakdown、category、subcategory汇总支出金额和笔数。
delete_expensesexpense_ids、start_date、end_date、category、subcategory删除符合筛选条件的支出。
update_expensesexpense_ids、filter_...、date、amount、category、subcategory、note编辑支出记录。
create_budgetbudget_type、amount、period、start_date、end_date、category、subcategory、budgets登记新的支出限额。
list_budgetsbudget_type、category、subcategory、period返回已登记的预算。
update_budgetsbudget_ids、filter_...、budget_type、amount、period、start_date、end_date、category、subcategory修改有效预算。
delete_budgetsbudget_ids、start_date、end_date、budget_type、category、subcategory、period删除目标预算限额。
compare_budget_vs_expensesreference_date、budget_type、category、subcategory、period比较预算与实际支出。
expense_summaryperiod、group_by、category、subcategory、start_date、end_date生成 Matplotlib 折线图或柱状图。
financial_health_scorereference_month评估 6 项个人理财关键指标。

💡 故障排除

1. uv: command not found

如果客户端无法找到 uv,请更新配置文件以运行标准 Python:

  • 确保已在仓库内运行 pip install -e .。
  • 更新配置:
"finance-intelligence": {
  "command": "python",
  "args": [
    "REPLACE_WITH_ABSOLUTE_PATH_TO_CLONED_DIRECTORY/main.py"
  ],
  "env": {
    "DATABASE_URL": "REPLACE_WITH_YOUR_SUPABASE_CONNECTION_STRING"
  }
}
2. 无效的 DATABASE_URL / PostgreSQL 连接错误
  • 确保已在 Supabase URI 字符串中将 [your-password] 替换为实际的数据库密码。
  • 确保 URL 字符串前后没有空格,也不含特殊字符。
  • 确认 Supabase 实例处于活动状态且未暂停。
3. Claude 未检测到服务
  • 仔细检查 claude_desktop_config.json 中的文件夹路径是否使用正斜杠(/),即使是在 Windows 上也是如此。
  • 查看 %APPDATA%\Claude\logs\mcp*.log(Windows)或 ~/Library/Logs/Claude/mcp*.log(macOS)中的日志,了解确切的启动错误。

📁 仓库结构

├── src/                       # Helper packages
│   ├── __init__.py
│   ├── budget.py              # Budget database operations
│   ├── analytics.py           # Breakdown aggregations & Matplotlib routines
│   └── health.py              # KPIs and financial health calculator
├── main.py                    # FastMCP Server application
├── categories.json            # Category mapping catalog
├── pyproject.toml             # Dependencies
├── LICENSE                    # MIT License file
└── README.md                  # This file

🤝 参与贡献

欢迎贡献代码、报告 Bug 和提出功能请求! 提交重大更改或拉取请求前,请先创建一个 issue。


📄 许可证

本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。


👨‍💻 作者

Ronit Rajput

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。