MCP server for Monobank Open API — accounts, transactions, exchange rates, jars & webhooks for Claude and other LLM clients.
- 8 Personal API tools — accounts, statements, exchange rates, jars, webhooks
- 4 Corporate API tools — ECDSA signing, multi-user auth flow, zero rate limits
- Smart caching — respects Monobank's 1 req/60s limit automatically
- Retry with backoff — exponential retry on transient failures
- Request deduplication — concurrent identical calls merged into one HTTP request
- Resources & Prompts — exchange rates as context, spending analysis template
- English-first docs — full API reference, agent setup guide, corporate guide
Get your token at https://api.monobank.ua/ (scan QR with Monobank app), then:
npx -y monobank-mcpAdd to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"monobank": {
"command": "npx",
"args": ["-y", "monobank-mcp"],
"env": {
"MONOBANK_TOKEN": "your_token_here"
}
}
}
}Add to .vscode/mcp.json or .cursor/mcp.json:
{
"servers": {
"monobank": {
"command": "npx",
"args": ["-y", "monobank-mcp"],
"env": {
"MONOBANK_TOKEN": "your_token_here"
}
}
}
}claude mcp add monobank -- npx -y monobank-mcpThen set MONOBANK_TOKEN in your environment.
| Tool | Description |
|---|---|
get_client_info |
Client profile, all accounts and jars with balances, IBANs |
get_statement |
Transaction history for any date range (max 31 days) |
get_recent_transactions |
Latest N transactions from the last X minutes |
get_exchange_rates |
Current UAH/USD/EUR and 100+ exchange rate pairs |
get_jars |
Savings jars with balances, goals, and progress |
set_webhook |
Register a URL for real-time transaction events |
delete_webhook |
Stop receiving webhook notifications |
get_webhook_status |
Check currently registered webhook URL |
Available when MONOBANK_AUTH_MODE=corporate. See Corporate API Setup.
| Tool | Description |
|---|---|
initiate_authorization |
Start user auth flow, returns Monobank app URL |
check_authorization |
Check if user approved the auth request |
get_corp_settings |
Get corporate app settings (key, name, webhook) |
set_corp_webhook |
Set webhook URL for the corporate application |
| Resource | URI | Description |
|---|---|---|
| Exchange Rates | monobank://exchange-rates |
Current exchange rates as background context |
| Prompt | Description |
|---|---|
spending-analysis |
Analyze spending patterns for a given period (week / month / quarter) |
| Endpoint | Personal API | Corporate API |
|---|---|---|
client-info |
1 req / 60s | Unlimited |
statement |
1 req / 60s | Unlimited |
currency |
No limit | No limit |
webhook |
No limit | No limit |
The server caches responses automatically (59s for rate-limited endpoints, 5 min for exchange rates). Retry with exponential backoff handles transient failures.
| Variable | Required | Description |
|---|---|---|
MONOBANK_TOKEN |
Personal mode | Token from https://api.monobank.ua/ |
MONOBANK_AUTH_MODE |
No | personal (default) or corporate |
MONOBANK_KEY_ID |
Corporate mode | SHA1 hash of your public key |
MONOBANK_PRIVATE_KEY_PATH |
Corporate mode | Path to ECDSA secp256k1 private key |
MONOBANK_PRIVATE_KEY_PEM |
Corporate mode | PEM string (alternative to file path) |
docker build -t monobank-mcp .
docker run -e MONOBANK_TOKEN=your_token monobank-mcpgit clone https://github.com/serhiizghama/monobank-mcp.git
cd monobank-mcp
npm install
npm run build
npm test- API Reference — full tool/resource/prompt reference with examples
- Corporate API Setup — ECDSA key generation, auth flow
- Agent Setup Guide — instructions for AI agents to auto-install
MIT