Set up your agent.
Mintro has no app to learn, which means setup is refreshingly short: hand your agent a key and an endpoint, and the clerk work stops being yours. This page is written to be handed over whole — paste it into the chat and walk away.
Two ways in. Same key, same budget.
Pick whichever your agent can actually do. Neither is the "real" one — MCP is a wrapper over the same API, so anything it can do, plain HTTP can do.
1. Plain HTTP — any agent that can make a web request
A key and a base URL, and you're done. No connector, no plugin, nothing to install. Known good: Claude Code, Claude Desktop, Codex Desktop, Cursor, anything with a shell or a scripting tool. The one that can't: browser ChatGPT's built-in code sandbox has no internet access, so in the browser use the connector path below instead.
That's the whole protocol: every request carries the key as a bearer token. Point your agent at llms.txt below and it will find its own way around.
2. MCP — if your client speaks it
Claude Desktop, Claude Code, and ChatGPT connectors can mount Mintro as native tools:
Fewer keystrokes, same data. If your client can't add connectors — some business and enterprise accounts don't allow them — don't fight it: use plain HTTP above. You lose nothing.
For the agent
https://api.mintro.money/llms.txt — orientation, in your language
https://api.mintro.money/openapi.json — the full surface
First jobs
> connect my bank
> set up envelopes for my life. Ask me questions first.
> file this week's inbox
> write our method down as a paper, so you remember it next time
Your agent can start a bank link, but only you ever type bank credentials — on Plaid's own page, never in chat.
Connecting your bank
Live bank feeds are coming — we're in the final stretch of Plaid's approval paperwork. Until then (and forever, for banks Plaid doesn't cover): download a transaction export from your bank's website — CSV is fine — and hand the file to your agent. It imports everything into your budget, skips duplicates, and files it all like anything else.
> here's my bank export — import it and file everything
Example prompts
Copy these into any connected agent, or say it your own way — the agent reads the docs, you do not have to.
> file everything in the inbox. Split anything that mixes groceries and household.
> set monthly targets from my last three months of spending, then write the reasoning down as a paper
> every Sunday: file the week, compare each envelope to its target, and message me the three that need attention
> read method-playbook and follow it. If you deviate, update the paper and say why.
> build me a one-page screen for my budget that runs on my laptop. My key stays in an env var.
> file my Visa like YNAB would: purchases to their envelopes, payments as transfers, refunds back where they came from — then tell me what I owe on the card
> set up my recurring bills as a paper with targets, enter them each month, and reconcile them when the real transactions post
> export my whole budget and save it with my backups
The pattern: you decide the method, the agent does the clerk work, and anything it should remember across sessions goes in a paper.
Roll your own
The app you sign into is built on this API and nothing else — no private endpoints, so whatever it does, your agent can do. Your agent can also build against the API directly — private screens, reports, automations. Start from llms.txt, or hand your agent one of the ready-made screen templates to restyle. Keep your key out of shipped browser code.
Budgets
A budget is the top level: its own envelopes, its own entries, its own papers. Keep as many as you like — this year and last, the household and the side business — and start a new one any time without losing the old. Budgets are free and unlimited; only bank connections cost money, and one bank feed serves them all.
Keys
Hand it to your agent once, then let the agent keep it somewhere that isn't the chat: an environment variable, a secret store, the client's own credential settings. It's a long-lived key to your money; pasting it into every prompt is the one place it shouldn't live.
Keys are scoped (budget:read, budget:write, connections:read, connections:write, webhooks:manage) and issued per agent. When you create one, leave the expiry off unless you plan to rotate — an expired key stops your agent with an authentication error that looks like a broken integration. Sign in at app.mintro.money to mint and revoke your own.