费用跟踪器远程MCP服务器
一个全面的费用跟踪系统,作为具有SSE传输的模型上下文协议(MCP)服务器构建。使用自然语言数据解析和灵活的分类来跟踪、管理和分析您的支出。
特性
🔧 工具
- 添加费用 -通过灵活的日期解析添加新的费用(支持“今天”、“昨天”、“11月27日”等)
- list_费用 -按类别、日期范围和限额筛选列出费用
- 更新_费用 -更新现有费用的任何字段
- 删除_费用 -从数据库中删除支出
- 费用汇总 -按类别获取费用汇总,包括总计和百分比
📋 资源
- expense://categories -访问预定义的费用类别和子类别
🎯 关键能力
- 自然语言日期解析(“今天”、“上周”、“过去30天”等)
- 20个预定义的费用类别,包含详细的子类别
- 用于持久存储的SQLite数据库
- 按日期范围和类别灵活筛选
- 包含明细的综合费用汇总
分类
服务器包括20个预定义类别:
- 食品、交通、住房、公用事业、健康
- 教育、家庭/儿童、娱乐、购物
- 订阅、个人护理、礼品/捐赠
- 财务/费用、商务、旅行、家庭
- 宠物、税费、投资、杂项
每个类别都有特定的子类别用于详细跟踪(请参阅 categories.json).
安装
pip install -e .或者使用紫外线:
uv pip install -e .用法
运行远程服务器
python main.py或者使用紫外线:
uv run python main.py服务器将于启动 http://0.0.0.0:8000 并可通过SSE传输访问。
发展模式
使用MCP检查器测试服务器:
uv run fastmcp dev main.py连接到服务器
配置您的MCP客户端以连接到:
- 统一资源定位符:
http://localhost:8000/sse - 运输:SSE(服务器发送事件)
示例用法
添加费用
add_expense(
date="today",
amount=45.50,
category="food",
subcategory="groceries",
note="Weekly grocery shopping"
)列出最近的支出
list_expenses(limit=10, date_range="last week")获取摘要
summarize_expenses(date_range="this month")更新支出
update_expense(expense_id=5, amount=50.00, note="Updated amount")数据库
数据库(FastMCP Cloud注释)
在FastMCP Cloud上,应用程序在临时存储上运行。服务器配置为在FastMCP Cloud上部署时使用可写的临时路径:
- FastMCP Cloud上使用的数据库路径:
/tmp/expense_tracker.db
服务器将在启动时(或第一次调用工具时)使用包含的初始化逻辑自动初始化数据库。
费用存储在SQLite中,模式如下:
CREATE TABLE expenses (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
amount REAL NOT NULL,
category TEXT NOT NULL,
subcategory TEXT,
note TEXT
)依赖项
- fastmcp>=2.13.1
- aiosqlite>=0.20.0(异步SQLite数据库操作)
- python dateutil>=2.8.2(灵活的日期解析)
技术细节
- 用途
aiosqlite用于异步数据库操作 - 所有数据库操作都是非阻塞的
- 用于持久本地存储的SQLite数据库
- 自然语言数据解析
python-dateutil
许可证
麻省理工学院
