费用跟踪服务

一个基于FastMCP的个人费用管理服务器,支持完整的CRUD操作和货币转换功能,可与Claude Desktop或其他LLM客户端集成。

  • by i0Ta07
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 i0Ta07/MCP.ExpenseTracker

使用说明

MCP费用跟踪器

基于FastMCP的服务器,用于管理个人开支,具有完整的CRUD操作和货币转换支持。设计用于与Claude Desktop或其他LLM客户端集成。


特性

  • 增加支出 –记录费用,包括日期、金额、类别、子类别、描述和货币。
  • 列表类别 –检索所有唯一类别及其子类别(可选)。
  • 列出费用 –按金额、类别、子类别、日期范围或货币过滤费用。
  • 更新费用 –使用ID更新现有支出记录。
  • 删除费用 –按ID删除支出记录。
  • 获取费用 –按ID获取单个支出记录。
  • 货币兑换 –即时在支持的货币之间转换金额。
  • 类别资源 –动态检索预定义的费用类别和子类别。

支持的货币

INR, AED, CAD, EUR, MYR, SEK, USD, AUD, CHF, GBP, JPY, PHP, SGD, ZAR, BRL, CNY, HKD, MXN, SAR, THB

MCP检查员

数据库设置

  1. 启动SQLShell(psql)并以postgres身份登录

    psql
    
  2. 创建用户、数据库和权限。请更改密码。

    -- Create the user 
    CREATE USER expense_user WITH PASSWORD 'your_password';
    
    -- Create the database with this user as owner
    CREATE DATABASE expense_db OWNER expense_user;
    
    -- Connect to the new database
    \c expense_db
    
    -- Grant schema privileges (expense_user already owns the database, but this ensures they can create objects)
    GRANT ALL PRIVILEGES ON SCHEMA public TO expense_user;
    
    -- For future tables/sequences created by ANY user, grant access to expense_user
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO expense_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO expense_user;
    
  3. 克隆存储库

    git clone https://github.com/i0Ta07/MCP.ExpenseTracker
    
  4. 安装uv和同步依赖项。

    pip install uv
    uv sync
    

运行MCP服务器

  1. 创建.env文件。请确保更改密码。
DBNAME="expense_db"
USER="expense_user" 
PASSWORD="your_password" 
  1. 使用MCP检查器运行
uv run fastmcp dev main/main.py

与Claude整合

如果你想直接融入克劳德。不要创建.env文件,只需传递以下环境变量即可。在claude_desktop_config.json中添加以下配置。请确保更改密码。

{
  "mcpServers": {
      "Expense Tracker": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp,psycopg2-binary",
        "fastmcp",
        "run",
        "Absolute/path/to/your/main.py/file"
      ],
      "env": {
  	"DB_NAME": "expense_db",
  	"DB_USER": "expense_user",
  	"DB_PASSWORD": "your_password",
  	"DB_HOST": "localhost",
  	"DB_PORT": "5432"
      }
    }
  }
}

未来更新

  • 添加经常性费用表。
  • 为贷记或借记交易添加布尔列。
  • 将整个代码从同步转换为异步。
  • 添加身份验证,然后部署到云端。
  • 添加摘要功能。
  • 增加预算表(月度、季度、半年和年度)
  • 为本地服务器配置Docker。

致谢

建于 FastMCP