智能支出追踪系统

一个基于模型上下文协议(MCP)的智能支出追踪系统,通过自然语言交互帮助用户管理个人财务。

  • by ArProvat
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ArProvat/Expense_tracker_MCP

使用说明

💰 费用追踪器MCP服务器

一个基于模型上下文协议(MCP)构建的智能支出追踪系统,让Claude AI能够通过自然对话管理您的个人财务。

🌟 特点

  • 用户管理注册并管理多个使用手机号码的用户
  • 费用追踪添加、更新和删除带有详细元数据的费用
  • 智能分类按类别和子类别整理费用
  • 日期范围查询按自定义日期范围筛选费用
  • 项目摘要获取按类别细分的详细支出情况
  • 自然语言接口通过Claude AI与您的支出数据进行交互

🚀 什么是MCP?

模型上下文协议(MCP)是由Anthropic提出的一项开放标准,它使像Claude这样的AI助手能够安全地连接到外部数据源和工具。本项目实现了一个MCP服务器,使Claude能够实时管理费用数据。

🛠️ 技术栈

  • **FastMCP(注:FastMCP可能是一个特定领域或技术的术语,根据上下文,这里直接保留原样翻译,未给出具体含义的中文解释,因为“FastMCP”本身可能是一个专有名词或缩写,其具体含义需根据相关领域或上下文来确定。)**MCP服务器实现
  • **PostgreSQL(注:这是一个数据库管理系统的名字,直接翻译为中文即“PostgreSQL”,在中文语境中通常直接使用其英文原名)**强大的费用数据数据库
  • SQLAlchemy用于数据库操作的异步ORM
  • Docker容器化PostgreSQL部署
  • **Pydantic(注:这是一个专有名词,通常不直接翻译,保持原样)**数据验证

📋 前提条件

  • Python 3.8及以上版本
  • Docker 和 Docker Compose
  • Claude 桌面应用程序

🔧 安装

1. 克隆仓库

git clone https://github.com/ArProvat/expense-tracker-mcp.git
cd expense-tracker-mcp

2. 安装依赖项

pip install -r requirements.txt

3. 启动 PostgreSQL 数据库

docker-compose up -d

这将启动一个包含以下内容的 PostgreSQL 容器:

  • 主机本地主机
  • 端口5432
  • 数据库费用
  • 用户PostgreSQL(通常简称为Postgres,但原文中的“postgres”是其未简化的全称形式)
  • 密码PostgreSQL(简称Postgres,有时也译作“波斯特格斯”或直接保留原英文名)

4. 运行数据库迁移

alembic upgrade head

5. 配置Claude桌面版

在您的Claude Desktop配置文件中添加MCP服务器:

macOS(中文常称为“苹果电脑操作系统”或简称为“苹果系统”): ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "expense-tracker": {
      "command": "python",
      "args": ["/path/to/your/expense-tracker-mcp/main.py"]
    }
  }
}

6. 重启Claude桌面版

关闭并重新打开Claude Desktop以加载MCP服务器。

📖 使用方法

一旦连接成功,您就可以与Claude进行自然交互:

注册用户

"Register me as a user with phone number +1234567890"

添加费用

"Add an expense of $50 for groceries today"
"I spent 1500 taka on transportation yesterday"

查看费用

"Show me all my expenses from last week"
"What did I spend in January 2025?"

获取摘要

"Give me a summary of my food expenses this month"
"How much did I spend on entertainment?"

更新费用

"Update my last grocery expense to $45"
"Change the category of yesterday's expense to 'Shopping'"

删除费用

"Delete my last expense"
"Remove the expense with ID abc123"

🎯 可用的MCP功能

工具

  • add_user - 注册新用户
  • add_expense - 添加新的费用条目
  • get_list_expenses - 按日期范围检索费用
  • delete_expense - 删除一项费用
  • get_item_summary - 按类别获取支出概要
  • update_expense - 修改现有的费用明细

资源

  • categories.json-定义所有类别和子类别

📊 数据库模式

该系统使用 PostgreSQL 来存储:

  • 包含联系信息的用户资料
  • 包含金额、类别和日期的支出记录
  • 自定义字段和标签的元数据

🤝 贡献(或“参与贡献”)

欢迎贡献!请随时提交拉取请求。

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建你的特性分支(git checkout -b feature/AmazingFeature)
  3. 提交你的更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 打开一个拉取请求

📝 许可证

这个项目遵循MIT许可证授权——详见 许可证 文件中有详细信息。

🙏 致谢

📧 联系方式

如有任何问题或反馈,请随时联系我们或提交一个问题!


使用模型上下文协议,满怀热爱地构建