Monzo is an MCP server that connects Claude Desktop and other Model Context Protocol clients directly to the Monzo banking API. It allows UK Monzo account holders, developers, and personal finance managers to query account balances, inspect historical transactions, and manage savings pots using conversational prompts. The server enables users to check balances across various account types including personal, joint, prepaid, Flex, and rewards accounts. Beyond simple balance queries, the server supports executing internal pot deposits and pot withdrawals to help automate routine budgeting routines. Users can also inspect transaction records filtered by date ranges, retrieve detailed single-transaction information including merchant metadata, and annotate specific transactions with custom text notes. By bridging personal banking data into Claude, the server facilitates conversational spending reviews, budget categorisation, and direct manipulation of personal savings without having to manually navigate the Monzo mobile application interface.
Category: Finance, Crypto & Payments
Tags: banking, fintech, monzo, transactions
bash git clone https://github.com/BfdCampos/monzo-mcp-bfdcampos.git cd monzo-mcp-bfdcampos/monzo-mcp-bfdcampos 2. Install the necessary project dependencies using uv: bash uv install 3. Create a .env file in the project folder with your Monzo credentials, including MONZO_ACCESS_TOKEN, MONZO_USER_ID, MONZO_ACCOUNT_ID, and optional specific account IDs. 4. Add the server configuration to your Claude Desktop configuration file located at ~/Library/Application Support/Claude/claude_desktop_config.json: json { "mcpServers": { "Monzo": { "command": "/Users/[Your Home Directory]/.local/bin/uv", "args": [ "run", "--with", "mcp[cli],requests", "mcp", "run", "/path/to/your/monzo-mcp-bfdcampos/monzo-mcp-bfdcampos/main.py" ] } } } 5. Replace the file paths with your actual system paths, ensuring requests is included in --with, then restart Claude Desktop.Part of MCP Servers
Clone the repository from GitHub, install dependencies using the uv package manager, and create a .env file with your Monzo developer access token and account IDs. Then, register the server under the mcpServers section in your Claude Desktop configuration file using the absolute path to uv and main.py, making sure to include requests in the arguments.
The server allows you to view balances and daily spending for multiple Monzo account types, list pots, transfer funds in and out of savings pots, search transaction histories across specified date ranges, view detailed merchant transaction data, and update or delete notes attached to specific transactions.
The server is built on the Model Context Protocol and is documented specifically for use with Claude Desktop on macOS or Linux. Any MCP client that supports spawning local Python subprocesses and passing environment variables can connect to this server.
When moving funds between your accounts and pots, the MCP server automatically assigns a unique dedupe ID containing a triggered by tag set to mcp. This parameter allows Monzo to distinguish automated operations and prevents duplicate transfers from being executed accidentally.
Connection issues are typically caused by relative file paths or missing dependencies. Ensure you use the absolute system path to the uv executable and the main.py script. Additionally, verify that requests is passed inside the with flag within your claude_desktop_config.json file, and check logs in your Claude log directory.