monzo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MONZO_MCP_DB_PATH | No | Path to SQLite transaction cache (default: <package>/monzo.db) | |
| MONZO_MCP_CONFIG_DIR | No | Directory for OAuth credentials and tokens (default: <package>/config/) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| monzo_list_accountsA | List all Monzo accounts with their types and IDs. Returns account details including whether each is personal or joint, and whether it is open or closed. |
| monzo_get_balanceA | Get current balance for a Monzo account. Args: account_type: "personal" or "joint" (default: "personal") Returns balance, spend today, and currency. Also records a balance snapshot. |
| monzo_list_potsA | List all pots (savings buckets) for a Monzo account. Args: account_type: "personal" or "joint" (default: "personal") Returns the account the pots belong to, plus pot names and balances. Also records balance snapshots. |
| monzo_syncA | Sync transactions, balances, and pots from the Monzo API into the local cache. Fetches up to 11 months of history (within SCA window) or falls back to the last-synced timestamp / 90 days. Handles pagination and auth-hold deduplication automatically. Args: account_type: "personal", "joint", or None to sync all accounts since: Optional ISO date ("2026-01-01") or datetime ("2026-01-01T14:30:00Z") to start the backfill from, overriding last-sync resumption. Reaching beyond ~90 days only works inside the post-auth SCA window. |
| monzo_list_transactionsA | List transactions from the local cache. Auto-syncs if the cache is stale (last sync before today). Queries the synced transaction database, not the live API. Bank transfers
(faster payments, p2p, bacs) include a Returns Args: account_type: "personal" or "joint" (default: all) since: Start date, e.g. "2026-01-01" (inclusive) before: End date, e.g. "2026-02-01" (exclusive) category: Exact category match, e.g. "groceries", "eating_out", "transport" merchant: Merchant name search (case-insensitive, partial match) limit: Max results (default 50) |
| monzo_search_transactionsA | Search cached transactions by merchant, counterparty (payee), description, or notes. Auto-syncs if the cache is stale (last sync before today). Case-insensitive partial match across merchant_name, counterparty_name, description, and notes fields. Counterparty matching finds bank transfers (faster payments, p2p, bacs) by payee name. Returns Args: query: Search term account_type: "personal" or "joint" (default: all) since: Start date, e.g. "2026-01-01" (inclusive) before: End date, e.g. "2026-02-01" (exclusive) limit: Max results (default 30) |
| monzo_spendingA | Analyse spending from cached Monzo transactions. Auto-syncs if the cache is stale (last sync before today). Every result carries Args: month: Month in YYYY-MM format (default: current month) category: Filter by category, e.g. "groceries", "eating_out", "transport" account_type: "personal" or "joint" (default: all) detail: If true, return individual transactions instead of category summary |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Tools are mostly distinct, but monzo_search_transactions and monzo_list_transactions both query cached transactions, differing mainly in search vs filter semantics; users could confuse which to use. Spending analysis is distinct as it provides aggregated insights.
All tools follow the monzo_ prefix with snake_case and mostly verb_noun pattern (get_balance, list_pots, search_transactions). However, 'monzo_sync' lacks a noun and 'monzo_spending' uses a noun as the action, deviating slightly from the pattern.
Seven tools is well-scoped for a personal finance MCP covering balance, pots, accounts, transactions, and spending analysis. Each tool serves a clear purpose without redundancy.
Covers core read-only banking operations: balance, accounts, pots, transaction listing/search, spending analysis, and data synchronization. Missing features like pot transfers or transaction details by ID, but these are beyond typical read-only scope.