alex1092/up-bank-mcp-server
If you are the rightful owner of up-bank-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Up Banking MCP Server integrates with the Up Banking API, allowing interaction with banking data such as accounts, transactions, and categories.
Up Banking MCP Server
A Model Context Protocol (MCP) server that provides integration with the Up Banking API. This server allows Claude to interact with your Up banking data, including accounts, transactions, and categories.
Features
- Account Management: List all accounts, get account details and balances
- Transaction History: Query transactions with flexible filtering (date range, status, category, tags)
- Category Information: Access Up's spending categories for better transaction insights
- Type-Safe: Built with TypeScript for reliability and developer experience
- Secure: Uses Up's personal access token for authentication
Prerequisites
- Node.js 18 or higher
- An Up bank account
- Up personal access token
Installation
- Clone or download this repository:
cd up-mcp-server
- Install dependencies:
npm install
- Build the server:
npm run build
Getting Your Up API Token
- Open the Up app on your phone
- Swipe right and select "Data sharing"
- Tap on 'Personal Access Token'
- Select 'Generate a token'
- Choose how long you want the token to last
- Follow the prompts and copy your token securely
Important: Keep your token secure! Never share it or commit it to version control.
Configuration
Claude Desktop Configuration
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"up-banking": {
"command": "node",
"args": ["/absolute/path/to/up-mcp-server/build/index.js"],
"env": {
"UP_API_TOKEN": "your_up_api_token_here"
}
}
}
}
Replace /absolute/path/to/up-mcp-server with the actual path to this directory, and replace your_up_api_token_here with your Up personal access token.
Alternative: Using npx
You can also run the server directly with npx:
{
"mcpServers": {
"up-banking": {
"command": "npx",
"args": ["-y", "/absolute/path/to/up-mcp-server"],
"env": {
"UP_API_TOKEN": "your_up_api_token_here"
}
}
}
}
Available Tools
up_ping
Test the API connection and verify authentication is working.
up_list_accounts
List all accounts with optional filtering by account type or ownership.
Parameters:
accountType(optional): Filter by "SAVER", "TRANSACTIONAL", or "HOME_LOAN"ownershipType(optional): Filter by "INDIVIDUAL" or "JOINT"
up_get_account
Get detailed information about a specific account.
Parameters:
accountId(required): The account ID
up_list_transactions
List transactions with comprehensive filtering options.
Parameters:
accountId(optional): Filter to a specific accountstatus(optional): "HELD" (pending) or "SETTLED"since(optional): Start date in RFC 3339 format (e.g., "2024-01-01T00:00:00+10:00")until(optional): End date in RFC 3339 formatcategory(optional): Category ID (e.g., "restaurants-and-cafes")tag(optional): Transaction tagpageSize(optional): Number of results (1-100)
up_get_transaction
Get detailed information about a specific transaction.
Parameters:
transactionId(required): The transaction ID
up_list_categories
List all spending categories in Up.
Parameters:
parentId(optional): Filter to children of a specific parent category
up_get_category
Get details about a specific category.
Parameters:
categoryId(required): The category ID (e.g., "restaurants-and-cafes")
Usage Examples
Once configured, you can ask Claude questions like:
- "What's my current account balance?"
- "Show me all transactions from last month"
- "How much did I spend on restaurants this week?"
- "List all my saver accounts"
- "What are the pending transactions in my spending account?"
- "Show me all transactions tagged with 'vacation'"
Development
Watch Mode
For development with automatic recompilation:
npm run dev
Testing the Connection
After configuration, restart Claude Desktop and try:
Can you ping the Up API to verify the connection?
Troubleshooting
"UP_API_TOKEN environment variable is required"
Make sure you've added your Up API token to the env section of your Claude Desktop config.
"Up API error: 401"
Your API token is invalid or expired. Generate a new token in the Up app.
Server not appearing in Claude
- Check that the path to
build/index.jsis absolute and correct - Verify the JSON syntax in your config file is valid
- Restart Claude Desktop completely
- Check Claude's logs for error messages
Security Notes
- Your Up API token grants full read access to your banking data
- Never commit your token to version control
- Use environment variables or secure configuration management
- Token access can be revoked anytime in the Up app
- Consider setting an expiration date for your tokens
API Rate Limits
The Up API has rate limits. The server will return error messages if limits are exceeded. Use pagination and filtering to minimize API calls.
Contributing
This is a basic implementation covering the main read operations. Potential enhancements:
- Add webhook support for real-time transaction notifications
- Implement transaction categorization updates
- Add attachment/receipt support
- Support for pagination with cursor-based browsing
License
MIT