Grokzo

Monzo → MCP → Grok

Your Monzo account. Over MCP.

Connect Monzo to Grok and ask questions about your money. Grokzo is an open-source MCP server you run yourself. It exposes tools for reading balances, searching transactions and summarising spending—not making payments or moving money.

Read-onlyOpen sourceSelf-hostedBuilt because I wanted it

Ask your money questions

Ask the way you would ask a person.

  • What did I spend yesterday?get_transactions · yesterday
  • How much did I spend at Amazon last month?search_transactions · last_month
  • Which payments look like recurring subscriptions?recurring_payments
  • How much is in my account and pots?get_balance + get_pots
  • Find my last payment to JLCPCB.search_transactions
  • Compare spending this month with last month.monthly_cashflow · months=2

Recurring-payment detection is an estimate based on the available transaction history, not a confirmed list of subscriptions.

How it works

How your data reaches Grok.

  1. MonzoYour accounts, balances, pots and transactions, accessed through the Monzo Developer API.
  2. GrokzoYour server. Stores synced transactions in SQLite and exposes read-only tools.
  3. MCPThe protocol Grok uses to discover and call Grokzo’s tools.
  4. GrokConnects to your server and uses the tool results to answer your questions.

Grokzo returns structured balances, transactions and summaries when Grok calls its tools. Those results are sent to Grok for processing. Self-hosting Grokzo does not mean your financial data stays on your server.

Security

Read-only MCP tools.

Available through Grokzo

  • Read accounts, balances, pots and transactions
  • Search transactions and summarise spending
  • Identify possible recurring payments

Not available through Grokzo

  • Make payments or transfers
  • Deposit into or withdraw from pots
  • Modify your Monzo account or transactions

Access controls

  • Bank-data requests are restricted to an allowlist of read endpoints.
  • MCP access requires authentication and your approval.
  • Credential storage, logging and limitations are described in the security documentation in the source repository (not public yet).

Read-only describes the tools Grokzo exposes. Your server still holds sensitive financial data and Monzo credentials. A compromised server or leaked credentials remain a risk.

Get started

Try it, then run your own.

  1. 1Try it with dummy data

    Needs Docker only. No bank, no domain, no accounts. Invented transactions, real tools.

    git clone <repository not yet published> grokzo && cd grokzo
    scripts/try-demo.sh

    It prints a temporary HTTPS address and a token. Give both to Grok and ask “What did I spend yesterday?”

  2. 2Run it on your Monzo account

    Create a personal OAuth client at developers.monzo.com and put its ID and secret in .env. Then start Grokzo on a server or a machine at home:

    cp .env.example .env    # Monzo client, secrets, your domain
    GROKZO_DOMAIN=mcp.example.com docker compose up -d --build

    Open /monzo/connect, sign in, and approve in the Monzo app straight away: Monzo allows the full-history import only in the first five minutes.

  3. 3Connect Grok

    grok.com: Connectors → New Connector → Custom → https://your-domain/mcp, then approve on your Grokzo.

    Grok Bot: give it the address and your token.

Can I host it at home?

Yes. Grok runs in the cloud, so it cannot reach localhost. Use a Cloudflare Tunnel: free with a domain on Cloudflare, no port forwarding. Any machine that runs Docker will do.

Who is it for?

People comfortable with a terminal and Docker. One person, one Monzo account, on hardware you control.

Where is the code?

Self-hosted. SQLite-backed. MIT licensed. The source repository is not public yet.

Grokzo is a single-user, self-hosted project using the Monzo Developer API. Monzo states that this API is not suitable for public applications. This version is for connecting your own account, not providing a public hosted banking service.