费用追踪MCP服务器

一个基于MCP协议的服务器,通过与Claude桌面客户端的集成,实现费用记录、列表展示和汇总功能。

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

使用说明

费用跟踪MCP服务器

一 MCP(模型上下文协议) 服务器,使克劳德(通过克劳德桌面)能够从对话中跟踪、列出和总结您的开支。


这个回购中有什么

该项目分两步发展:

  1. 学习基础知识 --In tested_setup_code.py 您将找到一个带有两个工具的小型演示MCP服务器(roll_dice, add_numbers)以及关于如何运行服务器和连接Claude Desktop的评论。将其用作构建第一个MCP工具的参考。

  2. 真货 --In main.py 是 开支追踪器 服务器:一个SQLite支持的MCP服务器,有三个工具,这样Claude就可以添加费用、列出费用并按日期范围(也可以按类别)进行汇总。


特性

工具 它做什么
添加费用 添加带有日期、金额、类别、可选子类别和注释的新费用。
list_费用 列出所有费用(最新费用在前)。
总结 汇总两个日期之间的支出,可选择按类别筛选。

数据存储在本地SQLite数据库中(expenses.db)项目旁边——不需要云或帐户。


快速开始

1.先决条件

  • Python 3.10+
  • 紫外线 (推荐)或pip

2.安装依赖项

uv sync
# or: pip install -e .

3.运行服务器

发展 (代码更改时自动重新加载):

uv run fastmcp dev main.py

生产 (稳定,可以服务多个客户):

uv run fastmcp run main.py

4.与克劳德桌面一起使用

安装Claude Desktop并将其连接到此服务器:

uv run fastmcp install claude-desktop main.py

然后打开Claude Desktop并询问以下问题:

  • “添加费用:今天,25.50,类别食品,子类别午餐。”
  • “列出我最近的10项开支。”
  • “总结我在2025年2月1日至2025年2月8日期间的支出。”
  • “总结1月1日至1月31日的食品费用。”

Claude将为您调用MCP工具,并在聊天中显示结果。


工具参考

add_expense(date, amount, category, subcategory="", note="")

增加一项费用。

  • 日期 --例如。 "2025-02-08" (年-月-日)。
  • 数量 --编号(例如。 25.50).
  • 类别 --例如。 "Food", "Transport", "Shopping".
  • 子类别 --可选,例如。 "Lunch".
  • 笔记 --可选文本。

返回类似以下内容: {"status": "success", "id": 1}.


list_expenses()

以记录列表的形式返回所有费用(最新记录在前),每个记录包含: id, date, amount, category, subcategory, note.


summarize(start_date, end_date, category=None)

按类别返回给定日期范围内的支出总额。

  • 开始日期, 结束日期 --例如。 "2025-02-01", "2025-02-08".
  • 类别 --可选;如果设置了,则只包括该类别。

例子: “从2025-02-01到2025-02-08的总结” 或 “总结2025年1月1日至2025年1月31日的食物。”


项目布局

expense_tracker_mcp_server/
├── main.py              # Expense Tracker MCP server (add, list, summarize)
├── tested_setup_code.py # Demo MCP server (roll_dice, add_numbers) + run notes
├── expenses.db          # Created on first run — your expense data
├── pyproject.toml
├── uv.lock
└── README.md

学习路径(来自此仓库)

  1. 查看图案 --打开 tested_setup_code.py:两个工具,一个 FastMCP 应用程序,以及 @mcp.tool 装饰师。
  2. 运行演示 — uv run fastmcp dev tested_setup_code.py (未注释 mcp.run() 如果你与 python).
  3. 与跟踪器进行比较 --In main.py,相同的模式加上SQLite和三个真正的工具。
  4. 连接克劳德 — uv run fastmcp install claude-desktop main.py 与克劳德聊天,添加/列出/总结费用。

现在,您有了一个可用的MCP服务器,以及从“第一工具”到可以扩展的有用费用跟踪器(例如预算、类别或报告)的清晰路径。