Server data from the Official MCP Registry
Read-only MCP server for the Monzo banking API: OAuth, local transaction cache, spending analysis.
Read-only MCP server for the Monzo banking API: OAuth, local transaction cache, spending analysis.
This is a well-designed Monzo banking MCP server with proper OAuth authentication, token refresh, and read-only operations. The code implements good security practices for credential storage and API interaction. Minor code quality issues (broad exception handling, incomplete output in analysis_tools.py) and a missing input validation concern do not materially impact security posture. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity).
7 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: MONZO_MCP_CONFIG_DIR
Environment variable: MONZO_MCP_DB_PATH
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-partymola-monzo-mcp": {
"env": {
"MONZO_MCP_DB_PATH": "your-monzo-mcp-db-path-here",
"MONZO_MCP_CONFIG_DIR": "your-monzo-mcp-config-dir-here"
},
"args": [
"monzo-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
MCP server for the Monzo banking API. Read-only access to accounts, balances, pots, transactions, and spending analysis - all through Claude Code or any MCP client.
Unlike other Monzo MCP implementations that use raw bearer tokens (which expire in 6 hours), this server handles full OAuth with automatic token refresh.
monzo_sync by hand| Tool | Description | Data source |
|---|---|---|
monzo_list_accounts | List accounts with types and IDs | Live API |
monzo_get_balance | Current balance and spend today | Live API |
monzo_list_pots | Savings pots and balances | Live API |
monzo_sync | Sync transactions to local cache | Live API -> SQLite |
monzo_list_transactions | List/filter cached transactions | Local cache (auto-syncs if stale) |
monzo_search_transactions | Search by merchant/description/notes | Local cache (auto-syncs if stale) |
monzo_spending | Spending analysis with category breakdown | Local cache (auto-syncs if stale) |
git clone https://github.com/partymola/monzo-mcp.git
cd monzo-mcp
uv venv --python 3.13 .venv
uv pip install -e .
Go to developers.monzo.com and create an OAuth client:
http://localhost:6600/callbackmonzo-mcp auth
This opens your browser for Monzo OAuth. After authorizing, approve the login in your Monzo app within 5 minutes for full transaction history access (Monzo's SCA window).
claude mcp add -s user monzo -- /path/to/monzo-mcp/.venv/bin/monzo-mcp
In Claude Code, run monzo_sync to populate the local transaction cache. Do this immediately after auth to take advantage of the SCA window (up to 11 months of history).
monzo-mcp Start the MCP server (stdio transport)
monzo-mcp auth Interactive OAuth setup (opens the browser)
monzo-mcp --version Print the installed package version
All configuration is via environment variables (optional):
| Variable | Default | Description |
|---|---|---|
MONZO_MCP_CONFIG_DIR | <package>/config/ | Directory for OAuth credentials and tokens |
MONZO_MCP_DB_PATH | <package>/monzo.db | Path to SQLite transaction cache |
Credential files (created by monzo-mcp auth):
config/monzo_client.json - OAuth client ID and secretconfig/monzo_tokens.json - Access and refresh tokens (auto-refreshed)Monzo's Strong Customer Authentication (SCA) limits transaction history access:
The local SQLite cache preserves all synced transactions permanently, so run monzo_sync promptly after monzo-mcp auth.
To backfill a specific range, pass since to monzo_sync - an ISO date (2026-01-01) or datetime (2026-01-01T14:30:00Z). It overrides the usual last-sync resumption and is passed straight to the Monzo API. Reaching back more than ~90 days only works inside the SCA window; outside it, the 90-day fallback applies.
config/ directory (gitignored)monzo-mcp auth and approve the login in the Monzo app within 5 minutes, then sync straight away (see the SCA window above).monzo-mcp auth to re-authorise.monzo_sync (or any cache-reading tool, which auto-syncs) once after authenticating.See CONTRIBUTING.md for development setup, the test workflow, and the pre-commit hook. Changes are tracked in CHANGELOG.md.
GPL-3.0-or-later. See LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.