个人支出追踪服务器

一个基于模型上下文协议(MCP)的个人支出追踪和管理服务器,通过自然语言对话帮助用户记录日常支出、管理收入并获得消费模式洞察。

  • by GenAIwithMS
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 GenAIwithMS/Expense-tracker-MCP

使用说明

费用追踪器MCP服务器

一个用于个人支出追踪与管理的模型上下文协议(MCP)服务器。通过与您的AI助手进行自然语言对话,追踪您的日常支出、管理收入/薪水,并深入了解您的消费模式。

特点/特性

  • 💰(钱的符号,无具体中文翻译,可理解为“钱”或保持原样表示货币) 费用管理添加、编辑、删除和列出按类别和子类别划分的费用
  • 💵(表示美元或货币符号) 收入追踪记录薪资及其他收入来源
  • 📊(表格/数据图表) 智能摘要获取按类别和日期范围划分的支出明细
  • 🏷️(标签) 内置分类功能预定义类别,含子类别以实现详细追踪
  • 📝 翻译成中文是:📝(此表情符号本身无特定文字含义,可理解为“记录”或“笔记”的示意,具体翻译需结合上下文) 自定义备注为任何交易添加备注,以便更好地了解上下文
  • 💾 磁盘 本地存储所有数据均存储在本地的SQLite数据库中
  • 📈 表示“上扬趋势”或“上升的图表/趋势线”。 薪资汇总保存自定义财务摘要以供参考

安装

先决条件

  • Python 版本 >= 3.13
  • 紫外线 (推荐的包管理器)

如果你没有 uv,使用以下命令进行安装:

pip install uv

设置

克隆仓库:

git clone https://github.com/genaiwithms/expense-tracker-mcp.git
cd expense-tracker-mcp

安装依赖项:

uv add fastmcp

运行服务器:

python main.py

使用内置类别

我们提供了内置类别,以防止错误信息和重复(例如,Claude可能会将“Food”和“Dining”作为两个独立的类别)。使用我们的内置类别可以确保您的费用追踪具有一致性和准确性。

如何在Claude中使用内置分类:

  1. 点击附加文件处的➕加号图标。
  2. 选择“从费用追踪器中添加”。
  3. 点击 categories.json 文件。
  4. 现在你只需问克劳德:
    “使用我附上的分类”

这将有助于Claude(或任何MCP客户端)为您的支出使用正确且一致的分类。


配置

Claude Desktop(可译为“Claude桌面版”或保持原样,根据上下文决定是否需要具体化为某类软件或平台的名称)

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

  • MacOS(麦金塔操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

示例配置:

"ExpenseTracker": {
  "command": "absolute \\path\\to\\uv",
  "args": [
    "run",
    "--with",
    "fastmcp",
    "fastmcp",
    "run",
    "\\absolute\\path to \\Expense-tracker-mcp\\main.py"
  ],
  "env": {},
  "transport": "stdio",
  "type": null,
  "cwd": null,
  "timeout": null,
  "description": null,
  "icon": null,
  "authentication": null
}

对新用户而言重要的是:
替换 "absolute \\path\\to\\uv" 以及您文件的完整路径 uv 二进制。
替换 "\\absolute\\path to \\Expense-tracker-mcp\\main.py" 以及您的完整路径 main.py 此项目内的文件。

如果你对自己的……不确定 uv 路径,运行:

Mac/Linux(译文:Mac/Linux系统)

which uv

在Windows上

where uv

使用示例

添加费用

  • “昨天增加50卢比的萨戈达旅行费用”
  • “我今天在食物上花了500元,在医疗保健上花了300元。”

追踪收入

  • “我今天收到了40,000卢比的薪水。”
  • “添加来自自由职业工作的5000卢比收入”

获取摘要

  • “给我显示这个月的所有开销”
  • “我上周的食品总开销是多少?”
  • “按类别总结我的支出”
  • “我还有多少钱的工资没发?”

管理记录

  • “编辑费用#5,并将金额更改为600”
  • “删除费用#12”
  • “给我显示10月1日至10月10日的所有费用”

可用工具

费用

  • add_expense - 添加一条新的费用记录
  • delete_expense - 通过ID删除一项费用
  • edit_expense - 编辑现有费用
  • list_expenses - 列出在特定日期范围内的费用
  • summarize - 按类别获取费用概要

收入/学分

  • add_credit - 添加收入/工资条目
  • list_credits - 列出指定日期范围内的信用记录
  • summarize_credits - 按类别获取收入概要

类别

  • list_categories - 查看所有可用的类别和子类别

数据库模式

服务器使用SQLite,并包含以下表:

  • 费用: ID,日期,金额,类别,子类别,备注
  • 致谢/功劳归于: ID,日期,金额,类别,备注

发展

项目结构

expense-tracker-mcp/
├── main.py              # MCP server implementation
├── categories.json      # Category definitions
├── expenses.db          # SQLite database (auto-created)
├── pyproject.toml       # Project configuration
└── README.md            # This file

添加自定义类别

编辑 categories.json 添加或修改费用类别及子类别。


隐私与安全

  • 所有数据都存储在您的本地机器上
  • 不向外部服务器发送任何数据
  • 数据库文件已创建在项目目录中
  • 适合个人财务追踪

做出贡献

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


许可证

这个项目是开源的,并遵循MIT许可证。


致谢

使用FastMCP构建——一个用于构建MCP服务器的Python框架。


支持

对于问题、疑问或建议,请在GitHub上提交一个议题。

注: 这台MCP服务器是为个人使用而设计的。请始终备份您的(数据/文件) expenses.db 文件以防止数据丢失。