使用说明
费用跟踪MCP服务器
此自述文件解释了如何设置、运行和部署Expense Tracker MCP服务器。
设置
初始化项目
紫外线初始化。
激活虚拟环境
.venv\Scripts\activate
将FastMCP添加到项目中
uv添加fastmcp
运行(Windows)
直接使用Python运行
uv运行python main.py
或者以FastMCP开发模式运行
uv运行fastmcp-dev-main.py
如果端口8000正在使用中,请设置port并重试
$env:PORT=8001;uv运行python main.py
备注
- 在Windows上
fastmcp devCLI可能会失败,并显示“无法规范脚本路径”。在这种情况下,使用uv run python main.py相反。 - 确保您的虚拟环境
.venv在运行任何uv命令。
部署到FastMCP云
- 一旦您的服务器准备就绪并在本地进行了测试,您就可以将其部署到 fastmcp.cloud 使用: uv运行fastmcp部署main.py
文件夹结构
proxy_server/
├── .git/ # Git repository
├── .venv/ # Python virtual environment
├── __pycache__/ # Python cache files
├── .gitignore # Git ignore file
├── .python-version # Python version file
├── categories.json # Categories data
├── expenses.db # SQLite database
├── main.py # Main proxy server script
├── pyproject.toml # Project configuration
├── README.md # This readme file
├── requirements.txt # Python dependencies
└── uv.lock # uv.lock file
📦 特性
✅ 增加支出
按类别、子类别、注释、金额和日期记录支出。
✅ 添加信用(收入)
增加收入,如工资、退款、奖金、利息等。
✅ 输入序列
检索日期范围内的所有支出+收入。
✅ 汇总费用
日期范围内的类别总计(仅限费用)。
✅ 编辑条目
修改任何现有的支出或收入。
✅ 软删除(隐藏而不是删除)
条目被隐藏(is_deleted = 1)而不会从数据库中删除。
🗄 数据库
用途 aiosqlite(SQLite异步版本) 储存于 expenses.db.
表结构
| 列 | 类型 | 描述 |
|---|---|---|
| id | INTEGER | 主键 |
| 日期 | 文本 | ISO格式的日期 |
| 金额 | REAL | 花费或赚取的金额 |
| 类别 | 文本 | 主要类别 |
| 子类别 | 文本 | 可选子类别 |
| 备注 | 文本 | 描述或备忘录 |
| 类型 | 文本 | "expense" 或 "income" |
| 已删除 | 整数 | 0 = active, 1 = soft deleted |
轻便、便携,易于备份或检查。
📁 类别资源
A. categories.json ffile定义了MCP服务器使用的全套费用类别和子类别。
expense://categories
服务器在每次请求时动态重新加载此文件。
