费用追踪服务

一个基于Model Context Protocol (MCP)的服务,通过自然语言对话帮助用户管理个人支出,支持记录、查询、汇总和更新费用。

  • by Khushi-c-sharma
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Khushi-c-sharma/expense-tracker-mcp-server

使用说明

费用追踪器MCP服务器

一个模型上下文协议(MCP)服务器,它使像Claude这样的AI助手能够通过自然对话管理您的个人开销。该服务器使用Python构建,利用 fastmcp 并且 uv。

特点/功能

  • 添加费用记录支出,包括金额、类别、日期和描述
  • 列表 & 筛选按类别和日期范围查看费用
  • 总结获取按类别分组的支出摘要
  • 更新费用修改现有的费用记录
  • 删除费用删除不需要的支出条目
  • 自然语言接口通过Claude以对话方式与您的支出数据进行互动

先决条件

  • Python 3.10或更高版本
  • 紫外线 包管理器

安装

# Clone the repository
git clone https://github.com/Khushi-c-sharma/expense-tracker-mcp-server.git
cd expense-tracker-mcp-server

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

配置

将服务器添加到您的Claude Desktop配置文件中:

MacOS(注:通常直接称为“Mac OS”,即“Mac操作系统”): ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/expense-tracker-mcp",
        "run",
        "expense-tracker"
      ]
    }
  }
}

使用示例

配置完成后,您可以通过Claude自然地与您的支出进行互动:

You: "Add expense 2632 spent yesterday for shopping dress for my convocation"
Claude: *Adds the expense with proper categorization*

You: "Show me all my expenses this month"
Claude: *Lists and summarizes your monthly expenses*

You: "How much did I spend on food in September?"
Claude: *Provides category-specific spending summary*

可用工具

add_expense

在数据库中添加一项新的支出。

  • 参数金额(必填)、类别(必填)、日期、描述、子类别

list_expenses

按类别和可选的日期范围列出费用。

  • 参数类别,开始日期,结束日期

summarize

在指定日期范围内按类别获取总支出。

  • 参数开始日期(必填)、结束日期(必填)、类别

update_expense

更新现有费用。

  • 参数费用ID(必填)、金额、类别、日期、描述、子类别

delete_expense

按ID删除一项支出。

  • 参数费用ID(必填)

数据库

费用存储在一个本地的SQLite数据库中(expenses.db) 具有以下模式:

CREATE TABLE expenses (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  amount REAL NOT NULL,
  category TEXT NOT NULL,
  subcategory TEXT,
  date TEXT NOT NULL,
  description TEXT
);

发展

# Run the server directly
uv run expense-tracker

# Run in development mode with auto-reload
uv run python src/expense_tracker/server.py

# Install new dependencies
uv add package-name

# Update dependencies
uv sync

项目结构

expense-tracker-mcp/
├── main.py                     # Main MCP server code
├── pyproject.toml              # Project configuration
├── uv.lock                     # Locked dependencies
├── expenses.db                 # SQLite database (created on first run)
└── README.md

用例

  • 个人财务追踪监控日常消费习惯
  • 预算管理按类别追踪支出,以确保不超出预算
  • 费用报告为税务或报销目的生成摘要
  • 购物追踪记录购买和主要支出情况
  • 财务分析分析随时间变化的支出模式

使用了(或“基于”)

做出贡献

欢迎贡献!请随时提交拉取请求。

  1. 克隆该仓库
  2. 创建你的特性分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 提交一个拉取请求(或:创建一个合并请求)

许可证

此项目遵循MIT许可协议,详情请参见LICENSE文件。

故障排除

服务器未出现在Claude桌面?

  • 确保路径中的(内容/设置等,根据上下文具体翻译) claude_desktop_config.json 是绝对且正确的
  • 配置更改后重启 Claude 桌面版
  • 检查Claude Desktop的日志以查找错误信息

数据库错误?

  • 确保目录可写
  • 删除 expenses.db 从头开始重建数据库

支持

如果您遇到任何问题或有任何疑问,请 打开一个问题(或议题) 在GitHub上。


用爱心打造,通过AI实现更佳的开销追踪