Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Plaid in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI read bank data through Plaid: accounts, real-time balances, transactions by date range or as an incremental sync, account holder identity, account and routing numbers and the status of each linked bank, plus institution search and the Link token steps. With your Plaid client ID and secret, sandbox or production.
Try asking
Example prompts for Plaid
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Plaid, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Plaid + Meta Muse
Let your AI read bank data through Plaid: accounts, real-time balances, transactions by date range or as an incremental sync, account holder identity, account and routing numbers and the status of each linked bank, plus institution search and the Link token steps. With your Plaid client ID and secret, sandbox or production.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
PLAID_CLIENT_ID, PLAID_SECRET
Step 1 — Get credentials
- Sign in to the Plaid Dashboard at dashboard.plaid.com (a free account is enough for the sandbox) and open the Keys page in the developer settings.
- Copy your client_id into
PLAID_CLIENT_IDand the secret of the environment you want to use intoPLAID_SECRET. Each environment has its own secret: the Sandbox secret works right away, the Production secret only once Plaid has approved your team for production. - Install the connector. There is no Authorize with Provider step: the connector puts
PLAID_CLIENT_IDandPLAID_SECRETasclient_idandsecretinto the JSON body of every call, as Plaid expects, not into a header. - The environment is set only by the connector's Base URL, which is
https://sandbox.plaid.comafter install. To work with real banks, edit the connector details, set Base URL tohttps://production.plaid.comand use the production secret. There is no separate environment variable for this, and the secret must belong to the environment of the Base URL. - Start with
plaid_institutions_search, for example the query Chase with the country code US: it needs no linked bank, so it only checks that the client ID and secret are right.
Linking a bank: Plaid calls each linked bank login an Item, and every Item has its own access_token. That token comes from Plaid Link, the window in which the account holder picks the bank and signs in. plaid_link_token_create creates the link_token that your app or web page opens Link with; after the login, Link hands back a public_token, valid for 30 minutes and usable once, and plaid_item_public_token_exchange turns it into the long-lived access_token plus the item_id. The connector cannot show Link itself. In the sandbox you sign in to any test bank with the username user_good and the password pass_good, or you create a test Item without Link through Plaid's /sandbox/public_token/create endpoint (not a tool of this connector) and exchange the result with plaid_item_public_token_exchange.
Which tools need an access token: seven tools read one Item and take its access_token as a parameter: plaid_item_get, plaid_accounts_get, plaid_accounts_balance_get, plaid_transactions_get, plaid_transactions_sync, plaid_identity_get and plaid_auth_get. plaid_institutions_search and plaid_link_token_create need only the client ID and secret, plaid_item_public_token_exchange a public_token. The connector does not store access tokens: you give the AI the token in the conversation or in your instructions. Together with your client ID and secret it opens that bank's data, so treat it like a password. Tokens start with access-sandbox- or access-production- and work only in that environment.
All POST, almost all reads: Plaid's API takes every call as a POST, so the connector does too, but only plaid_link_token_create and plaid_item_public_token_exchange create something (a Link token and an access token). No tool moves money, changes an account or removes an Item.
Permissions and read-only setup: an Item reaches only the products it was linked with (the products list of plaid_link_token_create): plaid_transactions_get and plaid_transactions_sync need transactions, plaid_identity_get needs identity, plaid_auth_get needs auth. plaid_auth_get returns full account and routing numbers and plaid_identity_get the holders' names, emails, phone numbers and addresses; disable them on the connector page if the AI does not need them. If you already have your access tokens, you can also disable the two token tools.
Transactions: plaid_transactions_get reads a date range (start_date and end_date as YYYY-MM-DD), 100 per page by default and up to 500 through count and offset in options. How far back it goes depends on the history requested when the bank was linked: Plaid's default is 90 days, the maximum 730 days, and plaid_link_token_create does not ask for more. plaid_transactions_sync returns what was added, modified or removed since the last call: start without a cursor, then pass next_cursor again while has_more is true. Right after linking, transactions can take a few minutes to arrive.
Balances: plaid_accounts_get lists the accounts with the balances Plaid has cached. plaid_accounts_balance_get asks the bank in real time, which is slower and, in production, can be billed per call depending on your Plaid contract.
Rate limits: they depend on the environment and the product. Over a limit Plaid answers 429 with RATE_LIMIT_EXCEEDED: wait a moment and try again.
Common errors: INVALID_API_KEYS means a wrong client ID or secret, or a secret from a different environment than the Base URL. INVALID_ACCESS_TOKEN means the token is mistyped or from the other environment. ITEM_LOGIN_REQUIRED means the bank login changed or the consent ran out: the holder has to sign in again through Link in your own app, which the connector cannot start. PRODUCT_NOT_READY right after linking means the transactions are still loading. PRODUCTS_NOT_SUPPORTED means the bank or the Item does not offer that product.
The connector does not handle webhooks, payments and transfers, investments and liabilities, income and employment checks, risk scores, Link update mode or removing Items.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Muse
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Muse adds remote MCP servers as custom connectors and signs in to them with OAuth.
- In Muse, open Settings → Connectors and choose Add custom connector.
- Paste the MCP server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. - Muse opens the AnythingMCP sign-in page: sign in and approve access.
- In a chat, ask Muse for something that needs the
Plaidtools.
You can also set it up from a chat, on the web, in the iOS and Android apps or in WhatsApp. Send Muse this message:
Create a Custom Connector for a new remote MCP server, then connect to it:
Name: AnythingMCP
Transport: remote streamable HTTP
URL: https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID
Auth: OAuth
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Muse connects from Meta's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
plaid_link_token_create | Create a short-lived link_token to pass to the Plaid Link client |
plaid_item_public_token_exchange | Exchange a public_token (from Plaid Link) for a long-lived access_token + item_id |
plaid_item_get | Get metadata about an Item (institution, products, billed products, status, error) |
plaid_accounts_get | List accounts for an Item with name, mask, type (depository, credit, loan, investment), subtype |
plaid_accounts_balance_get | Get real-time balances for an Item's accounts (may trigger a refresh, slower than accounts_get) |
plaid_transactions_get | Get transactions in a date range (up to 730 days back) |
plaid_transactions_sync | Incremental transactions sync |
plaid_identity_get | Get identity info attached to the Item's accounts (names, emails, addresses, phone numbers) |
plaid_auth_get | Get bank routing + account numbers for ACH/EFT setup |
plaid_institutions_search | Search Plaid's catalog of supported financial institutions by name + country |
Example prompts
- "List the accounts of the bank connection whose access token I just gave you, with their current and available balances."
- "Show me every transaction above 500 USD on the business checking account in September 2026, grouped by category."
- "Does Plaid support Chase in the US for transactions and auth?"
- "Check whether this bank connection still works or needs a new login, and which products are enabled on it."
FAQ
Where is Muse available? Meta currently offers Muse in the US and Canada, on the web, in the iOS and Android apps and in WhatsApp.
Does Meta review this connector? No. Meta doesn't review custom connectors. Muse sees only the tools you switched on for this MCP server in AnythingMCP, and you can disconnect it anytime under Settings → Connectors.
Next steps
Was this guide helpful?