Finance Intelligence Mcp

io.github.Ronit-019由 GitHub 账号 Ronit-019 发布v1.0.0更新于 Oct 24, 2026

Personal finance MCP server with budgeting, analytics, and PostgreSQL.

发布方自己的服务:Finance Foundation

已验证STDIO仅桌面数据库金融数据与分析

概览

AI 生成的概览

一个本地 MCP 服务器,让 AI 助手在你自己的 PostgreSQL 数据库中记录、修改和分析个人支出与预算。

可以做什么
新增、列出、修改和批量删除支出记录,列表过长时导出为 Excel 表格。创建、列出、修改和删除总体、分类及子分类预算。按分类、子分类、备注或日期,以周、月、年为单位汇总支出。对比预算与实际支出,并生成 Matplotlib 折线图或柱状图展示支出历史。依据六项个人财务指标计算财务健康评分。
适用场景
适合将个人财务数据存放在 PostgreSQL 数据库中的用户,希望在桌面 MCP 客户端里通过自然语言记录支出、查看预算执行情况、获取支出明细与图表,或查看财务健康评分。
运行要求
以 PyPI 包(finance-intelligence-mcp)形式通过 stdio 在本地运行,需要 Python 3.10 至 3.12,可用 uv 或 pip 安装。需要一个 PostgreSQL 12 及以上版本的数据库(如 Supabase、RDS 或本地实例),并通过必需的环境变量 DATABASE_URL 提供连接。文档面向 Claude Desktop、Cursor 等桌面 MCP 客户端。
安装前请注意
DATABASE_URL 是包含数据库密码的机密连接字符串,请勿写入共享配置或日志。服务器可写入并永久删除支出和预算记录,批量删除工具按筛选条件执行,运行前应确认目标。财务数据保存在你自己的数据库中;README 称不上传遥测数据,也不使用外部分析服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Finance Intelligence Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Finance Intelligence MCP Server

[Python Version] [FastMCP] [License: MIT] [MCP Specification] [Database]

Finance Intelligence MCP is a production-ready Model Context Protocol (MCP) server that enables AI assistants (like Claude, Cursor, and others) to securely manage and analyze personal finances through natural language.

Released under the MIT License and designed to be extended with additional finance tools.


🔍 Overview

Unlike standard cloud-based personal finance apps, Finance Intelligence MCP keeps all financial data under your absolute control.

  • No Accounts / Subscriptions: Direct connection to your private database with zero SaaS dependencies.
  • Zero Telemetry: Your financial logs never go to external analytic APIs.
  • Full AI Context: Your AI assistant can query history, check budget status, make charts, and answer financial questions instantly.

🛠️ Architecture

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

✨ Features

  • Expense Operations: Create, view, edit, and bulk-delete expense entries.
  • Multi-level Budgeting: Set limits for overall spending, specific category thresholds, or down to nested subcategory targets.
  • Analytics Breakdowns: Aggregate expenses by category, subcategory, notes, or dates over weekly/monthly/yearly time blocks.
  • Visual Charts: Exposes tools that generate Matplotlib line/bar charts of historical spending automatically.
  • Excel Spreadsheet Export: Truncates long list responses and generates download-ready Excel spreadsheets for massive datasets.
  • Financial Health Scoring: Calculates a deterministic financial health score grade based on 6 core personal finance KPIs.

⚙️ Requirements & Compatibility

  • Transport: stdio
  • Supported Platforms:
    • Windows
    • macOS
    • Linux
  • Python Compatibility: Python 3.10, 3.11, and 3.12 (Tested)
  • Database: PostgreSQL 12+ (e.g. Supabase, RDS, or local Postgres)
  • Supported Clients:
    • Claude Desktop
    • Cursor
    • Compatible with any MCP client supporting stdio.

💾 Installation & Setup

1. Quick Setup (Shortcut)

If you have uv installed, get started in 2 lines:

bash
git clone https://github.com/Ronit-019/Finance-Intelligence-MCP.gitcd Finance-Intelligence-MCPuv sync

2. Detailed Installation

Step A: Get a PostgreSQL Connection URL

The easiest, free option is Supabase:

  1. Go to Supabase and create a free project.
  2. Go to Project Settings (gear icon) > Database.
  3. Under Connection string, select URI and copy the string.
    • Example: postgresql://postgres.[your-project-ref]:[your-password]@aws-0-us-east-1.pooler.supabase.com:5432/postgres
    • (Replace [your-password] with your database password).
