MCP wrapper of the Python Up Bank API Wrapper up-bank-api (credit to @jcwillox) (it's wrappers all the way down)
Made for Claude, by Claude (lol)
This is a Model Context Protocol (MCP) server that provides tools for interacting with the Up Bank API. It allows you to manage accounts, transactions, categories, tags, and webhooks through MCP-enabled clients like Claude for Desktop.
Feel free to contribute if you want to better optimise it for LLM, etc. However it's fine as is. I just wanted to learn how to make an MCP server.
Now Claude can roast me for my transaction history, what else is it good for?
Figure: Too much takeout I guess
- Python 3.10 or higher
- Up Bank API token
uv
package manager
-
First, install
uv
by running:curl -LsSf https://astral.sh/uv/install.sh | sh
Make sure to restart your terminal after installing
uv
. -
Clone this repository and navigate to it:
git clone <repository-url> cd up-mcp
-
Create and activate a virtual environment:
uv venv source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
-
Install dependencies:
uv pip install -r requirements.txt
-
Open your Claude (or other MCP-enabled) configuration file:
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- macOS/Linux:
-
Add the server configuration:
{
"mcpServers": {
"up-mcp": {
"command": "/ABSOLUTE/PATH/TO/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/up-mcp",
"run",
"up_mcp.py"
],
"env": {
"UP_TOKEN": "up:yeah:your-token-here"
}
}
}
}
Replace /ABSOLUTE/PATH/TO/uv
with the absolute path to your uv
executable.
Replace /ABSOLUTE/PATH/TO/up-mcp
with the absolute path to your project directory.
Replace up:yeah:your-token-here
with your Up Bank API token.
Get your Up Bank API token from the Up Bank website (https://api.up.com.au/).
- Restart Claude for Desktop.
The server provides the following tools:
- Account management (get accounts, get specific account)
- Transaction management (get transactions, get specific transaction)
- Category management (get categories, categorize transactions)
- Tag management (get tags, add/remove tags from transactions)
- Webhook management (create, delete, ping webhooks)
You can test the server using the included test.py
script:
python test.py
This will run through basic functionality tests including account retrieval and transaction listing.
If you encounter issues:
- Verify your UP_TOKEN environment variable is set correctly
- Check that all dependencies are installed correctly
- Ensure you're using Python 3.10 or higher
- Check Claude's logs for MCP-related issues