Skip to content

Connectors · Accounting & finance

Plaid MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Plaid and the rest of your systems. It gives your agent 341 Plaid actions (165 reads, 115 writes and 61 that wait for a confirmation) and holds the Plaid credential itself, so the agent never does. It paces Plaid's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "plaid.transfer.list",  intent: "check which Plaid account is connected"}# List transfers · read · 1 upstream call
  • 341actionsin one signed file
  • 165readlook, never change
  • 115writecreate and update
  • 61wait for a yesdestructive, confirmed first

Set up

Connect Plaid in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Plaid.

    Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idPlaid client_id (Plaid Dashboard > Developers > Keys)
    • secretPlaid secret for the environment this connection targets (Sandbox or Production; set the connection's host to…
    • hostWhere your Plaid lives: your host
    account { op: "connections.requirements", service: "plaid" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "plaid.transfer.list" }# list transfers · read · 1 upstream callcheck { action: "plaid.item.import", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Plaid at a glance

Sign-in
Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
client_idsecret
Setup fields
host
Limits we pace to
1,000 calls a minute, per connection
API covered
Plaid API 2020-09-14 (OpenAPI 2020-09-14_1.778.0)production.plaid.com
Built from
Plaid's documentation, read 22 October 2026OpenAPI spec (GitHub)plaid.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
163 of 165 reads, for up to 5 minutes; a write clears what it affects
Shared entities
2, so ask can line Plaid up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Plaid.

341 actions in 45 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 165readlook, never change
  • 115writecreate and update
  • 61destructivewait for a confirmation
  1. Transfer

    43

    20 read · 1 write · 22 destructive

    List transfers · Retrieve a transfer · Create a transfer · Migrate account into Transfers

  2. Sandbox

    30

    2 read · 18 write · 10 destructive

    Manually fire an Income webhook · Fire a test webhook · Save the selected accounts when connecting to the Platypus OAuth institution · Simulate a payment event in Sandbox

  3. Cra

    24

    13 read · 8 write · 3 destructive

    Refresh or create a Consumer Report · Register a list of loans to their applicants · Generate an updated Consumer Report for your user · Register loan applications and decisions

  4. Processor

    24

    13 read · 10 write · 1 destructive

    Evaluate a planned ACH transaction · Opt-in a processor token to Signal · Create processor token · Create Apex processor token

  5. Credit

    20

    9 read · 9 write · 2 destructive

    Create Asset or Income Report Audit Copy Token · Create a relay token to share an Asset Report with a partner client · Update an Audit Copy Token · Retrieve information from the bank accounts used for income verification

  6. Watchlist screening

    20

    14 read · 6 write · 0 destructive

    Create a watchlist screening for an entity · List entity watchlist screenings · Create a watchlist screening for a person · List Individual Watchlist Screenings

  7. Beta

    17

    10 read · 5 write · 2 destructive

    List webhook events · List institution issues · Subscribe to an issue · Creates a new end customer for a Plaid reseller

  8. Beacon

    13

    8 read · 5 write · 0 destructive

    (Deprecated) Create a Beacon Report · (Deprecated) List Beacon Reports for a Beacon User · (Deprecated) List Beacon Report Syndications for a Beacon User · (Deprecated) Create a Beacon User

37 more areas · 150 actions
  • User 13
  • Item 12
  • Payment initiation 12
  • Bank transfer 10
  • Asset report 8
  • Protect 8
  • FDX 7
  • Wallet 6
  • Identity 5
  • Identity verification 5
  • Partner 5
  • Signal 5
  • Transactions 5
  • Cashflow report 4
  • Income 4
  • Investments 4
  • Institutions 3
  • Issues 3
  • Link 3
  • Oauth 3
  • Payment profile 3
  • Accounts 2
  • Auth 2
  • Business verification 2
  • Dashboard user 2
  • Statements 2
  • User account 2
  • Application 1
  • Categories 1
  • Consent 1
  • Employers 1
  • Employment 1
  • Liabilities 1
  • Network 1
  • Profile 1
  • Session 1
  • Webhook verification key 1

Top actions

The Plaid API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 4 of Plaid's 4 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
plaid.accounts.getRetrieve accountsRetrieve accounts.readfinance.bank_account.list35 connectors
plaid.transactions.getGet transaction dataGet transaction data.readfinance.bank_transaction.list23 connectors
plaid.transfer.listList transfersList transfers.readfinance.bank_transfer.list10 connectors
plaid.transfer.getRetrieve a transferRetrieve a transfer.readfinance.bank_transfer.get13 connectors
plaid.item.importImport ItemImport Item.writethis connector
plaid.transfer.createCreate a transferCreate a transfer.destructivethis connector
plaid.institutions.getGet details of all supported institutionsGet details of all supported institutions.readthis connector
plaid.institutions.searchSearch institutionsSearch institutions.readthis connector
plaid.transfer.migrate_accountMigrate account into TransfersMigrate account into Transfers.destructivethis connector
plaid.link.token.createCreate Link TokenCreate Link Token.writethis connector
plaid.item.activity.listList a historical log of user consent eventsList a historical log of user consent events.readthis connector
plaid.item.public_token.exchangeExchange public token for an access tokenExchange public token for an access token.writethis connector

Try it

Prompts to paste into Claude.

Each one names the Plaid actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List transfers in Plaid and tell me what stands out.

    callsplaid.transfer.list

  2. Writewrite

    Import Item in Plaid. Show me exactly what you will send before you save it.

    callsplaid.item.import

Governance for Plaid

Destructive actions wait for a yes.

61 Plaid actions are destructive. The first 10:

  • Create a transferplaid.transfer.create
  • Migrate account into Transfersplaid.transfer.migrate_account
  • Create a transfer intent object to invoke the Transfer UIplaid.transfer.intent.create
  • Create a refundplaid.transfer.refund.create
  • Deposit funds into a Plaid Ledger balanceplaid.transfer.ledger.deposit
  • Report a return recoveryplaid.transfer.return.recover
  • Withdraw funds from a Plaid Ledger balanceplaid.transfer.ledger.withdraw
  • Submit transfer diligence on behalf of the originatorplaid.transfer.diligence.submit
  • Create a recurring transferplaid.transfer.recurring.create
  • Move available balance between ledgersplaid.transfer.ledger.distribute

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doplaid.transfer.createconfirm_policy: human

Create a transfer?

intent: the user asked me to create a transfer

run suspended · waiting for a named person · key plaid-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "plaid-agent",  allowed_actions: ["plaid.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "plaid.transfer.create", approver: "[email protected]" },    { match: "plaid.transfer.migrate_account", approver: "[email protected]" },    { match: "plaid.transfer.intent.create", approver: "[email protected]" }  ]}
Illustrative. Scoped to Plaid only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Plaid costs on actionlake.

Every Plaid action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Plaid refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 341 Plaid actions
  • 341actions pageeach page of a long list is one call
  • 163reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Plaid action.

341 actions by area: the id your agent calls, what it does, and its effect.

Transfer43
  • plaid.transfer.authorization.cancelCancel a transfer authorizationdestructive
  • plaid.transfer.authorization.createCreate a transfer authorizationdestructive
  • plaid.transfer.balance.get(Deprecated) Retrieve a balance held with Plaidread
  • plaid.transfer.cancelCancel a transferdestructive
  • plaid.transfer.capabilities.getGet RTP eligibility information of a transferread
  • plaid.transfer.configuration.getGet transfer product configurationread
  • plaid.transfer.createCreate a transferdestructive
  • plaid.transfer.diligence.document.uploadUpload transfer diligence document on behalf of the originatordestructive
  • plaid.transfer.diligence.submitSubmit transfer diligence on behalf of the originatordestructive
  • plaid.transfer.event.listList transfer eventsread
  • plaid.transfer.event.syncSync transfer eventsread
  • plaid.transfer.getRetrieve a transferread
  • plaid.transfer.intent.createCreate a transfer intent object to invoke the Transfer UIdestructive
  • plaid.transfer.intent.getRetrieve more information about a transfer intentread
  • plaid.transfer.ledger.depositDeposit funds into a Plaid Ledger balancedestructive
  • plaid.transfer.ledger.distributeMove available balance between ledgersdestructive
  • plaid.transfer.ledger.event.listList transfer ledger eventsread
  • plaid.transfer.ledger.getRetrieve Plaid Ledger balanceread
  • plaid.transfer.ledger.withdrawWithdraw funds from a Plaid Ledger balancedestructive
  • plaid.transfer.listList transfersread
  • plaid.transfer.metrics.getGet transfer product usage metricsread
  • plaid.transfer.migrate_accountMigrate account into Transfersdestructive
  • plaid.transfer.originator.createCreate a new originatordestructive
  • plaid.transfer.originator.funding_account.createCreate a new funding account for an originatordestructive
  • plaid.transfer.originator.funding_account.updateUpdate the funding account associated with the originatorwrite
  • plaid.transfer.originator.getGet status of an originator's onboardingread
  • plaid.transfer.originator.listGet status of all originators' onboardingread
  • plaid.transfer.platform.originator.createCreate an originator for Transfer for Platforms customersdestructive
  • plaid.transfer.platform.person.createCreate a person associated with an originatordestructive
  • plaid.transfer.platform.requirement.submitSubmit additional onboarding information on behalf of an originatordestructive
  • plaid.transfer.questionnaire.createGenerate a Plaid-hosted onboarding UI URLdestructive
  • plaid.transfer.recurring.cancelCancel a recurring transferdestructive
  • plaid.transfer.recurring.createCreate a recurring transferdestructive
  • plaid.transfer.recurring.getRetrieve a recurring transferread
  • plaid.transfer.recurring.listList recurring transfersread
  • plaid.transfer.refund.cancelCancel a refunddestructive
  • plaid.transfer.refund.createCreate a refunddestructive
  • plaid.transfer.refund.getRetrieve a refundread
  • plaid.transfer.repayment.listLists historical repaymentsread
  • plaid.transfer.repayment.return.listList the returns included in a repaymentread
  • plaid.transfer.return.recoverReport a return recoverydestructive
  • plaid.transfer.sweep.getRetrieve a sweepread
  • plaid.transfer.sweep.listList sweepsread
Sandbox30
  • plaid.sandbox.bank_income.fire_webhook(Deprecated) Manually fire a Bank Income webhook in Sandboxwrite
  • plaid.sandbox.bank_transfer.fire_webhook(Deprecated) Manually fire a Bank Transfer webhookdestructive
  • plaid.sandbox.bank_transfer.simulate(Deprecated) Simulate a bank transfer event in Sandboxdestructive
  • plaid.sandbox.cra.cashflow_updates.updateTrigger an update for Cash Flow Updateswrite
  • plaid.sandbox.cra.servicing.simulateSimulate a CRA Servicing reportwrite
  • plaid.sandbox.fdx.consent.seedSeed an FDX consent grant for a sandbox data partnerwrite
  • plaid.sandbox.income.fire_webhookManually fire an Income webhookwrite
  • plaid.sandbox.item.application.seedSeed a connected application for a Permissions Manager sandbox itemwrite
  • plaid.sandbox.item.fire_webhookFire a test webhookwrite
  • plaid.sandbox.item.reset_loginForce a Sandbox Item into an error statewrite
  • plaid.sandbox.item.set_verification_statusSet verification status for Sandbox accountwrite
  • plaid.sandbox.oauth.select_accountsSave the selected accounts when connecting to the Platypus OAuth institutionwrite
  • plaid.sandbox.payment.simulateSimulate a payment event in Sandboxwrite
  • plaid.sandbox.payment_profile.reset_loginReset the login of a Payment Profilewrite
  • plaid.sandbox.processor_token.createCreate a test Item and processor tokenwrite
  • plaid.sandbox.public_token.createCreate a test Itemwrite
  • plaid.sandbox.transactions.createCreate sandbox transactionswrite
  • plaid.sandbox.transfer.fire_webhookManually fire a Transfer webhookdestructive
  • plaid.sandbox.transfer.ledger.deposit.simulateSimulate a ledger deposit event in Sandboxdestructive
  • plaid.sandbox.transfer.ledger.simulate_availableSimulate converting pending balance to available balancedestructive
  • plaid.sandbox.transfer.ledger.withdraw.simulateSimulate a ledger withdraw event in Sandboxdestructive
  • plaid.sandbox.transfer.refund.simulateSimulate a refund event in Sandboxdestructive
  • plaid.sandbox.transfer.simulateSimulate a transfer event in Sandboxdestructive
  • plaid.sandbox.transfer.sweep.simulateSimulate creating a sweepdestructive
  • plaid.sandbox.transfer.test_clock.advanceAdvance a test clockwrite
  • plaid.sandbox.transfer.test_clock.createCreate a test clockdestructive
  • plaid.sandbox.transfer.test_clock.getGet a test clockread
  • plaid.sandbox.transfer.test_clock.listList test clocksread
  • plaid.sandbox.user.fire_webhookFire a test user webhookwrite
  • plaid.sandbox.user.reset_loginForce item(s) for a Sandbox User into an error statewrite
Cra24
  • plaid.cra.check_report.base_report.getRetrieve a Base Reportread
  • plaid.cra.check_report.cashflow_insights.getRetrieve cash flow insights from your user's banking dataread
  • plaid.cra.check_report.createRefresh or create a Consumer Reportwrite
  • plaid.cra.check_report.income_insights.getRetrieve income insights from your user's banksread
  • plaid.cra.check_report.lend_score.getRetrieve the LendScore from your user's banking dataread
  • plaid.cra.check_report.network_insights.getRetrieve network attributes for the userread
  • plaid.cra.check_report.partner_insights.getRetrieve cash flow insights from partnersread
  • plaid.cra.check_report.verification.getRetrieve various home lending reports for a userread
  • plaid.cra.credit_profile.report.getRetrieve the credit profile report for a userread
  • plaid.cra.loans.applications.registerRegister loan applications and decisionswrite
  • plaid.cra.loans.registerRegister a list of loans to their applicantswrite
  • plaid.cra.loans.unregisterUnregister a list of loansdestructive
  • plaid.cra.loans.updateUpdate loan datawrite
  • plaid.cra.monitoring_insights.get(Legacy) Retrieve a Cash Flow Updates reportread
  • plaid.cra.monitoring_insights.subscribe(Legacy) Subscribe to Cash Flow Updateswrite
  • plaid.cra.monitoring_insights.unsubscribe(Legacy) Unsubscribe from Cash Flow Updatesdestructive
  • plaid.cra.partner_insights.getRetrieve cash flow insights from the bank accounts used for income verificationread
  • plaid.cra.report.createGenerate an updated Consumer Report for your userwrite
  • plaid.cra.report.getRetrieve a Consumer Report for your userread
  • plaid.cra.servicing.subscription.createCreate a CRA servicing subscriptionwrite
  • plaid.cra.servicing.subscription.deleteDelete a CRA servicing subscriptiondestructive
  • plaid.cra.servicing.subscription.getGet a CRA servicing subscriptionread
  • plaid.cra.servicing.subscription.listList a user's CRA servicing subscriptionsread
  • plaid.cra.servicing.subscription.updateUpdate a CRA servicing subscriptionwrite
Processor24
  • plaid.processor.account.getRetrieve the account associated with a processor tokenread
  • plaid.processor.apex.processor_token.createCreate Apex processor tokenwrite
  • plaid.processor.auth.getRetrieve Auth dataread
  • plaid.processor.balance.getRetrieve Balance dataread
  • plaid.processor.bank_transfer.create(Deprecated) Create a bank transfer as a processordestructive
  • plaid.processor.identity.getRetrieve Identity dataread
  • plaid.processor.identity.matchRetrieve identity match scoreread
  • plaid.processor.investments.auth.getGet investment account authentication dataread
  • plaid.processor.investments.holdings.getRetrieve Investment Holdingsread
  • plaid.processor.investments.transactions.getGet investment transactions dataread
  • plaid.processor.liabilities.getRetrieve Liabilities dataread
  • plaid.processor.signal.decision.reportReport whether you initiated an ACH transactionwrite
  • plaid.processor.signal.evaluateEvaluate a planned ACH transactionwrite
  • plaid.processor.signal.prepareOpt-in a processor token to Signalwrite
  • plaid.processor.signal.return.reportReport a return for an ACH transactionwrite
  • plaid.processor.stripe.bank_account_token.createCreate Stripe bank account tokenwrite
  • plaid.processor.token.createCreate processor tokenwrite
  • plaid.processor.token.permissions.getGet a processor token's product permissionsread
  • plaid.processor.token.permissions.setControl a processor's access to productswrite
  • plaid.processor.token.webhook.updateUpdate a processor token's webhook URLwrite
  • plaid.processor.transactions.getGet transaction dataread
  • plaid.processor.transactions.recurring.getFetch recurring transaction streamsread
  • plaid.processor.transactions.refreshRefresh transaction datawrite
  • plaid.processor.transactions.syncGet incremental transaction updates on a processor tokenread
Credit20
  • plaid.credit.asset_report.freddie_mac.getRetrieve an Asset Report with Freddie Mac format. Only Freddie Mac can use this endpointread
  • plaid.credit.audit_copy_token.createCreate Asset or Income Report Audit Copy Tokenwrite
  • plaid.credit.audit_copy_token.removeRemove an Audit Copy tokendestructive
  • plaid.credit.audit_copy_token.updateUpdate an Audit Copy Tokenwrite
  • plaid.credit.bank_income.getRetrieve information from the bank accounts used for income verificationread
  • plaid.credit.bank_income.refreshRefresh a user's bank income informationwrite
  • plaid.credit.bank_income.webhook.updateSubscribe and unsubscribe to proactive notifications for a user's income profilewrite
  • plaid.credit.bank_statements.uploads.getRetrieve data for a user's uploaded bank statementsread
  • plaid.credit.employment.getRetrieve a summary of an individual's employment informationread
  • plaid.credit.freddie_mac.reports.getRetrieve an Asset Report with Freddie Mac format (aka VOA - Verification Of Assets), and a Verification Of Employment (…read
  • plaid.credit.payroll_income.getRetrieve a user's payroll informationread
  • plaid.credit.payroll_income.parsing_config.updateUpdate the parsing configuration for a document income verificationwrite
  • plaid.credit.payroll_income.precheckCheck income verification eligibility and optimize conversionwrite
  • plaid.credit.payroll_income.refreshRefresh a digital payroll income verificationwrite
  • plaid.credit.payroll_income.risk_signals.getRetrieve fraud insights for a user's manually uploaded document(s)read
  • plaid.credit.relay.createCreate a relay token to share an Asset Report with a partner clientwrite
  • plaid.credit.relay.getRetrieve the reports associated with a relay token that was shared with youread
  • plaid.credit.relay.refreshRefresh a report of a relay tokenwrite
  • plaid.credit.relay.removeRemove relay tokendestructive
  • plaid.credit.sessions.getRetrieve Link sessions for your userread
Watchlist screening20
  • plaid.watchlist_screening.entity.createCreate a watchlist screening for an entitywrite
  • plaid.watchlist_screening.entity.getGet an entity screeningread
  • plaid.watchlist_screening.entity.history.listList history for entity watchlist screeningsread
  • plaid.watchlist_screening.entity.hit.listList hits for entity watchlist screeningsread
  • plaid.watchlist_screening.entity.listList entity watchlist screeningsread
  • plaid.watchlist_screening.entity.program.getGet entity watchlist screening programread
  • plaid.watchlist_screening.entity.program.listList entity watchlist screening programsread
  • plaid.watchlist_screening.entity.review.createCreate a review for an entity watchlist screeningwrite
  • plaid.watchlist_screening.entity.review.listList reviews for entity watchlist screeningsread
  • plaid.watchlist_screening.entity.updateUpdate an entity screeningwrite
  • plaid.watchlist_screening.individual.createCreate a watchlist screening for a personwrite
  • plaid.watchlist_screening.individual.getRetrieve an individual watchlist screeningread
  • plaid.watchlist_screening.individual.history.listList history for individual watchlist screeningsread
  • plaid.watchlist_screening.individual.hit.listList hits for individual watchlist screeningread
  • plaid.watchlist_screening.individual.listList Individual Watchlist Screeningsread
  • plaid.watchlist_screening.individual.program.getGet individual watchlist screening programread
  • plaid.watchlist_screening.individual.program.listList individual watchlist screening programsread
  • plaid.watchlist_screening.individual.review.createCreate a review for an individual watchlist screeningwrite
  • plaid.watchlist_screening.individual.review.listList reviews for individual watchlist screeningsread
  • plaid.watchlist_screening.individual.updateUpdate individual watchlist screeningwrite
Beta17
  • plaid.beta.cash_advance.income_insights.v1.getGet Cash Advance income insightsread
  • plaid.beta.credit.v1.bank_employment.getRetrieve information from the bank accounts used for employment verificationread
  • plaid.beta.ewa_report.v1.getGet EWA Score Reportread
  • plaid.beta.issues.v1.getGet an issueread
  • plaid.beta.issues.v1.listList institution issuesread
  • plaid.beta.issues.v1.matchMatch an Item to issuesread
  • plaid.beta.issues.v1.subscribeSubscribe to an issuewrite
  • plaid.beta.issues.v1.unsubscribeUnsubscribe from an issuedestructive
  • plaid.beta.partner.customer.v1.createCreates a new end customer for a Plaid resellerwrite
  • plaid.beta.partner.customer.v1.enableEnables a Plaid reseller's end customer in the Production environmentwrite
  • plaid.beta.partner.customer.v1.getRetrieves the details of a Plaid reseller's end customerread
  • plaid.beta.partner.customer.v1.updateUpdates an existing end customerwrite
  • plaid.beta.transactions.rules.v1.createCreate transaction category rulewrite
  • plaid.beta.transactions.rules.v1.listReturn a list of rules created for the end userread
  • plaid.beta.transactions.rules.v1.removeRemove transaction ruledestructive
  • plaid.beta.transactions.user_insights.v1.getObtain user insights based on transactions sent through /transactions/enrichread
  • plaid.beta.webhook_events.listList webhook eventsread
Beacon13
  • plaid.beacon.account_risk.v1.evaluate(Deprecated) Evaluate risk of a bank accountwrite
  • plaid.beacon.duplicate.get(Deprecated) Get a Beacon Duplicateread
  • plaid.beacon.report.create(Deprecated) Create a Beacon Reportwrite
  • plaid.beacon.report.get(Deprecated) Get a Beacon Reportread
  • plaid.beacon.report.list(Deprecated) List Beacon Reports for a Beacon Userread
  • plaid.beacon.report_syndication.get(Deprecated) Get a Beacon Report Syndicationread
  • plaid.beacon.report_syndication.list(Deprecated) List Beacon Report Syndications for a Beacon Userread
  • plaid.beacon.user.account_insights.get(Deprecated) Get Account Insights for a Beacon Userread
  • plaid.beacon.user.create(Deprecated) Create a Beacon Userwrite
  • plaid.beacon.user.get(Deprecated) Get a Beacon Userread
  • plaid.beacon.user.history.list(Deprecated) List a Beacon User's historyread
  • plaid.beacon.user.review(Deprecated) Review a Beacon Userwrite
  • plaid.beacon.user.update(Deprecated) Update the identity data of a Beacon Userwrite
User13
  • plaid.user.createCreate userwrite
  • plaid.user.financial_data.refreshRefresh user items for Financial-Insights bundlewrite
  • plaid.user.getRetrieve user identity and informationread
  • plaid.user.identity.removeRemove user identity datadestructive
  • plaid.user.items.associateAssociate Items to a Userwrite
  • plaid.user.items.getGet Items associated with a Userread
  • plaid.user.items.removeRemove Items from a Userdestructive
  • plaid.user.products.terminateTerminate products for a userdestructive
  • plaid.user.removeRemove userdestructive
  • plaid.user.third_party_token.createCreate a third-party user tokenwrite
  • plaid.user.third_party_token.removeRemove a third-party user tokendestructive
  • plaid.user.transactions.refreshRefresh user items for Transactions bundlewrite
  • plaid.user.updateUpdate user informationwrite
Item12
  • plaid.item.access_token.invalidateInvalidate access_tokendestructive
  • plaid.item.activity.listList a historical log of user consent eventsread
  • plaid.item.application.listList a user's connected applicationsread
  • plaid.item.application.scopes.updateUpdate the scopes of access for a particular applicationwrite
  • plaid.item.application.unlinkUnlink a user's connected applicationdestructive
  • plaid.item.getRetrieve an Itemread
  • plaid.item.importImport Itemwrite
  • plaid.item.products.terminateTerminate products for an Itemdestructive
  • plaid.item.public_token.create(Deprecated) Create public tokenwrite
  • plaid.item.public_token.exchangeExchange public token for an access tokenwrite
  • plaid.item.removeRemove an Itemdestructive
  • plaid.item.webhook.updateUpdate Webhook URLwrite
Payment initiation12
  • plaid.payment_initiation.consent.createCreate payment consentwrite
  • plaid.payment_initiation.consent.getGet payment consentread
  • plaid.payment_initiation.consent.payment.executeExecute a single payment using consentdestructive
  • plaid.payment_initiation.consent.revokeRevoke payment consentdestructive
  • plaid.payment_initiation.payment.createCreate a paymentwrite
  • plaid.payment_initiation.payment.getGet payment detailsread
  • plaid.payment_initiation.payment.listList paymentsread
  • plaid.payment_initiation.payment.reverseReverse an existing paymentdestructive
  • plaid.payment_initiation.payment.token.createCreate payment tokenwrite
  • plaid.payment_initiation.recipient.createCreate payment recipientwrite
  • plaid.payment_initiation.recipient.getGet payment recipientread
  • plaid.payment_initiation.recipient.listList payment recipientsread
Bank transfer10
  • plaid.bank_transfer.balance.get(Deprecated) Get balance of your Bank Transfer accountread
  • plaid.bank_transfer.cancel(Deprecated) Cancel a bank transferdestructive
  • plaid.bank_transfer.create(Deprecated) Create a bank transferdestructive
  • plaid.bank_transfer.event.listList bank transfer eventsread
  • plaid.bank_transfer.event.syncSync bank transfer eventsread
  • plaid.bank_transfer.get(Deprecated) Retrieve a bank transferread
  • plaid.bank_transfer.list(Deprecated) List bank transfersread
  • plaid.bank_transfer.migrate_account(Deprecated) Migrate account into Bank Transfersdestructive
  • plaid.bank_transfer.sweep.get(Deprecated) Retrieve a sweepread
  • plaid.bank_transfer.sweep.list(Deprecated) List sweepsread
Asset report8
  • plaid.asset_report.audit_copy.createCreate Asset Report Audit Copywrite
  • plaid.asset_report.audit_copy.getRetrieve an Asset Report Audit Copyread
  • plaid.asset_report.audit_copy.removeRemove Asset Report Audit Copydestructive
  • plaid.asset_report.createCreate an Asset Reportwrite
  • plaid.asset_report.filterFilter Asset Reportwrite
  • plaid.asset_report.getRetrieve an Asset Reportread
  • plaid.asset_report.refreshRefresh an Asset Reportwrite
  • plaid.asset_report.removeDelete an Asset Reportdestructive
Protect8
  • plaid.protect.cash_advance.decision.createRecord a cash advance decisionwrite
  • plaid.protect.cash_advance.feedback.uploadUpload a file of cash advance feedbackwrite
  • plaid.protect.cash_advance.repayment.createRecord a cash advance repaymentwrite
  • plaid.protect.computeCompute Protect Trust Index scores and subscoreswrite
  • plaid.protect.event.getGet information about a user eventread
  • plaid.protect.event.sendSend a new event to enrich user datawrite
  • plaid.protect.report.createCreate a Protect reportwrite
  • plaid.protect.user.insights.getGet Protect user insightsread
FDX7
  • plaid.fdx.consents.getGet FDX consent grantread
  • plaid.fdx.consents.listList FDX consent grants for a customerread
  • plaid.fdx.consents.revocation.getRetrieve FDX consent grant revocation recordsread
  • plaid.fdx.consents.revokeRevoke FDX consent grantdestructive
  • plaid.fdx.notifications.createWebhook receiver for fdx notificationswrite
  • plaid.fdx.recipient.getGet Recipientread
  • plaid.fdx.recipients.listGet Recipientsread
Wallet6
  • plaid.wallet.createCreate an e-walletwrite
  • plaid.wallet.getFetch an e-walletread
  • plaid.wallet.listFetch a list of e-walletsread
  • plaid.wallet.transaction.executeExecute a transaction using an e-walletwrite
  • plaid.wallet.transaction.getFetch an e-wallet transactionread
  • plaid.wallet.transaction.listList e-wallet transactionsread
Identity5
  • plaid.identity.documents.uploads.getReturns uploaded document identityread
  • plaid.identity.getRetrieve identity dataread
  • plaid.identity.matchRetrieve identity match scoreread
  • plaid.identity.match.listList Link Identity Match attemptsread
  • plaid.identity.refreshRefresh identity datawrite
Identity verification5
  • plaid.identity_verification.autofill.createCreate autofill for an Identity Verificationwrite
  • plaid.identity_verification.createCreate a new Identity Verificationwrite
  • plaid.identity_verification.getRetrieve Identity Verificationread
  • plaid.identity_verification.listList Identity Verificationsread
  • plaid.identity_verification.retryRetry an Identity Verificationwrite
Partner5
  • plaid.partner.customer.createCreates a new end customer for a Plaid resellerwrite
  • plaid.partner.customer.enableEnables a Plaid reseller's end customer in the Production environmentwrite
  • plaid.partner.customer.getReturns a Plaid reseller's end customerread
  • plaid.partner.customer.oauth_institutions.getReturns OAuth-institution registration information for a given end customerread
  • plaid.partner.customer.removeRemoves a Plaid reseller's end customerdestructive
Signal5
  • plaid.signal.decision.reportReport whether you initiated an ACH transactionwrite
  • plaid.signal.evaluateEvaluate a planned ACH transactionwrite
  • plaid.signal.prepareOpt-in an Item to Signal Transaction Scoreswrite
  • plaid.signal.return.reportReport a return for an ACH transactionwrite
  • plaid.signal.scheduleSchedule a planned ACH transactionwrite
Transactions5
  • plaid.transactions.enrichEnrich locally-held transaction dataread
  • plaid.transactions.getGet transaction dataread
  • plaid.transactions.recurring.getFetch recurring transaction streamsread
  • plaid.transactions.refreshRefresh transaction datawrite
  • plaid.transactions.syncGet incremental transaction updates on an Itemread
Cashflow report4
  • plaid.cashflow_report.getGets transaction data in `cashflow_report`read
  • plaid.cashflow_report.insights.getGets insights data in Cashflow Reportread
  • plaid.cashflow_report.refreshRefresh transaction data in `cashflow_report`write
  • plaid.cashflow_report.transactions.getGets transaction data in `cashflow_report`read
Income4
  • plaid.income.verification.create(Deprecated) Create an income verification instancewrite
  • plaid.income.verification.paystubs.get(Deprecated) Retrieve information from the paystubs used for income verificationread
  • plaid.income.verification.precheck(Deprecated) Check digital income verification eligibility and optimize conversionwrite
  • plaid.income.verification.taxforms.get(Deprecated) Retrieve information from the tax documents used for income verificationread
Investments4
  • plaid.investments.auth.getGet data needed to authorize an investments transferread
  • plaid.investments.holdings.getGet Investment holdingsread
  • plaid.investments.refreshRefresh investment datawrite
  • plaid.investments.transactions.getGet investment transactionsread
Institutions3
  • plaid.institutions.getGet details of all supported institutionsread
  • plaid.institutions.get_by_idGet details of an institutionread
  • plaid.institutions.searchSearch institutionsread
Issues3
  • plaid.issues.getGet an Issueread
  • plaid.issues.searchSearch for an Issueread
  • plaid.issues.subscribeSubscribe to an Issuewrite
Link3
  • plaid.link.oauth.correlation_id.exchangeExchange the Link Correlation ID for a Link Tokenwrite
  • plaid.link.token.createCreate Link Tokenwrite
  • plaid.link.token.getGet Link Tokenread
Oauth3
  • plaid.oauth.introspectGet metadata about an OAuth tokenread
  • plaid.oauth.revokeRevoke an OAuth tokendestructive
  • plaid.oauth.tokenCreate or refresh an OAuth access tokenwrite
Payment profile3
  • plaid.payment_profile.createCreate payment profilewrite
  • plaid.payment_profile.getGet payment profileread
  • plaid.payment_profile.removeRemove payment profiledestructive
Accounts2
  • plaid.accounts.balance.getRetrieve real-time balance dataread
  • plaid.accounts.getRetrieve accountsread
Auth2
  • plaid.auth.getRetrieve auth dataread
  • plaid.auth.verifyVerify auth dataread
Business verification2
  • plaid.business_verification.createCreate a Business Verificationwrite
  • plaid.business_verification.getGet a Business Verificationread
Dashboard user2
  • plaid.dashboard_user.getRetrieve a Dashboard userread
  • plaid.dashboard_user.listList Dashboard usersread
Statements2
  • plaid.statements.listRetrieve a list of all statements associated with an Itemread
  • plaid.statements.refreshRefresh statements datawrite
User account2
  • plaid.user_account.session.event.sendSend User Account Session Eventwrite
  • plaid.user_account.session.getRetrieve User Accountread
Application1
  • plaid.application.getRetrieve information about a Plaid applicationread
Categories1
  • plaid.categories.get(Deprecated) Get legacy categoriesread
Consent1
  • plaid.consent.events.getList a historical log of item consent eventsread
Employers1
  • plaid.employers.search(Deprecated) Search employer databaseread
Employment1
  • plaid.employment.verification.get(Deprecated) Retrieve a summary of an individual's employment informationread
Liabilities1
  • plaid.liabilities.getRetrieve Liabilities dataread
Network1
  • plaid.network.status.getCheck a user's Plaid Network statusread
Profile1
  • plaid.profile.network_status.getCheck a user's Plaid Network statusread
Session1
  • plaid.session.token.createCreate a Link token for Layerwrite
Webhook verification key1
  • plaid.webhook_verification_key.getGet webhook verification keyread

Questions

The Plaid MCP server, answered.

Is there a Plaid MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 341 Plaid actions across transfer, sandbox, cra and processor, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Plaid.

What do I need to connect Plaid?

Plaid client_id (Plaid Dashboard > Developers > Keys) and Plaid secret for the environment this connection targets (Sandbox or Production; set the connection's host to…. Plus your host. The free call account { op: "connections.requirements", service: "plaid" } lists exactly what to paste.

Can an AI agent delete or change things in Plaid?

Only if its key allows it, and only with an explicit confirmation. 61 Plaid actions are destructive, including create a transfer, migrate account into Transfers and create a transfer intent object to invoke the Transfer UI. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Plaid API limit?

actionlake paces every call to the limits in the Plaid service file: 1,000 calls a minute per connection. Repeated reads are answered from cache (163 Plaid actions can be), which never reaches Plaid.

What does a Plaid action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (341 Plaid actions page). Cache hits, searches, dry runs and calls Plaid refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Plaid API does it cover?

The Plaid API 2020-09-14 (OpenAPI 2020-09-14_1.778.0) at production.plaid.com by default, or the base URL set when you connect. It is built from Plaid's documentation as read on 22 October 2026. 341 actions in 45 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Plaid data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Plaid credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Plaid today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.