费用追踪服务器

一个基于MCP协议的个人费用追踪服务器,提供添加和列出费用的功能,并将数据存储在本地SQLite数据库中,适用于Cursor IDE等MCP兼容客户端。

  • by JAI0705
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 JAI0705/Money-Tracker-MCP

使用说明

<<<<<<<头

费用跟踪MCP服务器

用于跟踪个人支出的MCP(模型上下文协议)服务器。此服务器提供添加和列出费用的工具,并将其存储在本地SQLite数据库中。它旨在与Cursor IDE和其他MCP兼容客户端无缝协作。

📋 目录

✨ 特性

  • 添加费用:记录费用,包括日期、金额、类别、子类别和可选注释
  • 列出费用:从数据库中检索所有存储的费用
  • SQLite数据库:本地轻量级数据库存储(不需要外部数据库)
  • MCP集成:适用于Cursor IDE和其他MCP兼容客户端
  • FastMCP框架:基于FastMCP构建,可实现可靠的MCP服务器功能

📦 需求

  • Python 3.13或更高版本
  • pip(Python包管理器)

🚀 安装

  1. 克隆或导航到项目目录:

    cd "/home/jai/Desktop/Coding_Hub/Expense tracker MCP"
    
  2. 安装项目及其依赖项:

    pip install -e .
    

    这将安装:

    • fastmcp (MCP服务器框架)
    • 所有必需的传递依赖关系
  3. 验证安装:

    python main.py --help
    

    您应该看到FastMCP横幅和服务器信息。

🔧 Cursor IDE的设置

要将此MCP服务器与Cursor IDE一起使用,请执行以下操作:

  1. 创建或编辑光标MCP配置文件:

    地点: ~/.cursor/mcp.json

    添加以下配置:

    {
      "mcpServers": {
        "expense-tracker": {
          "command": "python",
          "args": ["/home/jai/Desktop/Coding_Hub/Expense tracker MCP/main.py"],
          "env": {}
        }
      }
    }
    

    注: 更新中的路径 args 以匹配您的实际项目位置。

  2. 重新启动光标:

    • 完全关闭光标
    • 重新打开光标
    • MCP服务器现在应该可用
  3. 验证连接:

    • 检查“费用跟踪器”是否出现在Cursor的MCP服务器列表中
    • 在可用工具部分查找MCP工具

💡 用法

设置后,您可以通过Cursor中的自然语言命令与费用跟踪器进行交互:

命令示例:

  • 添加费用:

    • “今天加上25.50美元的杂货费”
    • “2024-01-15在住房类别中记录100美元的租金支出”
    • “餐厅午餐加15.99美元,类别:食品,子类别:外出就餐”
  • 列出费用:

    • “让我看看我的所有开支”
    • “列出数据库中的所有费用”
    • “我有什么费用?”

🛠️ 可用工具

服务器提供两个主要的MCP工具:

1. add_expense

将新的支出条目添加到数据库中。

参数:

  • date (str,必填):费用日期(格式:YYYY-MM-DD)
  • amount (浮动,必填):费用金额
  • category (str,必填):费用类别(例如,“食品”、“交通”、“住房”)
  • subcategory (str,可选):更具体的类别(例如,“杂货”、“餐厅”)
  • note (str,可选):关于费用的附加说明

退货:

{
  "status": "ok",
  "id": 1
}

例子:

add_expense(
    date="2024-01-15",
    amount=25.50,
    category="food",
    subcategory="groceries",
    note="Weekly shopping"
)

2. list_expenses

从数据库中检索所有费用。

参数: 无

退货:

[
  {
    "id": 1,
    "date": "2024-01-15",
    "amount": 25.50,
    "category": "food",
    "subcategory": "groceries",
    "note": "Weekly shopping"
  },
  ...
]

📁 项目结构

Expense tracker MCP/
├── main.py                    # Main MCP server implementation
├── pyproject.toml            # Project configuration and dependencies
├── expense.db                # SQLite database (created automatically)
├── README.md                 # This file
├── MCP_Setup_Instructions.txt # Detailed setup instructions
└── expense_tracker_mcp.egg-info/  # Package metadata

🗄️ 数据库模式

SQLite数据库使用以下模式:

CREATE TABLE expenses (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    date TEXT NOT NULL,
    amount REAL NOT NULL,
    category TEXT NOT NULL,
    subcategory TEXT DEFAULT '',
    note TEXT DEFAULT ''
)

领域:

  • id:自动递增唯一标识符
  • date:费用日期(以文本形式存储)
  • amount:费用金额(实际/浮动)
  • category:主要费用类别(必填)
  • subcategory:可选子类别
  • note:可选附加注释

🔍 技术细节

  • 框架: FastMCP 2.12.4
  • 运输: STDIO(标准输入/输出)
  • 数据库: SQLite(本地文件: expense.db)
  • Python版本: 3.13+
  • 服务器名称: “费用跟踪器”
  • 协议: MCP(模型上下文协议)

服务器作为MCP客户端(如Cursor)的子进程运行,并使用MCP协议通过STDIO进行通信。

🐛 故障排除

服务器未出现在游标中

  1. 检查配置路径:

    • 验证中的路径 ~/.cursor/mcp.json 是正确的
    • 确保它指向的实际位置 main.py
  2. 验证Python安装:

    python --version
    

    应该显示Python 3.13或更高版本

  3. 重新安装依赖关系:

    pip install -e .
    
  4. 手动测试服务器:

    python main.py --help
    

    应无错误地显示FastMCP横幅

  5. 检查游标日志:

    • 在Cursor的开发人员控制台或日志中查找错误消息
    • 常见问题:路径错误、缺少依赖项、Python版本不匹配

数据库问题

  • 数据库文件(expense.db)首次使用时自动创建
  • 如果需要重置数据库,只需删除 expense.db 并重新启动服务器
  • 数据库与存储在同一目录中 main.py

权限错误

  • 确保您在项目目录中具有读/写权限
  • 数据库文件需要写入权限

📝 备注

  • 数据库存储在本地项目目录中
  • 所有费用在两次会议之间持续存在
  • 服务器在启动时自动初始化数据库
  • 日期格式应为YYYY-MM-DD(例如,“2024-01-15”)

🔄 未来的增强功能

未来版本的潜在功能:

  • 按日期范围筛选费用
  • 按类别筛选费用
  • 计算总数和统计数据
  • 将费用导出到CSV/JSON
  • 删除或更新现有费用
  • 预算跟踪和警报

📄 许可证

本项目按原样提供供个人使用。


有关详细的设置说明,请参阅 MCP_Setup_Instructions.txt.

=======

MCP货币跟踪服务器。

f0df9ea44fc4e8adac20e6f2cf40efee30b8132e