使用说明
蒙佐·麦克普
MCP(模型上下文协议)服务器 蒙佐银行API.将Claude和其他AI助手连接到您的Monzo帐户,以检查余额、查看交易、管理锅等。
适用于任何兼容MCP的客户端,包括Claude Desktop、Claude Code、Cursor、Windsurf、Cline等。提供19个工具,涵盖帐户、交易、锅、提要项、附件、收据和webhooks。
注: Monzo Developer API仅供个人使用。您只能连接到自己的帐户或少数明确允许的用户。
特性
- 账户 -验证身份,列出账户,获取余额
- 锅 -列出花盆,放入花盆和从花盆中取出
- 交易 -列出交易、获取详细信息、用元数据注释
- 喂养 -在Monzo应用程序中创建自定义提要项
- 附件 -上传图像并将其附加到交易中
- 收据 -创建、获取和删除数字收据
- 网络钩子 -注册、列出和删除实时Webhook
先决条件
你需要一个 Monzo访问令牌。要获得一个:
- 首选 developers.monzo.com 并使用您的Monzo电子邮件登录
- 去 API游乐场 然后单击 认证
- 批准 推送通知 在您的Monzo应用程序上(PIN、指纹或Face ID)
- 复制 访问令牌 如游乐场所示
关于代币的重要提示:
- 代币大约在以下时间到期 6小时
- 身份验证后,您有 5分钟 完整的交易历史访问权限;在那之后,只有 过去90天 可用的
- 生成新令牌 使无效 上一个
安装
使用npx(推荐)
npx monzo-mcp
全局安装
npm install -g monzo-mcp
monzo-mcp
从源代码构建
git clone https://github.com/samaxbytez/monzo-mcp.git
cd monzo-mcp
npm install
npm run build
node build/index.js
配置
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
MONZO_ACCESS_TOKEN |
是 | 您的Monzo API访问令牌 |
克劳德桌面
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"monzo": {
"command": "npx",
"args": ["-y", "monzo-mcp"],
"env": {
"MONZO_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
克劳德代码
添加到您的项目 .mcp.json:
{
"mcpServers": {
"monzo": {
"command": "npx",
"args": ["-y", "monzo-mcp"],
"env": {
"MONZO_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
其他MCP客户端
设置 MONZO_ACCESS_TOKEN 环境变量并运行:
MONZO_ACCESS_TOKEN=your_token npx monzo-mcp
建筑
monzo-mcp/
├── src/
│ ├── index.ts # Entry point, server setup
│ ├── client.ts # Monzo API HTTP client
│ ├── utils.ts # Shared utilities (jsonResponse, errorResponse, etc.)
│ ├── client.test.ts # Client tests
│ ├── utils.test.ts # Utils tests
│ └── tools/
│ ├── accounts.ts # Account info and balance tools
│ ├── pots.ts # Pot management tools
│ ├── transactions.ts # Transaction tools
│ ├── feed.ts # Feed item tools
│ ├── attachments.ts # Attachment tools
│ ├── receipts.ts # Receipt tools
│ ├── webhooks.ts # Webhook tools
│ └── tools.test.ts # Tool handler tests
├── package.json
├── tsconfig.json
└── README.md
设计决策:
- 使用模式A(简单承载令牌),因为Monzo使用个人访问令牌
- 每个工具类别一个文件,用于清晰地分离关注点
- 所有工具处理程序都使用一致的
logToolCall()+try/catch+jsonResponse()/errorResponse()模式 - 金额以 便士 (次要单位)按照Monzo API惯例
工具参考
账户(3个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_whoami |
验证已验证身份的用户,返回用户ID和身份验证类型 | GET /ping/whoami |
monzo_list_accounts |
列出所有帐户,可选择按类型筛选(uk_retail, uk_retail_joint) |
GET /accounts |
monzo_get_balance |
获取账户余额、总余额、货币和今天的支出(以便士计) | GET /balance |
锅(3个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_list_pots |
列出一个帐户的所有锅 | GET /pots |
monzo_deposit_into_pot |
将资金从账户转移到锅中(金额单位为便士,需要dedupe_id) | PUT /pots/{pot_id}/deposit |
monzo_withdraw_from_pot |
将资金从罐子移回账户(锁定的罐子不能通过API提取) | PUT /pots/{pot_id}/withdraw |
交易(3种工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_list_transactions |
列出具有可选自/前/限制过滤器的交易(5分钟后90天限制) | GET /transactions |
monzo_get_transaction |
获取单笔交易详情,可选择扩展商户信息 | GET /transactions/{id} |
monzo_annotate_transaction |
将自定义键值元数据添加到事务中 | PATCH /transactions/{id} |
进给(1个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_create_feed_item |
在Monzo应用程序提要中创建一个自定义项目,包括标题、正文、可选图像/URL | POST /feed |
附件(3个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_upload_attachment |
获取图像的预签名上传URL | POST /attachment/upload |
monzo_register_attachment |
将上传的图像附加到交易中 | POST /attachment/register |
monzo_deregister_attachment |
从事务中删除附件 | POST /attachment/deregister |
收据(3个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_create_receipt |
创建或更新交易的数字收据 | PUT /transaction-receipts |
monzo_get_receipt |
通过外部ID获取收据 | GET /transaction-receipts |
monzo_delete_receipt |
删除收据 | DELETE /transaction-receipts |
Webhooks(3个工具)
| 工具 | 描述 | API端点 |
|---|---|---|
monzo_register_webhook |
注册实时交易通知的URL | POST /webhooks |
monzo_list_webhooks |
列出帐户的所有Webhook | GET /webhooks |
monzo_delete_webhook |
删除webhook | DELETE /webhooks/{id} |
示例提示
- “我的Monzo天平是什么?”
- “显示我最近的交易记录”
- “列出我的锅”
- “把50磅放进我的度假锅里”
- “我上周在乐购花了多少钱?”
- “在蒙佐给我发一条通知,说‘记得买牛奶’”
- “显示我的webhooks”
- “用注释注释我的最后一笔交易”
发展
构建
npm run build
运行测试
npm test
观看模式
npm run test:watch
棉绒
npm run lint
格式
npm run format
添加新工具
- 在中创建新文件
src/tools/或添加到现有类别 - 遵循以下模式:
registerXxxTools(server, client)功能 - 在中导入并调用register函数
src/index.ts - 在中添加测试
src/tools/tools.test.ts - 更新此自述文件
故障排除
“缺少必需的环境变量:MONZO_ACCESS_TOKEN”
设置 MONZO_ACCESS_TOKEN 在您的MCP服务器配置中。看 先决条件.
“Monzo API错误(401):未经授权”
您的访问令牌已过期(令牌持续约6小时)。从获取一个新的 蒙佐游乐场.
“Monzo API错误(403):禁止”
您可能需要完成强客户身份验证。打开Monzo应用程序,查看是否有待审批通知。
交易历史记录为空或有限
认证后5分钟,API只返回最后90天的交易。这是Monzo的安全限制。
罐子取出失败
具有“附加安全性”的罐子(锁定的罐子)不能通过API取出。首先在Monzo应用程序中解锁锅。
工具未出现在Claude中
- 克劳德桌面: 更新配置后重新启动应用程序
- 克劳德代码: 重新启动MCP服务器或重新加载设置
- 验证您的配置使用情况
"command": "npx"随着"args": ["-y", "monzo-mcp"]
许可证
麻省理工学院