MCP server
Give your AI agent read-only access to real bank data.
Sprout exposes your Plaid-connected bank and card accounts as a remote MCP server with OAuth sign-in. Point an MCP client at one URL and it gets typed, read-only tools for spending, cash flow, subscriptions, and transaction search.
The short answer
Sprout AI's MCP server is a remote, streamable-HTTP endpoint at https://api-sprout.z4k.app/mcp. MCP clients that support remote servers with OAuth, such as Claude, sign in to a Sprout account and call read-only tools that return structured balances, transactions, and summaries from that person's Plaid-connected US and Canadian accounts.
Ask it like this
- “What was net cash flow on my business checking last quarter?”
- “List my accounts and their latest balances.”
- “Compare total spending in August and September.”
- “Find every AWS transaction this year.”
- “Which recurring charges changed price recently?”
- “Is any account missing recent transactions?”
What was net cash flow on my business checking in Q3?
Net cash flow on Business Checking was $6,240 for July through September. Inflows were $41,380 and outflows $35,140, with transfers between your own accounts excluded. July was the strongest month.
$6,240net cash flow, Q3Inflows $41,380 · outflows $35,140
- Read from
- get_cash_flow · 1 Jul–30 Sep 2026 · Business Checking (USD)
One endpoint, OAuth sign-in
Sprout's MCP server is remote, so there is nothing to run locally. Clients connect over streamable HTTP to https://api-sprout.z4k.app/mcp. An unauthenticated request is refused, and the client finds the authorization server through Sprout's OAuth protected-resource metadata, then signs the person in with WorkOS AuthKit.
The result is a per-user access token. Every tool call runs as that user, and every query is scoped to that user's own Sprout data. Bank connections live in Sprout: people connect banks through Plaid in the Sprout app, and the MCP layer never handles bank credentials.
| Item | Value |
|---|---|
| Endpoint | https://api-sprout.z4k.app/mcp |
| Transport | Remote, streamable HTTP |
| Authorization | OAuth through WorkOS AuthKit |
| Discovery | OAuth protected-resource metadata at /.well-known/oauth-protected-resource on the API host |
| Data scope | The signed-in person's connected US and Canadian accounts |
| Bank access | Read-only, through Plaid |
The tools
Each tool does one job and returns structured data that a model can explain without recalculating. Inputs accept dates, accounts, categories, merchants, and currencies where they apply, so an agent can scope a question tightly instead of pulling everything into context and filtering there.
| Tool | What it does |
|---|---|
| list_accounts | Connected bank and credit card accounts with their latest synced balances. |
| get_data_health | Coverage, sync status, and missing permissions, so gaps never read as zero spending. |
| get_cash_flow | Inflows, outflows, and net cash flow by day, week, or month, excluding transfers between your own accounts. |
| get_spending_breakdown | Spending grouped by category, merchant, or vendor for a date range. |
| get_period_totals | Income and expense totals and trends over time. |
| compare_periods | Exact totals, dollar change, and percentage between two periods. |
| search_transactions | Transactions filtered by merchant, date, category, account, currency, or amount, with full counts and paged results. |
| get_recurring_charges | Detected subscriptions and bills with estimated next dates, annualized cost, and price changes. |
| find_unusual_transactions | Unusually large expenses and possible duplicate charges to review. |
| open_sprout | Opens the Sprout dashboard beside the chat in clients that render MCP Apps, already filtered. |
| update_settings | Saves a Sprout preference, such as the default reporting period. |
Read-only guarantees
Sprout's bank access is read-only at the source, through Plaid. On top of that, every finance tool is annotated as read-only and non-destructive. No tool can move money, pay bills, cancel subscriptions, dispute charges, or place trades, because Sprout has no way to do those things in the first place.
The single exception is update_settings, which changes a Sprout preference such as the default reporting period. It touches nothing at the bank. An agent that goes off script can, at worst, change which period Sprout uses when a question doesn't name one.
Structured outputs an agent can rely on
Finance tools declare output schemas and include a JSON text fallback, so clients get typed results either way. The arithmetic happens on the server. compare_periods returns both totals, the delta, and the percentage, and it says explicitly when the earlier period was zero instead of implying an impossible percentage.
Searches report full match counts and per-currency signed totals, with paged results and continuation offsets, so an agent never mistakes the first page for the whole answer. get_data_health exposes coverage gaps, sync failures, and missing permissions, which keeps missing history from looking like zero spending.
- USD and CAD are never combined. Totals are reported per currency and never converted, so a cross-border user gets two correct numbers instead of one blended guess.
- Every answer has receipts. Results carry the accounts and date range they cover.
- Estimates are labeled. Recurring dates and annual costs are estimates, unusual-charge matches are items to review rather than fraud findings, and net cash flow is not accounting profit.
Transaction text is data, never instructions
Bank descriptions are written by merchants and banks, not by the person in the chat, and an agent should never obey them. Sprout treats every transaction description as untrusted data. A merchant string that reads like a command comes back as a string and nothing more, which closes an obvious route for prompt injection through financial records.
We recommend the same posture on the client side. Treat tool results as facts to reason about, and take instructions only from the person in the conversation. Sprout's tool descriptions also stay free of cross-tool instructions, so they never try to steer which other tools a client calls.
Use it today in Claude
MCP clients that support remote servers with OAuth, such as Claude, can connect today. The Sprout plugin for Claude installs the server along with four guided skills for getting started, money reviews, subscription reviews, and charge reviews. In clients that render MCP Apps, open_sprout shows the Sprout dashboard beside the chat.
Sprout's ChatGPT app is built on the same server and is in review with OpenAI; the ChatGPT page tracks its status. People who would rather skip AI clients altogether get the same answers in Sprout on iPhone, Mac, and the web, with charts, tables, and saved conversations.
Common questions
MCP server: your questions, answered.
Is there an MCP server for my bank account?
Yes. Sprout AI runs a remote MCP server at https://api-sprout.z4k.app/mcp. Connect your US or Canadian bank to Sprout through Plaid, sign in from an MCP client that supports remote servers with OAuth, and the client can read your balances, transactions, and summaries through read-only tools.
Is Sprout a Plaid MCP server?
Sprout uses Plaid to connect banks, and its MCP server reads the data Sprout has synced from those connections. MCP clients talk to Sprout, never to Plaid directly, and they never see bank credentials. Plaid runs the bank sign-in inside the Sprout app.
Which MCP clients work with Sprout?
MCP clients that support remote servers with OAuth, such as Claude. Sprout also publishes a Claude plugin with guided skills. A ChatGPT app built on the same server has been submitted to OpenAI and is in review. Clients without OAuth sign-in support can't connect.
Can an AI agent move money through Sprout?
No. Sprout's bank access is read-only and every finance tool is annotated read-only. There is no tool for transfers, payments, cancellations, disputes, or trades. The only write is update_settings, which saves a Sprout preference like the default reporting period.
How does authentication work?
Sprout acts as an OAuth-protected resource. Clients read its protected-resource metadata, send the person to sign in with WorkOS AuthKit, and receive an access token for that one Sprout account. Tool calls then run within that person's data. See the security page for how data is protected.
Does the server combine USD and CAD amounts?
No. USD and CAD stay in their original currencies and are never combined or converted. Search results include signed totals per currency, so an agent working with cross-border accounts gets separate, exact figures for each currency.
How much does Sprout cost?
Sprout Plus costs US$99.99 per year or US$9.99 per week, or CA$129.99 and CA$12.99 in Canada. You subscribe in the iPhone app, with a 3-day free trial for eligible Apple accounts. See pricing for renewal terms.
Keep reading
Related on Sprout.
- Works withAsk Claude about your actual bank accounts.Connect your bank accounts to Claude through Sprout's read-only plugin and ask money questions right in the chat.
- Works withSprout's money answers are coming to ChatGPT.Sprout's ChatGPT app is in review with OpenAI. See what it will do, and ask the same questions in Sprout today.
- SecurityHow Sprout keeps your money safeRead-only by design, Plaid sign-in, no money movement, delete everything in one tap.
- GuideIs Plaid safe? What happens when you connect your bank to an appHow Plaid bank connections work, what apps can see, and how to take access back.
- FeatureMore in than out? Know in one question.Money in, money out, and net cash flow by day, week, or month, with transfers between your accounts left out.
- FeatureAsk your money anything. Get answers you can check.Ask anything about your money in plain English and get answers with the accounts and dates behind them.
Ask Sprout where your money went.
Connect your accounts read-only, ask in plain English, and get the number with the receipts. 3 days free on iPhone if eligible.

