使用说明
<<<<<<<头
费用跟踪MCP服务器
用于跟踪个人支出的MCP(模型上下文协议)服务器。此服务器提供添加和列出费用的工具,并将其存储在本地SQLite数据库中。它旨在与Cursor IDE和其他MCP兼容客户端无缝协作。
📋 目录
✨ 特性
- 添加费用:记录费用,包括日期、金额、类别、子类别和可选注释
- 列出费用:从数据库中检索所有存储的费用
- SQLite数据库:本地轻量级数据库存储(不需要外部数据库)
- MCP集成:适用于Cursor IDE和其他MCP兼容客户端
- FastMCP框架:基于FastMCP构建,可实现可靠的MCP服务器功能
📦 需求
- Python 3.13或更高版本
- pip(Python包管理器)
🚀 安装
-
克隆或导航到项目目录:
cd "/home/jai/Desktop/Coding_Hub/Expense tracker MCP" -
安装项目及其依赖项:
pip install -e .这将安装:
fastmcp(MCP服务器框架)- 所有必需的传递依赖关系
-
验证安装:
python main.py --help您应该看到FastMCP横幅和服务器信息。
🔧 Cursor IDE的设置
要将此MCP服务器与Cursor IDE一起使用,请执行以下操作:
-
创建或编辑光标MCP配置文件:
地点:
~/.cursor/mcp.json添加以下配置:
{ "mcpServers": { "expense-tracker": { "command": "python", "args": ["/home/jai/Desktop/Coding_Hub/Expense tracker MCP/main.py"], "env": {} } } }注: 更新中的路径
args以匹配您的实际项目位置。 -
重新启动光标:
- 完全关闭光标
- 重新打开光标
- MCP服务器现在应该可用
-
验证连接:
- 检查“费用跟踪器”是否出现在Cursor的MCP服务器列表中
- 在可用工具部分查找MCP工具
💡 用法
设置后,您可以通过Cursor中的自然语言命令与费用跟踪器进行交互:
命令示例:
-
添加费用:
- “今天加上25.50美元的杂货费”
- “2024-01-15在住房类别中记录100美元的租金支出”
- “餐厅午餐加15.99美元,类别:食品,子类别:外出就餐”
-
列出费用:
- “让我看看我的所有开支”
- “列出数据库中的所有费用”
- “我有什么费用?”
🛠️ 可用工具
服务器提供两个主要的MCP工具:
1. add_expense
将新的支出条目添加到数据库中。
参数:
date(str,必填):费用日期(格式:YYYY-MM-DD)amount(浮动,必填):费用金额category(str,必填):费用类别(例如,“食品”、“交通”、“住房”)subcategory(str,可选):更具体的类别(例如,“杂货”、“餐厅”)note(str,可选):关于费用的附加说明
退货:
{
"status": "ok",
"id": 1
}
例子:
add_expense(
date="2024-01-15",
amount=25.50,
category="food",
subcategory="groceries",
note="Weekly shopping"
)
2. list_expenses
从数据库中检索所有费用。
参数: 无
退货:
[
{
"id": 1,
"date": "2024-01-15",
"amount": 25.50,
"category": "food",
"subcategory": "groceries",
"note": "Weekly shopping"
},
...
]
📁 项目结构
Expense tracker MCP/
├── main.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
├── expense.db # SQLite database (created automatically)
├── README.md # This file
├── MCP_Setup_Instructions.txt # Detailed setup instructions
└── expense_tracker_mcp.egg-info/ # Package metadata
🗄️ 数据库模式
SQLite数据库使用以下模式:
CREATE TABLE expenses (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
amount REAL NOT NULL,
category TEXT NOT NULL,
subcategory TEXT DEFAULT '',
note TEXT DEFAULT ''
)
领域:
id:自动递增唯一标识符date:费用日期(以文本形式存储)amount:费用金额(实际/浮动)category:主要费用类别(必填)subcategory:可选子类别note:可选附加注释
🔍 技术细节
- 框架: FastMCP 2.12.4
- 运输: STDIO(标准输入/输出)
- 数据库: SQLite(本地文件:
expense.db) - Python版本: 3.13+
- 服务器名称: “费用跟踪器”
- 协议: MCP(模型上下文协议)
服务器作为MCP客户端(如Cursor)的子进程运行,并使用MCP协议通过STDIO进行通信。
🐛 故障排除
服务器未出现在游标中
-
检查配置路径:
- 验证中的路径
~/.cursor/mcp.json是正确的 - 确保它指向的实际位置
main.py
- 验证中的路径
-
验证Python安装:
python --version应该显示Python 3.13或更高版本
-
重新安装依赖关系:
pip install -e . -
手动测试服务器:
python main.py --help应无错误地显示FastMCP横幅
-
检查游标日志:
- 在Cursor的开发人员控制台或日志中查找错误消息
- 常见问题:路径错误、缺少依赖项、Python版本不匹配
数据库问题
- 数据库文件(
expense.db)首次使用时自动创建 - 如果需要重置数据库,只需删除
expense.db并重新启动服务器 - 数据库与存储在同一目录中
main.py
权限错误
- 确保您在项目目录中具有读/写权限
- 数据库文件需要写入权限
📝 备注
- 数据库存储在本地项目目录中
- 所有费用在两次会议之间持续存在
- 服务器在启动时自动初始化数据库
- 日期格式应为YYYY-MM-DD(例如,“2024-01-15”)
🔄 未来的增强功能
未来版本的潜在功能:
- 按日期范围筛选费用
- 按类别筛选费用
- 计算总数和统计数据
- 将费用导出到CSV/JSON
- 删除或更新现有费用
- 预算跟踪和警报
📄 许可证
本项目按原样提供供个人使用。
有关详细的设置说明,请参阅 MCP_Setup_Instructions.txt.
=======
MCP货币跟踪服务器。
f0df9ea44fc4e8adac20e6f2cf40efee30b8132e
