monzo-mcp
Provides tools to interact with Monzo banking API, including listing accounts, retrieving balances, viewing transactions, managing pots, and annotating transactions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@monzo-mcpshow my recent transactions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
monzo-mcp
A TypeScript MCP server for interacting with the Monzo API from Claude Desktop or any other MCP client.
What is MCP?
MCP (Model Context Protocol) is an open standard that lets AI assistants discover and call tools exposed by local or remote servers. In this project, Claude Desktop launches a local Node.js process, sends JSON-RPC messages over standard input/output, and that process turns tool calls into HTTPS requests to Monzo.
+----------------+ JSON-RPC over stdio +----------------+ HTTPS +-----------+
| Claude Desktop | <---------------------------> | Monzo MCP | <------------> | Monzo API |
| (MCP client) | | Server | | |
+----------------+ +----------------+ +-----------+Related MCP server: bank-mcp
Setup
Clone the repo.
Install dependencies:
npm installCreate a Monzo developer app at https://developers.monzo.com.
Set the redirect URI to
http://localhost:3000/callbackSet the client type to confidential
Copy
.env.exampleto.envand fill in your client ID and client secret.cp .env.example .envComplete the OAuth flow.
Visit this exact authorization URL after replacing
YOUR_CLIENT_ID:https://auth.monzo.com/?client_id=YOUR_CLIENT_ID&redirect_uri=http://localhost:3000/callback&response_type=code&state=random123Approve access in Monzo. Monzo redirects back to:
http://localhost:3000/callback?code=YOUR_AUTH_CODE&state=random123Copy the
codevalue and exchange it for tokens:curl --request POST https://api.monzo.com/oauth2/token \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=authorization_code' \ --data-urlencode 'client_id=YOUR_CLIENT_ID' \ --data-urlencode 'client_secret=YOUR_CLIENT_SECRET' \ --data-urlencode 'redirect_uri=http://localhost:3000/callback' \ --data-urlencode 'code=YOUR_AUTH_CODE'Copy the returned
access_tokenandrefresh_tokeninto.env. The server will also persist refreshed tokens intotokens.jsonautomatically.
Building and running
Build the server:
npm run buildRun it manually if you want to test stdio startup:
npm startAdding to Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS:
{
"mcpServers": {
"monzo": {
"command": "node",
"args": [
"/absolute/path/to/monzo-mcp/dist/index.js"
]
}
}
}Replace /absolute/path/to/monzo-mcp/dist/index.js with your real path after building. The server reads .env from the repository root, so you can keep secrets out of the Claude Desktop config file.
Available tools
Tool | Description |
| List Monzo accounts available to the authenticated user. |
| Read the available balance, total balance, and today's spend for an account. |
| List transactions for an account with optional date filters and limit. |
| Fetch the full details for a specific transaction. |
| Add a note to a transaction's metadata. |
| Fetch up to 100 transactions and filter by merchant or description locally. |
| List pots linked to an account. |
| Move money from an account into a pot. |
| Move money from a pot back into an account. |
Security notes
OAuth tokens are stored in
tokens.json, which is gitignored.Never commit
.envor real tokens.This MCP server is intended to run locally on your machine.
For personal use, local disk token storage is standard; production deployments should use a proper secrets manager.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Matthew7727/monzo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server