交易追踪系统

一个基于FastMCP构建的个人财务管理服务器,提供安全的交易追踪、高级分析和报告功能,适用于个人和团队使用。

  • by Poushali-02
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Poushali-02/Expense-Tracker-MCP-Server

使用说明

交易跟踪器MCP服务器

使用FastMCP(模型上下文协议)构建的用于Claude Desktop集成的全面个人财务管理系统。此服务器提供安全、经过身份验证的交易跟踪,并具有高级分析和报告功能。

特性

  • 🔐 安全认证:基于JWT的密码哈希用户身份验证
  • 💰 双重交易类型:跟踪支出和收入(贷项)
  • 📊 高级分析:类别细分、日期筛选和财务摘要
  • 🔄 经常性交易:支持每日、每周、每月和每年的频率
  • 🏷️ 灵活的分类:25+预定义类别,带有自定义标签
  • 📅 日期范围筛选:按自定义时间段分析交易
  • 📈 财务报告:月度报告、余额计算和支出洞察
  • 🔒 用户隔离:每个用户只看到自己的数据
  • ⚡ FastMCP集成:无缝集成Claude桌面

本地安装指南

如果要在本地使用此服务器,请克隆此存储库并按照所示进行设置。

先决条件

  • Python 3.13+
  • 紫外线
  • PostgreSQL 15+
  • Claude Desktop(用于MCP集成)

安装

确保你的系统中安装了紫外线。该系统是使用紫外线构建的。 要安装紫外线,请使用-

pip install uv
  1. 克隆存储库:

    git clone https://github.com/Poushali-02/Expense-Tracker-MCP-Server.git
    cd Expense-Tracker-MCP-Server
    
  2. 安装依赖项:

    uv venv
    .venv\Scripts\activate # windows
    source .venv/bin/activate # macOs / Linux
    
    uv pip install -r requirements.txt
    
  3. 检查并运行MCP服务器:

    uv run fastmcp dev main.py  # this gives the mcp inspector tool to check all the functions
    uv run fastmcp run main.py  # this runs the server
    

Claude桌面配置

由于您安装了uv,运行此命令将把服务器添加到您的Claude Desktop:

uv run fastmcp install claude-desktop main.py

或者手动将其添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "Expense Tracker MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "absolute\\path\\to\\ExpenseTrackerMCP",
        "run",
        "--with",
        "fastmcp",
        "fastmcp",
        "run",
        "main.py"
      ],
      "env": {},
      "transport": "stdio",
      "type": null,
      "cwd": null,
      "timeout": null,
      "description": null,
      "icon": null,
      "authentication": null
    }
  }
}

如何访问claude_desktop_config.json:

  1. 打开克劳德桌面
  2. 点击您的个人资料(右下角)→ 设置
  3. 点击侧边栏中的“开发人员”
  4. 点击“编辑配置”在编辑器中打开JSON文件

远程服务器设置指南

此服务器已使用部署 fastmcp云 有关设置,请参阅此部分。

claudepro用户:安装指南

如果你有Claude Pro帐户,事情就很容易了。

  • 只需转到设置(从您的个人资料名称)
  • 点击连接器
  • 点击“添加自定义连接器”
  • 在弹出窗口中添加一个名称(例如:“交易跟踪器”)
  • 在URL部分添加此URL-https://transaction-tracker.fastmcp.app/mcp
  • 重新启动克劳德

CLAUDE免费用户

如果你是克劳德免费计划用户(像我一样)。按照以下步骤操作

  1. 打开Claude开发人员设置
  • 打开克劳德桌面
  • 点击您的个人资料(右下角)→ 设置
  • 点击侧边栏中的“开发人员”
  • 点击“编辑配置”在编辑器中打开JSON文件
  1. 将此json添加到文件中:
{
  "mcpServers": {
    "Transaction Tracker": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://transaction-tracker.fastmcp.app/mcp"
      ]
    }
  }
}

特性

认证

用户注册

使用Claude客户端注册 register_user 工具(用户名、密码、电子邮件、全名)。

用户登录

使用Claude客户端 login_user 获取JWT令牌的工具(用户名、密码)。

使用经过身份验证的工具

以下是此服务器目前可用的工具列表。

身份验证和用户管理

  1. 注册用户 ✅ - 注册新用户
  2. 登录用户 ✅ - 认证
  3. 验证令牌 ✅ - 令牌验证
  4. 更改密码 ✅ - 密码更改

事务管理

  1. addTransaction ✅ - 将事务添加到用户的数据库中
  2. get_all_交易 ✅ - 检索所有交易记录
  3. 左 ✅ - 更新交易记录
  4. 删除交易 ✅ - 删除交易记录

交易检索与分析

  1. get_selectd_transactions ✅ - 检索日期范围内的交易记录(例如:2025-12-10到2025-12-15)
  2. get_total_transactions ✅ - 计算某一类别的总交易记录
  3. get_top_transaction_类别 ✅ - 确定前5项支出和贷项

财务摘要与分析

  1. get_summary ✅ - 生成包含类别细分的综合分析
  2. 余额 ✅ - 计算净余额
  3. 月度报告 ✅ - 生成包含汇总统计信息的月度报告(例如:2025年12月)

事务管理

事务类型

  • 花费:花费的钱(借记)
  • 信用:收到的钱(收入/贷项)

状态值

  • 完成:交易已完成
  • 待定:交易正在进行中
  • 取消:交易已取消

频率选项

  • 无:一次性交易
  • 每日的:每天重复
  • 每周的:每周重复
  • 每月:每月重复一次
  • 每年的:每年重复一次

支持的类别

  • 住房和维护(租金、水电费、维修)
  • 交通(燃料、公共交通、汽车维修)
  • 杂货和食品(杂货、外出就餐、餐馆)
  • 健康与健身(医疗保健、健身房、运动)
  • 娱乐休闲(电影、游戏、爱好)
  • 教育与自我发展(课程、书籍、培训)
  • 保险(健康、汽车、家庭保险)
  • 投资与金融(投资、储蓄、银行手续费)
  • 基本服务(互联网、电话、订阅)
  • 还有15+个类别。..

安全功能

  • 密码散列: 用盐弹加密
  • JWT身份验证: 基于令牌的安全访问
  • 用户隔离: 数据库级用户数据分离
  • 令牌到期时间: 24小时代币有效期
  • 密码要求: 强密码验证
  • 输入验证: 全面的参数验证

依赖项

  • fastmcp>=2.13.3
  • asyncpg>=0.31.0
  • 加密>=4.0.0
  • pyjwt>=2.8.0
  • python dotenv>=1.0.0

支持

如有疑问或问题:

  • 在GitHub上打开一个问题

  • 查看此README中的文档

  • 查看代码注释以了解实现细节

  • 请不要评判