Up Bank Integration
STDIOMCP server for interacting with Up Bank API, managing accounts, transactions, and categories.
MCP server for interacting with Up Bank API, managing accounts, transactions, and categories.
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
uv
package managerFirst, 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:
~/Library/Application Support/Claude/claude_desktop_config.json
%AppData%\Claude\claude_desktop_config.json
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/).
The server provides the following tools:
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: