使用说明
MCP费用跟踪器
本地MCP(模型上下文协议)服务器,允许您直接通过Claude跟踪费用和预算。记录支出,制定每月预算,总结你的财务状况——所有这些都是通过自然对话完成的。
目录
先决条件
在开始之前,请确保已安装以下内容:
- Python 3.12+ — 点击此处下载
- 紫外线 (推荐使用包管理器)--安装时使用:
pip install uv # or on macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh - 克劳德桌面 — 点击此处下载
安装
1.克隆存储库
git clone https://github.com/Theallkeeeymist/expense-tracker-mcp.git
cd expense-tracker-mcp
2.安装依赖项
uv sync
这将创建一个虚拟环境,并从安装所有必需的软件包 uv.lock.
3.验证设置
uv run python main_local.py
如果没有出现错误,则服务器已准备好连接到Claude Desktop。
连接到克劳德桌面
MCP服务器是通过Claude Desktop在启动时读取的JSON配置文件进行配置的。
1.查找您的Claude Desktop配置文件
| 操作系统 | 位置 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 窗户 | %APPDATA%\Claude\claude_desktop_config.json |
2.打开(或创建)配置文件并添加服务器条目
{
"mcpServers": {
"expense-tracker-server": {
"command": "/absolute/path/to/uv.exe",
"args": [
"run",
"--project",
"/absolute/path/to/expense-tracker-mcp",
"fastmcp",
"run",
"/absolute/path/to/expense-tracker-mcp/main_local.py:mcp"
]
}
}
}
替换
/absolute/path/to/uv.exe与您的完整路径uv可执行。Windows上的示例:
{ "mcpServers": { "expense-tracker-server": { "command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\Python\\Python312\\Scripts\\uv.exe", "args": [ "run", "--project", "C:\\Users\\YourName\\PycharmProjects\\expense-tracker-mcp", "fastmcp", "run", "C:\\Users\\YourName\\PycharmProjects\\expense-tracker-mcp\\main_local.py:mcp" ] } } }macOS/Linux上的示例:
{ "mcpServers": { "expense-tracker-server": { "command": "/Users/yourname/.local/bin/uv", "args": [ "run", "--project", "/Users/yourname/projects/expense-tracker-mcp", "fastmcp", "run", "/Users/yourname/projects/expense-tracker-mcp/main_local.py:mcp" ] } } }
3.重新启动克劳德桌面
退出并重新启动Claude Desktop。您应该看到费用跟踪工具出现在工具面板中(🔧 图标)。
可用工具
连接后,Claude可以代表您使用以下工具:
add_expenses
在数据库中添加新的支出条目。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
date |
string | 是 | 日期 YYYY-MM-DD 格式 |
amount |
浮动 | 是 | 费用金额 |
category |
string | YES | 主类别(例如。 food) |
subcategory |
string | 否 | 子类别(例如。 groceries) |
note |
string | 否 | 可选注释或描述 |
list_expenses
列出日期范围内的所有费用。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
start_date |
string | 是 | 开始日期 YYYY-MM-DD |
end_date |
string | 是 | 结束日期 YYYY-MM-DD |
summarize
获取一个日期范围内的按类别分类的支出摘要。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
start_date |
string | 是 | 开始日期 YYYY-MM-DD |
end_date |
string | 是 | 结束日期 YYYY-MM-DD |
category |
string | 否 | 将摘要筛选到特定类别 |
set_budget
为某个类别设置每月支出限额。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
category |
string | 是 | 类别名称 |
monthly_limit |
浮动 | 是 | 预算限额 |
month |
string | 是 | 月份 YYYY-MM 格式 |
budget_left
检查每个类别剩余的预算,并附上警告指标。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
month |
string | 是 | 月份 YYYY-MM 格式 |
category |
string | 否 | 筛选到特定类别 |
返回状态: OK, WARNING: Low on budget,或 BUDGET EXHAUSTED.
saved_in_budget
查看您在给定月份每个类别的预算下节省了多少。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
month |
string | 是 | 月份 YYYY-MM 格式 |
category |
string | 否 | 筛选到特定类别 |
fetch_budget
检索当前设置的一个月的预算。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
month |
string | 是 | 月份 YYYY-MM 格式 |
category |
string | 否 | 筛选到特定类别 |
update_expense
更正现有费用的金额或类别。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
int | 是 | 要更新的费用ID |
amount |
浮动 | 否 | 新金额 |
category |
string | 否 | 新类别 |
delete_expense
删除错误输入的费用。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
int | 是 | 要删除的费用ID |
delete_budget
删除预算条目。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
category |
string | 是 | 要删除的类别预算 |
类别
跟踪器配备了一个全面的分类系统,该系统在 categories.json顶级类别包括:
| 类别 | 子类别示例 |
|---|---|
food |
杂货、外出就餐、送餐 |
transport |
燃料、铁路、公共交通 |
housing |
租金、维修服务、家具 |
utilities |
电力、互联网宽带、手机 |
health |
药物、医生咨询、健康 |
education |
书籍、课程、在线订阅 |
entertainment |
电影_活动、流媒体_订阅、郊游 |
shopping |
服装、电子产品、家居装饰 |
investments |
共同基金、股票、加密货币 |
travel |
航班、酒店、签证护照 |
taxes |
所得税、消费税、税费 |
misc |
未分类,其他 |
看 categories.json 查看完整列表。
示例提示
连接后,试着对克劳德说:
"Add an expense of ₹450 for groceries today"
"Show me all my expenses from March 1st to March 26th"
"Set a budget of ₹5000 for food for March 2026"
"How much of my food budget is left for this month?"
"Summarize my spending for March 2026"
"I made a mistake on expense ID 3, change the amount to ₹200"
"How much did I save under budget in February?"
"Delete expense number 7"
项目结构
expense-tracker-mcp/
├── main_local.py # MCP server for local use (connect this to Claude Desktop)
├── main.py # HTTP server variant (for hosted/production deployment)
├── categories.json # Full category and subcategory definitions
├── pyproject.toml # Project metadata and dependencies
├── uv.lock # Locked dependency versions
├── .python-version # Pinned Python version (3.12)
├── .gitignore
└── README.md
运行时创建的数据文件(gitignored):
expenses_db--存储所有费用记录的SQLite数据库budget.db--存储预算配置的SQLite数据库
备注
main_local.py是用于本地Claude Desktop集成的文件。它通过标准使用同步SQLitesqlite3模块。main.py是一个单独的基于HTTP的服务器,用于云/生产部署 不需要 供当地使用。- 两个数据库(
expenses_db和budget.db)在第一次运行时自动创建,无需设置。 - 所有货币金额均以浮动形式存储;使用你喜欢的任何货币,只要保持一致。