Provides access to Monzo banking data through an MCP server for Claude to query balances, pots, and transactions.
Configuration
View docs{
"mcpServers": {
"bfdcampos-monzo-mcp-bfdcampos": {
"command": "uv",
"args": [
"run",
"mcp",
"run",
"/path/to/your/monzo-mcp-bfdcampos/monzo-mcp-bfdcampos/main.py"
],
"env": {
"MONZO_USER_ID": "YOUR_USER_ID",
"MONZO_ACCOUNT_ID": "YOUR_ACCOUNT_ID",
"MONZO_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
"MONZO_UK_RETAIL_PERSONAL_ACCOUNT_ID": "YOUR_PERSONAL_ACCOUNT_ID",
"MONZO_UK_PREPAID_PERSONAL_ACCOUNT_ID": "YOUR_PREPAID_ACCOUNT_ID",
"MONZO_UK_REWARDS_PERSONAL_ACCOUNT_ID": "YOUR_REWARDS_ACCOUNT_ID",
"MONZO_UK_RETAIL_JOINT_JOINT_ACCOUNT_ID": "YOUR_JOINT_ACCOUNT_ID",
"MONZO_UK_MONZO_FLEX_PERSONAL_ACCOUNT_ID": "YOUR_FLEX_ACCOUNT_ID"
}
}
}
}You run a Monzo MCP Server that lets Claude tools query your Monzo data through a dedicated MCP endpoint. This server exposes account balances, pots, transactions, and pot transfers in a structured, programmable way so you can ask Claude to manage and analyze your Monzo information efficiently.
You will use an MCP client or Claude Desktop to communicate with your Monzo MCP Server. Start the server using the provided local initialization command, then configure Claude Desktop to connect to the local MCP process. Once connected, you can ask Claude to check balances, list pots, transfer money between accounts and pots, and view transactions. You can also annotate transactions to add notes.
Prerequisites: you need Python and the uvx-based MCP toolchain available in your environment.
1) Clone the project and navigate into the project directory.
git clone https://github.com/BfdCampos/monzo-mcp-bfdcampos.git
cd monzo-mcp-bfdcampos/monzo-mcp-bfdcampos2) Install dependencies using the MCP package manager.
uv installConfiguration and startup are designed to be straightforward. You will run a local MCP server process that Claude Desktop can connect to. The server requires environment variables for your Monzo credentials and account identifiers. Set these in a .env file or provide them directly to the runtime environment.
Security note: treat your Monzo tokens and account IDs as sensitive. Do not share your .env file or the runtime environment with unauthorized users. Rotate credentials as recommended by Monzo’s developer guidelines.
Troubleshooting tips: if Claude Desktop does not detect the server, ensure you are using the latest Claude Desktop, verify the absolute path to your uv binary, and confirm that the requests library is included in your run configuration.
The server exposes several actionable functions: balance, pots, pot_deposit, pot_withdraw, list_transactions, retrieve_transaction, and annotate_transaction. You can call these functions from Claude to query balances, view and manage pots, transfer funds, and inspect or annotate transactions.
{
"mcpServers": {
"monzo": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"mcp",
"run",
"/path/to/your/monzo-mcp-bfdcampos/monzo-mcp-bfdcampos/main.py"
],
"env": [
{"name": "MONZO_ACCESS_TOKEN", "value": "YOUR_ACCESS_TOKEN"},
{"name": "MONZO_USER_ID", "value": "YOUR_USER_ID"},
{"name": "MONZO_ACCOUNT_ID", "value": "YOUR_ACCOUNT_ID"},
{"name": "MONZO_UK_PREPAID_PERSONAL_ACCOUNT_ID", "value": "YOUR_PREPAID_ACCOUNT_ID"},
{"name": "MONZO_UK_RETAIL_PERSONAL_ACCOUNT_ID", "value": "YOUR_PERSONAL_ACCOUNT_ID"},
{"name": "MONZO_UK_MONZO_FLEX_PERSONAL_ACCOUNT_ID", "value": "YOUR_FLEX_ACCOUNT_ID"},
{"name": "MONZO_UK_REWARDS_PERSONAL_ACCOUNT_ID", "value": "YOUR_REWARDS_ACCOUNT_ID"},
{"name": "MONZO_UK_RETAIL_JOINT_JOINT_ACCOUNT_ID", "value": "YOUR_JOINT_ACCOUNT_ID"}
]
}
}
}Returns the balance, today’s spending, and currency for a specified account type, with optional total balance flag.
Returns the list of pots for a specified account type.
Deposit money from an account into a specified pot.
Withdraw money from a pot back to an account.
Lists transactions for a specified account with optional filters.
Retrieves details of a specific transaction by its ID.
Edits the metadata of a transaction, such as notes.