Connect an AI agent to Outlai
The Outlai connector lets an AI app you already use, like Claude, ChatGPT, Cursor or an agent you wrote yourself, read your transactions and budgets, and record new expenses for you. It's an MCP server: there's nothing to install and no key to copy.
You choose the access
Read only, or read and write. You approve every app yourself, in Outlai.
Nothing is permanent
Disconnect any app at any time, and undo every change it made.
It can't delete transactions
Agents can add and edit transactions, but never remove them.
The connector URL
Every app needs the same single address:
https://api.outlai.io/mcp
Sign-in happens through OAuth: the app opens Outlai in your browser and you approve it there. You never paste a password or token into the agent.
Add it to your app
Menu names change from release to release. If a step below doesn't match what you see, look for custom connector, remote MCP server or add server by URL.
Claude (web, desktop and mobile)
- Open Settings → Connectors and choose Add custom connector.
- Name it
Outlai, paste the URL above and save. - Click Connect. A browser window opens on Outlai; approve it there.
Claude Code
claude mcp add --transport http outlai https://api.outlai.io/mcp
Then run /mcp in Claude Code, pick outlai and choose to authenticate. Your browser opens on Outlai.
ChatGPT
- Open Settings → Connectors (on some plans, custom connectors sit behind Developer mode under Advanced settings) and create a new connector.
- Paste the URL above, and choose OAuth if you're asked how it authenticates.
- Approve the connection in the Outlai window that opens.
Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project), then enable outlai under MCP settings and sign in when prompted:
{
"mcpServers": {
"outlai": { "url": "https://api.outlai.io/mcp" }
}
}
VS Code (Copilot agent mode)
Add this to .vscode/mcp.json, then start the server from the editor and sign in when prompted:
{
"servers": {
"outlai": { "type": "http", "url": "https://api.outlai.io/mcp" }
}
}
Apps without a browser
Command-line tools and headless agents can use a one-time code instead. The agent shows you a code like BCDF-GHJK. Open app.outlai.io/#/connect/device on any device, sign in, enter the code and approve. Codes last 10 minutes and work once. Writing such a client yourself? See the device flow.
Approve the connection
When an app connects, Outlai opens a screen titled Connect an app to Outlai. Before you approve:
- Check the name and website. Every app shows an Unverified app badge, because Outlai doesn't verify who runs an app yet. Only continue if you started this connection yourself.
- Choose what it can do. Tick Read, Write or both. You can give an app less than it asked for.
- Click Approve. You're sent back to the app, and it can start using Outlai straight away.
A connection lasts 90 days. After that the app asks you to approve it again.
Permissions
| Permission | What the app can do |
|---|---|
| Read | Read your transactions, categories, accounts, budgets and recurring rules, and summarise your spending. |
| Write | Add and edit transactions, set and delete budgets, and create, edit, pause or delete recurring rules. It can never delete a transaction. |
An app only sees the tools its permissions allow. A read-only app can't even see the write tools. The full list is on the Tools page.
Things to ask
- “How much did I spend on food last month, compared with the month before?”
- “List my subscriptions and what they cost me per year.”
- “I paid 12.50 for lunch at Chipotle today. Log it under food.”
- “Set my monthly groceries budget to 400 USD.”
- “Which merchants did I spend the most at this year?”
The AI does the thinking. Outlai only hands over data and records what the agent asks it to. Outlai's own AI features (Otto, smart add, receipt scanning) aren't part of the connector.
Disconnect and undo
Everything is in the Outlai app under Settings → Connected apps. For each app you can see its permissions, when it connected and was last used, and its recent activity. Activity records which tool ran and when; the requests themselves aren't stored.
- Disconnect: the app loses access immediately. Changes it already made stay.
- Undo changes: transactions the app added are removed, and fields it edited go back to what they were. Anything you've changed yourself since is left alone.
- Disconnected apps stay listed for 30 days, so you can still undo their changes.
Changing your password disconnects every app. Deleting your account removes all connections.
Privacy and safety
- The app and its AI see what they read. Data the agent reads is shared with that app and with whichever AI model it uses, under their privacy terms. Only connect apps you trust.
- Your data only. A connection can only reach the account that approved it.
- Text is data, not instructions. Outlai tells the agent that merchant names and notes are user data, and strips hidden control characters from them.
- Tokens never leave the OAuth exchange. Outlai stores them only as hashes, and they don't work on the rest of the Outlai API.
Limits
| Limit | Value |
|---|---|
| Requests | 60 per minute per app, 120 per minute across all your apps |
| Changes | 100 per app per day (UTC). Retries and changes that don't change anything aren't counted. |
| Transactions per request | Up to 200, with paging for more |
| Date range | Up to 12 months per request |
| Connection lifetime | 90 days, then approve again |
| Activity and undo history | 90 days (at least 30 days after you disconnect) |
FAQ
Can an agent delete my transactions?
No. Agents can add and edit transactions. Only you can delete them, in the app.
Does it use my Outlai AI allowance?
No. The connector runs no Outlai AI; the thinking happens in the app you connected.
Which currencies work?
All 154 currencies the Outlai app supports. Totals are always given per currency and never converted or added together.
Can I connect more than one app?
Yes. Each app is a separate connection with its own permissions, activity and undo.
Troubleshooting
| You see | What it means |
|---|---|
connector_disabled or Connecting apps is turned off | Outlai has paused the connector. Try again later. |
| The app keeps asking you to sign in | The connection expired (90 days), was disconnected, or your password changed. Approve it again. |
rate_limited | Too many requests in a minute. The app should wait and retry. |
| daily write limit reached | This app made 100 changes today. The limit resets at midnight UTC. |
| A device code doesn't work | Codes last 10 minutes and work once. Ask the agent for a new one. |
Still stuck? Email [email protected].