Step B: Clone the Repository

Clone the codebase to a directory on your machine:

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

Copy the absolute path of this directory (e.g. C:/Users/Admin/Desktop/Finance-Intelligence-MCP). Note: Always use forward slashes (/) for paths in JSON configs.

Step C: Install Dependencies

If you do not have uv installed, install from the project metadata:

bash
pip install -e .

3. Client Integration

Claude Desktop Setup
  1. Open your Claude configuration file (claude_desktop_config.json):
    • Windows: Press Win + R, paste %APPDATA%\Claude\claude_desktop_config.json and press Enter.
    • macOS: Paste ~/Library/Application Support/Claude/claude_desktop_config.json in Finder's Go to Folder.
  2. Add this entry to mcpServers:
json
{  "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. Save and completely restart Claude Desktop.
Cursor IDE Setup
  1. Go to Settings > Features > MCP.
  2. Click + Add New MCP Server:
    • Name: Finance Intelligence
    • Type: command
    • Command:
      bash
      uv --directory "REPLACE_WITH_ABSOLUTE_PATH_TO_CLONED_DIRECTORY" run python main.py
  3. Click + Add Env Var:
    • Key: DATABASE_URL
    • Value: REPLACE_WITH_YOUR_SUPABASE_CONNECTION_STRING
  4. Click Save and refresh.

💬 Example Prompts

Once configured, try talking to your AI assistant:

  • "Add ₹250 for lunch today under food."
  • "Show my spending breakdown this month."
  • "Generate an Excel report of all my expenses between May and July."
  • "Am I exceeding my monthly budget limit?"
  • "How much did I spend on dining out this week?"
  • "Calculate my monthly financial health score and give me feedback."
  • "Generate a spending chart for the last 30 days."

🛠️ Available Tools

The server registers 12 core tools on the client:

Tool NameParametersDescription
add_expensedate, amount, category, subcategory, noteInserts a new expense transaction.
list_expensesstart_date, end_dateLists transactions, exports to Excel if count > 50.
expense_breakdownstart_date, end_date, group_by, breakdown, category, subcategoryAggregates spending sums and counts.
delete_expensesexpense_ids, start_date, end_date, category, subcategoryDeletes expenses matching filters.
update_expensesexpense_ids, filter_..., date, amount, category, subcategory, noteEdits expense records.
create_budgetbudget_type, amount, period, start_date, end_date, category, subcategory, budgetsRegisters new spending limits.
list_budgetsbudget_type, category, subcategory, periodReturns registered budgets.
update_budgetsbudget_ids, filter_..., budget_type, amount, period, start_date, end_date, category, subcategoryModifies active budgets.
delete_budgetsbudget_ids, start_date, end_date, budget_type, category, subcategory, periodDeletes target budget limits.
compare_budget_vs_expensesreference_date, budget_type, category, subcategory, periodCompares budget vs actual spending.
expense_summaryperiod, group_by, category, subcategory, start_date, end_dateGenerates a Matplotlib line/bar chart.
financial_health_scorereference_monthEvaluates 6 key personal finance indicators.

💡 Troubleshooting

1. uv: command not found

If the client cannot locate uv, update your config file to run standard Python:

  • Ensure you ran pip install -e . inside the repository.
  • Update config:
json
"finance-intelligence": {  "command": "python",  "args": [    "REPLACE_WITH_ABSOLUTE_PATH_TO_CLONED_DIRECTORY/main.py"  ],  "env": {    "DATABASE_URL": "REPLACE_WITH_YOUR_SUPABASE_CONNECTION_STRING"  }}

2. Invalid DATABASE_URL / PostgreSQL Connection Errors

  • Make sure you replaced [your-password] with your actual database password in the Supabase URI string.
  • Ensure there are no surrounding spaces or special characters in the URL string.
  • Verify your Supabase instance is active and not paused.

3. Claude Not Detecting the Server

  • Double check that the folder paths in claude_desktop_config.json use forward slashes (/), even on Windows.
  • Check the logs at %APPDATA%\Claude\logs\mcp*.log (Windows) or ~/Library/Logs/Claude/mcp*.log (macOS) to see the exact startup error.

📁 Repository Structure

├── 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

🤝 Contributing

Contributions, bug reports, and feature requests are welcome! Please open an issue before submitting major changes or pull requests.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


👨‍💻 Author

Ronit Rajput

来源:README.md,提交 af79c0c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Finance 集成