monobank-mcp
v2.1.0
Published
MCP server for Monobank Open API — accounts, statements, exchange rates, jars, webhooks
Maintainers
Readme
Features
- 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
Quick Start
Get your token at https://api.monobank.ua/ (scan QR with Monobank app), then:
npx -y monobank-mcpConfiguration
Claude Desktop
Add 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"
}
}
}
}VS Code / Cursor
Add to .vscode/mcp.json or .cursor/mcp.json:
{
"servers": {
"monobank": {
"command": "npx",
"args": ["-y", "monobank-mcp"],
"env": {
"MONOBANK_TOKEN": "your_token_here"
}
}
}
}Claude Code
claude mcp add monobank -- npx -y monobank-mcpThen set MONOBANK_TOKEN in your environment.
Tools
Personal API
| 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 |
Corporate API
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 |
Resources
| Resource | URI | Description |
|----------|-----|-------------|
| Exchange Rates | monobank://exchange-rates | Current exchange rates as background context |
Prompts
| Prompt | Description |
|--------|-------------|
| spending-analysis | Analyze spending patterns for a given period (week / month / quarter) |
Rate Limits
| 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.
Environment Variables
| 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
docker build -t monobank-mcp .
docker run -e MONOBANK_TOKEN=your_token monobank-mcpDevelopment
git clone https://github.com/serhiizghama/monobank-mcp.git
cd monobank-mcp
npm install
npm run build
npm testDocumentation
- 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
License
MIT
