蒙佐·麦克普
   
MCP服务器 Monzo API银行业务。通过Claude Code或任何MCP客户端对账户、余额、余额、交易和支出分析进行只读访问。
与使用原始承载令牌(6小时后过期)的其他Monzo MCP实现不同,此服务器处理 具有自动令牌刷新功能的完整OAuth.
特性
- 7个只读工具 -没有写操作,没有资金流动
- 具有自动刷新功能的OAuth -令牌自动刷新,无需手动重新生成
- 本地事务缓存 -SQLite数据库在Monzo的90天SCA窗口中幸存下来
- 支出分析 -类别细分、顶级商家、环比比较
- 交易搜索 -在缓存的历史记录中按商家、描述或注释进行搜索
工具
| 工具 | 说明 | 数据源 |
|---|---|---|
monzo_list_accounts | 列出具有类型和ID的帐户 | Live API |
monzo_get_balance | 当前余额和今日支出 | 实时API |
monzo_list_pots | 储蓄罐和余额 | 实时API |
monzo_sync | 将事务同步到本地缓存 | Live API->SQLite |
monzo_list_transactions | 列出/筛选缓存的事务 | 本地缓存 |
monzo_search_transactions | 按商家/描述/备注搜索 | 本地缓存 |
monzo_spending | 按类别细分的支出分析 | 本地缓存 |
先决条件
- Python 3.13+
- 紫外线 (推荐)或pip
- 注册了OAuth客户端的Monzo帐户 developers.monzo.com
安装
git clone https://github.com/partymola/monzo-mcp.git
cd monzo-mcp
uv venv --python 3.13 .venv
uv pip install -e .设置
1.注册Monzo OAuth客户端
首选 developers.monzo.com 并创建OAuth客户端:
- 将重定向URL设置为
http://localhost:6600/callback - 注意你的 客户端ID 和 客户端密钥
2.身份验证
monzo-mcp auth这将打开您的Monzo OAuth浏览器。授权后,在您的 Monzo应用程序 在5分钟内访问完整的事务历史记录(Monzo的SCA窗口)。
3.用克劳德代码注册
claude mcp add -s user monzo -- /path/to/monzo-mcp/.venv/bin/monzo-mcp4.首次同步
在Claude Code中,运行 monzo_sync 以填充本地事务缓存。在身份验证后立即执行此操作,以利用SCA窗口(长达11个月的历史)。
配置
所有配置都是通过环境变量(可选)进行的:
| 变量 | 默认值 | 描述 |
|---|---|---|
MONZO_MCP_CONFIG_DIR | ` | |
| /config/` | OAuth凭据和令牌目录 | |
MONZO_MCP_DB_PATH | ` | |
| /monzo.db` | SQLite事务缓存路径 |
凭据文件(由创建 monzo-mcp auth):
config/monzo_client.json-OAuth客户端ID和密钥config/monzo_tokens.json-访问和刷新令牌(自动刷新)
Monzo SCA窗口
Monzo的强客户身份验证(SCA)限制了交易历史访问:
- 应用程序批准后5分钟内:长达约11个月的历史
- 窗口到期后:仅过去90天
本地SQLite缓存永久保留所有已同步的事务,因此运行 monzo_sync 之后立即 monzo-mcp auth.
安全
- 零写入工具 -无法汇款、在各账户间转移资金或修改交易
- API本身 无法向外部账户汇款
- 令牌以JSON文件存储在
config/目录(gitignored) - 所有API调用都是带有承载令牌身份验证的GET请求
贡献
看 贡献.md 用于开发设置、测试工作流和预提交挂钩。在中跟踪更改 更改日志.md.
许可证
GPL-3.0或更高版本。看 许可证.
