使用说明
交易跟踪器MCP服务器
使用FastMCP(模型上下文协议)构建的用于Claude Desktop集成的全面个人财务管理系统。此服务器提供安全、经过身份验证的交易跟踪,并具有高级分析和报告功能。
特性
- 🔐 安全认证:基于JWT的密码哈希用户身份验证
- 💰 双重交易类型:跟踪支出和收入(贷项)
- 📊 高级分析:类别细分、日期筛选和财务摘要
- 🔄 经常性交易:支持每日、每周、每月和每年的频率
- 🏷️ 灵活的分类:25+预定义类别,带有自定义标签
- 📅 日期范围筛选:按自定义时间段分析交易
- 📈 财务报告:月度报告、余额计算和支出洞察
- 🔒 用户隔离:每个用户只看到自己的数据
- ⚡ FastMCP集成:无缝集成Claude桌面
本地安装指南
如果要在本地使用此服务器,请克隆此存储库并按照所示进行设置。
先决条件
- Python 3.13+
- 紫外线
- PostgreSQL 15+
- Claude Desktop(用于MCP集成)
安装
确保你的系统中安装了紫外线。该系统是使用紫外线构建的。 要安装紫外线,请使用-
pip install uv
-
克隆存储库:
git clone https://github.com/Poushali-02/Expense-Tracker-MCP-Server.git cd Expense-Tracker-MCP-Server -
安装依赖项:
uv venv .venv\Scripts\activate # windows source .venv/bin/activate # macOs / Linux uv pip install -r requirements.txt -
检查并运行MCP服务器:
uv run fastmcp dev main.py # this gives the mcp inspector tool to check all the functions uv run fastmcp run main.py # this runs the server
Claude桌面配置
由于您安装了uv,运行此命令将把服务器添加到您的Claude Desktop:
uv run fastmcp install claude-desktop main.py
或者手动将其添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"Expense Tracker MCP Server": {
"command": "uv",
"args": [
"--directory",
"absolute\\path\\to\\ExpenseTrackerMCP",
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"main.py"
],
"env": {},
"transport": "stdio",
"type": null,
"cwd": null,
"timeout": null,
"description": null,
"icon": null,
"authentication": null
}
}
}
如何访问claude_desktop_config.json:
- 打开克劳德桌面
- 点击您的个人资料(右下角)→ 设置
- 点击侧边栏中的“开发人员”
- 点击“编辑配置”在编辑器中打开JSON文件
远程服务器设置指南
此服务器已使用部署 fastmcp云 有关设置,请参阅此部分。
claudepro用户:安装指南
如果你有Claude Pro帐户,事情就很容易了。
- 只需转到设置(从您的个人资料名称)
- 点击连接器
- 点击“添加自定义连接器”
- 在弹出窗口中添加一个名称(例如:“交易跟踪器”)
- 在URL部分添加此URL-https://transaction-tracker.fastmcp.app/mcp
- 重新启动克劳德
CLAUDE免费用户
如果你是克劳德免费计划用户(像我一样)。按照以下步骤操作
- 打开Claude开发人员设置
- 打开克劳德桌面
- 点击您的个人资料(右下角)→ 设置
- 点击侧边栏中的“开发人员”
- 点击“编辑配置”在编辑器中打开JSON文件
- 将此json添加到文件中:
{
"mcpServers": {
"Transaction Tracker": {
"command": "npx",
"args": [
"mcp-remote",
"https://transaction-tracker.fastmcp.app/mcp"
]
}
}
}
特性
认证
用户注册
使用Claude客户端注册 register_user 工具(用户名、密码、电子邮件、全名)。
用户登录
使用Claude客户端 login_user 获取JWT令牌的工具(用户名、密码)。
使用经过身份验证的工具
以下是此服务器目前可用的工具列表。
身份验证和用户管理
- 注册用户 ✅ - 注册新用户
- 登录用户 ✅ - 认证
- 验证令牌 ✅ - 令牌验证
- 更改密码 ✅ - 密码更改
事务管理
- addTransaction ✅ - 将事务添加到用户的数据库中
- get_all_交易 ✅ - 检索所有交易记录
- 左 ✅ - 更新交易记录
- 删除交易 ✅ - 删除交易记录
交易检索与分析
- get_selectd_transactions ✅ - 检索日期范围内的交易记录(例如:2025-12-10到2025-12-15)
- get_total_transactions ✅ - 计算某一类别的总交易记录
- get_top_transaction_类别 ✅ - 确定前5项支出和贷项
财务摘要与分析
- get_summary ✅ - 生成包含类别细分的综合分析
- 余额 ✅ - 计算净余额
- 月度报告 ✅ - 生成包含汇总统计信息的月度报告(例如:2025年12月)
事务管理
事务类型
- 花费:花费的钱(借记)
- 信用:收到的钱(收入/贷项)
状态值
- 完成:交易已完成
- 待定:交易正在进行中
- 取消:交易已取消
频率选项
- 无:一次性交易
- 每日的:每天重复
- 每周的:每周重复
- 每月:每月重复一次
- 每年的:每年重复一次
支持的类别
- 住房和维护(租金、水电费、维修)
- 交通(燃料、公共交通、汽车维修)
- 杂货和食品(杂货、外出就餐、餐馆)
- 健康与健身(医疗保健、健身房、运动)
- 娱乐休闲(电影、游戏、爱好)
- 教育与自我发展(课程、书籍、培训)
- 保险(健康、汽车、家庭保险)
- 投资与金融(投资、储蓄、银行手续费)
- 基本服务(互联网、电话、订阅)
- 还有15+个类别。..
安全功能
- 密码散列: 用盐弹加密
- JWT身份验证: 基于令牌的安全访问
- 用户隔离: 数据库级用户数据分离
- 令牌到期时间: 24小时代币有效期
- 密码要求: 强密码验证
- 输入验证: 全面的参数验证
依赖项
- fastmcp>=2.13.3
- asyncpg>=0.31.0
- 加密>=4.0.0
- pyjwt>=2.8.0
- python dotenv>=1.0.0
支持
如有疑问或问题:
-
在GitHub上打开一个问题
-
查看此README中的文档
-
查看代码注释以了解实现细节
-
请不要评判