费用跟踪服务器

一个用于记录和管理个人或企业费用及收入的服务器应用,支持分类、编辑和汇总功能。

  • by GaneshGMgr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 GaneshGMgr/expense_tracker_remote_mcp_server

使用说明

费用跟踪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 dev CLI可能会失败,并显示“无法规范脚本路径”。在这种情况下,使用 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

服务器在每次请求时动态重新加载此文件。