# Connect your assistant Every assistant connects to one address. Add it, sign in with Google, and ask about your money. Server: https://cashflow.tech/api/mcp ## Fastest: paste this into your agent Whichever agent you use, it can set itself up: ``` Connect to Cashflow, the app that keeps track of my day-to-day money, as an MCP server at https://cashflow.tech/api/mcp (Streamable HTTP, OAuth 2.1 with PKCE; client ID metadata documents or dynamic client registration; the first call without a token answers 401 with the discovery address). If you have a built-in way to add a remote MCP server with OAuth, use it rather than writing a client of your own (Claude Code: claude mcp add --transport http --scope user cashflow https://cashflow.tech/api/mcp; Codex: codex mcp add cashflow --url https://cashflow.tech/api/mcp, then codex mcp login cashflow). Before you open the sign-in link, tell me what will happen: I sign in with Google and approve the connection in my browser. Then open the link. Read https://cashflow.tech/docs/llms.txt for how the tools work. Once connected: 1) call query with { digest: true } and tell me in a few lines what needs my attention today and what you can do for me from now on; 2) if no bank account is connected yet, call the accounts tool so I can connect one; 3) ask whether you should use Cashflow whenever I ask about my money, and if I say yes, save this in your memory or instructions: Answer questions about my spending, bills and balances from Cashflow rather than guessing, and ask me before changing anything in it. ``` It opens a page where you sign in with Google and approve, then tells you what needs your attention today. Prefer to do it by hand? Find your assistant below. ## Chat assistants Add Cashflow once and sign in with Google. Nothing to copy but the address. ### Claude (web, desktop and mobile) [Add to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Cashflow&connectorUrl=https%3A%2F%2Fcashflow.tech%2Fapi%2Fmcp) Claude opens its Add custom connector form with Cashflow filled in. Select Add, then sign in with Google and approve. On a Team or Enterprise plan, an Owner adds it first under Organization settings → Connectors → Add → Custom; then each person selects Connect. The free plan allows one custom connector. ### ChatGPT [Open ChatGPT Plugins](https://chatgpt.com/plugins) Select +, then Add custom MCP server. Name it Cashflow, paste the server address, choose OAuth sign-in, and select Create as a plugin. Sign in with Google when asked. Not every ChatGPT plan allows custom servers. ChatGPT signs in with OAuth only; it does not take access tokens. ### Gemini (including Spark) On gemini.google.com, open Settings → Connected Apps. Under Custom apps, select Add a custom app, paste the server address, select Next, and sign in. Set it up on the web; it then works on mobile too. Custom apps need a personal Google account, in the US, in English, with Keep Activity on. ### Le Chat (Mistral) Open Connectors, select + Add Connector, and switch to the Custom MCP Connector tab. Name it Cashflow, paste the server address, select Connect, and sign in. ## Personal agents Agents that run on their own often can't open a sign-in page. Create an access token in Settings (https://cashflow.tech/settings) and give it to the agent instead. Each one sees your data the way you would. ### Muse Muse builds its own connector when you ask. Send it this, and give it your access token when it asks for a credential: ``` Build a custom integration to Cashflow, the app that keeps track of my money. Its MCP server URL is https://cashflow.tech/api/mcp. It takes my access token as a bearer token. I want you to be able to answer questions about my spending, bills and balances from any future conversation. ``` ### ChatGPT dots Dots reach apps through your ChatGPT plugins. Add Cashflow to ChatGPT (above) and your dots can use it. ### Poke At poke.com/integrations/new, name it Cashflow, paste the server address, leave the API key empty, and sign in when Poke asks. Or from a terminal: ``` npx poke@latest mcp add https://cashflow.tech/api/mcp -n "Cashflow" ``` ### Manus Open Settings → Integrations → Custom MCP Servers and select Add Server. Name it Cashflow, paste the server address, and give it an access token as a bearer token. ### OpenClaw ``` openclaw mcp set cashflow '{"url":"https://cashflow.tech/api/mcp","transport":"streamable-http","auth":"oauth"}' ``` Or, for a scheduled job that can't open a browser, with an access token: ``` openclaw mcp set cashflow '{"url":"https://cashflow.tech/api/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer "}}' ``` ## Coding agents One command or one click, then sign in when the agent opens your browser. ### Claude Code Install the Cashflow plugin: the server plus ready-made skills (monthly recap, tidy up, trips, and more). ``` /plugin marketplace add https://github.com/cashflow-tech/plugin.git /plugin install cashflow@cashflow ``` Or add just the server, then run `/mcp` to sign in: ``` claude mcp add --transport http --scope user cashflow https://cashflow.tech/api/mcp ``` ### Codex Add the server, then sign in when Codex opens your browser: ``` codex mcp add cashflow --url https://cashflow.tech/api/mcp codex mcp login cashflow ``` ### Cursor [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=cashflow&config=eyJ1cmwiOiJodHRwczovL2Nhc2hmbG93LnRlY2gvYXBpL21jcCJ9) Or add this to `~/.cursor/mcp.json` (inside its `mcpServers` section if it has one), then sign in when Cursor asks: ``` { "mcpServers": { "cashflow": { "url": "https://cashflow.tech/api/mcp" } } } ``` ### VS Code [Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22cashflow%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcashflow.tech%2Fapi%2Fmcp%22%7D) Then sign in when VS Code asks. ### Gemini CLI ``` gemini mcp add --transport http cashflow https://cashflow.tech/api/mcp ``` Then run `/mcp auth cashflow` inside Gemini CLI to sign in. ### Devin Desktop (Windsurf) Add this to `~/.config/devin/mcp_config.json` (`%APPDATA%\devin\mcp_config.json` on Windows), then sign in when it asks. It names the address `serverUrl`, not `url`: ``` { "mcpServers": { "cashflow": { "serverUrl": "https://cashflow.tech/api/mcp" } } } ``` ## Any other MCP app Point it at https://cashflow.tech/api/mcp. It speaks MCP over Streamable HTTP; a client that supports OAuth signs in with Google and registers itself, so leave any client ID and secret empty. A client that can't sign in can send an access token from Settings as an `Authorization: Bearer ` header instead. ## Check it works Ask your assistant: "What needs my attention in Cashflow today?" ## Make it the default Paste this into your assistant's custom instructions — a Claude project, ChatGPT's custom instructions, or `AGENTS.md` for a coding agent — so it reaches for Cashflow on its own: ``` Answer questions about my spending, bills and balances from Cashflow rather than guessing, and ask me before changing anything in it. ``` ## What a connected assistant can see - Your transactions, balances, bills and categories — from the accounts you connected, in your household only. - Rules, tags, notes, plans and documents you've filed in Cashflow. ## What it can't do - Move money. Cashflow reads from your bank and never sends anything to it. - See your bank password. Banks connect through Plaid; Cashflow never sees the login. - Change what your bank reported. Its changes — categories, names, tags — sit beside each transaction and can be undone. ## Troubleshooting - **The sign-in page never comes back to the assistant.** Assistants that run in the cloud can't always reach the page that finishes sign-in. Copy that page's address and paste it back to the assistant. - **It's connected, but every answer is empty.** No bank is connected yet. Ask the assistant to show your accounts, or connect one at https://cashflow.tech/accounts. - **The assistant doesn't know about something new.** Some assistants keep the tool list a conversation started with. Start a new conversation. - **Sign-in worked before and now fails.** Remove Cashflow from the assistant and add it again. A token that expired or was revoked in Settings needs a new one. - **Claude won't let me add another connector.** Claude's free plan allows one custom connector. On Team and Enterprise, an Owner adds it for the organization. ## Disconnecting - To disconnect an assistant, select Disconnect beside it under Connected assistants in Settings (https://cashflow.tech/settings), and remove Cashflow from the assistant's connector or plugin settings so it stops asking. - To stop an agent that uses an access token, revoke the token in Settings (https://cashflow.tech/settings).