使用说明
费用跟踪MCP服务器
一 MCP(模型上下文协议) 服务器,使克劳德(通过克劳德桌面)能够从对话中跟踪、列出和总结您的开支。
这个回购中有什么
该项目分两步发展:
-
学习基础知识 --In
tested_setup_code.py您将找到一个带有两个工具的小型演示MCP服务器(roll_dice,add_numbers)以及关于如何运行服务器和连接Claude Desktop的评论。将其用作构建第一个MCP工具的参考。 -
真货 --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
学习路径(来自此仓库)
- 查看图案 --打开
tested_setup_code.py:两个工具,一个FastMCP应用程序,以及@mcp.tool装饰师。 - 运行演示 —
uv run fastmcp dev tested_setup_code.py(未注释mcp.run()如果你与python). - 与跟踪器进行比较 --In
main.py,相同的模式加上SQLite和三个真正的工具。 - 连接克劳德 —
uv run fastmcp install claude-desktop main.py与克劳德聊天,添加/列出/总结费用。
现在,您有了一个可用的MCP服务器,以及从“第一工具”到可以扩展的有用费用跟踪器(例如预算、类别或报告)的清晰路径。