使用说明
午餐钱MCP服务器(HTTP)
MCP(HTTP)服务器,提供与Lunch Money API的完全集成。该服务器使AI助手能够通过标准化的界面与您的Lunch Money财务数据进行交互。
注意:这被设计为用作可流式传输的HTTP服务器。如果您正在寻找本地MCP支持(stdio传输),请参阅 阿库蒂舍夫斯基/午餐钱mcp.
特性
- 用户管理 -访问用户帐户详细信息
- 分类 -创建、更新和组织支出类别
- 标签 -管理交易标签
- 交易 -通过高级过滤对交易进行完整的CRUD操作
- 经常性项目 -跟踪和管理经常性费用
- 预算 -按类别创建和监控预算
- 资产 -跟踪手动管理的资产
先决条件
- Node.js 18+(用于本机获取支持)
- 午餐钱API访问令牌(在这里买一个)
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
- 复制
.env.example到.env并添加您的API令牌:
cp .env.example .env
编辑 .env 并添加您的午餐钱API代币:
LUNCH_MONEY_API_TOKEN=your_api_token_here
PORT=8080
用法
发展模式
在热重载的开发模式下运行服务器:
npm run dev
生产模式
构建并运行:
npm run build
npm start
服务器将在端口8080(或您的 .env 文件)。
使用FastMCP CLI进行测试
您可以使用FastMCP开发工具测试服务器:
npx fastmcp dev src/index.ts
或使用MCP检查器:
npx fastmcp inspect src/index.ts
使用MCP测试客户端进行测试
此项目包括一个测试客户端脚本,该脚本连接到您的MCP服务器,并允许您以编程方式测试工具。
首先,确保您的服务器正在运行:
npm run dev
然后在另一个终端中,安装依赖项(如果尚未安装)并运行测试客户端:
npm install
npm run test:client
可用的测试客户端命令:
-
列出所有可用工具:
npm run test:client -- --list -
调用特定工具(默认为
getUser):npm run test:client -- --tool getUser npm run test:client -- --tool getCategories npm run test:client -- --tool getTransactions -
调用带有参数的工具:
npm run test:client -- --tool getTransactions --args '{"start_date":"2024-01-01","end_date":"2024-12-31"}' -
显示帮助:
npm run test:client -- --help
环境变量:
您可以使用环境变量配置测试客户端:
MCP_SERVER_URL-服务器URL(默认值:http://localhost:8080)MCP_ENDPOINT-MCP端点路径(默认值:/mcp-FastMCP的httpStream默认值)
可用工具
用户管理
- get用户 -获取当前用户的帐户详细信息,包括电子邮件、姓名、货币偏好和设置
分类
- 获取类别 -列出所有类别,包括类别组和父类别
- 创建类别 -创建新的支出或收入类别
- 更新分类 -更新现有类别的属性
- 删除类别 -按ID删除类别
标签
- 获取标签 -列出所有交易标签
- 创建标签 -创建用于对交易进行分类的新标签
- %剩下的 -更新现有标记的名称
- 删除标签 -按ID删除标签
交易
- getTransactions -列出具有高级筛选选项的交易,包括:
- 日期范围(开始日期、结束日期)
- 类别(Category_id)
- 标签(tag_id)
- 帐户(Account_id)
- 状态(已清除、未清除、反复出现、建议回避)
- 分页(偏移、限制)
- 创建交易 -创建新交易(支出、收入或转账)
- 左 -更新现有交易的属性
- deleteTransaction -按ID删除交易
- 散装剩余 -批量更新具有相同更改的多个事务
经常性项目
- 获取重复项目 -列出所有经常性支出和收入项目
- 创建重复项 -创建新的经常性支出或收入项目
- 更新 -更新现有定期项目的属性
- 删除重复项 -按ID删除重复项目
预算
- get预算 -列出所有预算及其类别分配和日期范围
- 创建预算 -为具有金额和日期范围的类别创建新预算
- 更新预算 -更新现有预算的金额、类别或日期范围
- 删除预算 -按ID删除预算
资产
- 获取资产 -列出所有手动管理的资产
- createAsset -创建新的手动管理资产
- 取消 -更新现有资产的属性,包括余额和元数据
- deleteAsset -按ID删除资产
配置
环境变量
LUNCH_MONEY_API_TOKEN(必需)-您的午餐钱API访问令牌PORT(可选)-服务器端口,默认为8080SERVER_API_KEY(可选)-用于服务器身份验证的API密钥。如果设置,所有请求都必须在Authorization标题(格式:Bearer <key>或者只是<key>)
与Claude Desktop一起使用
将以下内容添加到您的Claude Desktop配置文件中:
{
"mcpServers": {
"lunch-money": {
"command": "node",
"args": ["/path/to/lunch-money-mcp/dist/index.js"],
"env": {
"LUNCH_MONEY_API_TOKEN": "your_api_token_here"
}
}
}
}
或用于开发:
{
"mcpServers": {
"lunch-money": {
"command": "npm",
"args": ["run", "dev"],
"cwd": "/path/to/lunch-money-mcp",
"env": {
"LUNCH_MONEY_API_TOKEN": "your_api_token_here"
}
}
}
}
部署
部署到Fly.io
此MCP服务器可通过API密钥验证部署到Fly.io。
先决条件
-
安装Fly.io命令行界面:
curl -L https://fly.io/install.sh | sh -
使用Fly.io进行身份验证:
fly auth login
初始设置
-
启动您的应用程序(这将创建
fly.toml如果它不存在):fly launch --no-deploy在设置过程中:
- 选择一个唯一的应用程序名称(或使用默认名称)
- 选择您喜欢的地区
- 拒绝添加数据库(不需要)
- 还不部署(我们先设置机密)
-
设置您的秘密(API密钥):
fly secrets set LUNCH_MONEY_API_TOKEN=your_lunch_money_token fly secrets set SERVER_API_KEY=your_secure_api_key_here重要提示: 为生成强随机API密钥
SERVER_API_KEY。这将用于对MCP服务器的请求进行身份验证。 -
部署您的应用程序:
fly deploy -
验证部署:
fly status
使用已部署的服务器
部署后,您的服务器将在 https://your-app-name.fly.dev/mcp.
使用API密钥验证:
所有请求都必须在 Authorization 头球
curl -H "Authorization: Bearer your_secure_api_key_here" \
https://your-app-name.fly.dev/mcp
健康检查:
服务器包括一个使用FastMCP内置的健康检查端点 /health 端点(无需身份验证):
curl https://your-app-name.fly.dev/health
管理秘密
- 查看机密:
fly secrets list - 更新机密:
fly secrets set SERVER_API_KEY=new_key - 删除一个秘密:
fly secrets unset SERVER_API_KEY
更新部署
更改代码后:
fly deploy
查看日志
fly logs
api参考
此MCP服务器与 午餐钱API v1.所有端点都遵循API官方文档。
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。