---
title: "Plaid MCP server for AI agents - actionlake"
description: "Give Claude 341 Plaid actions through one MCP server: transfer, sandbox, cra, processor. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/plaid
updated: 2026-10-22
---

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.

[Connect Plaid free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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
```

- 341 actions in one signed file
- 165 read look, never change
- 115 write create and update
- 61 wait for a yes destructive, 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_id` Plaid client_id (Plaid Dashboard > Developers > Keys)
   - `secret` Plaid secret for the environment this connection targets (Sandbox or Production; set the connection's host to…
   - `host` Where 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 call
   check { 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_id` `secret`

**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 2026[OpenAPI spec (GitHub)](https://github.com/plaid/plaid-openapi/blob/master/2020-09-14.yml) [plaid.com](https://plaid.com/docs/api/)

**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.

- **165** read look, never change
- **115** write create and update
- **61** destructive wait 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.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `plaid.accounts.get` Retrieve accounts | Retrieve accounts. | read | `finance.bank_account.list` 35 connectors |
| `plaid.transactions.get` Get transaction data | Get transaction data. | read | `finance.bank_transaction.list` 23 connectors |
| `plaid.transfer.list` List transfers | List transfers. | read | `finance.bank_transfer.list` 10 connectors |
| `plaid.transfer.get` Retrieve a transfer | Retrieve a transfer. | read | `finance.bank_transfer.get` 13 connectors |
| `plaid.item.import` Import Item | Import Item. | write | this connector |
| `plaid.transfer.create` Create a transfer | Create a transfer. | destructive | this connector |
| `plaid.institutions.get` Get details of all supported institutions | Get details of all supported institutions. | read | this connector |
| `plaid.institutions.search` Search institutions | Search institutions. | read | this connector |
| `plaid.transfer.migrate_account` Migrate account into Transfers | Migrate account into Transfers. | destructive | this connector |
| `plaid.link.token.create` Create Link Token | Create Link Token. | write | this connector |
| `plaid.item.activity.list` List a historical log of user consent events | List a historical log of user consent events. | read | this connector |
| `plaid.item.public_token.exchange` Exchange public token for an access token | Exchange public token for an access token. | write | this 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. Read read
   List transfers in Plaid and tell me what stands out.
   calls `plaid.transfer.list`
2. Write write
   Import Item in Plaid. Show me exactly what you will send before you save it.
   calls `plaid.item.import`

Governance for Plaid

## Destructive actions wait for a yes.

61 Plaid actions are destructive. The first 10:

- Create a transfer `plaid.transfer.create`
- Migrate account into Transfers `plaid.transfer.migrate_account`
- Create a transfer intent object to invoke the Transfer UI `plaid.transfer.intent.create`
- Create a refund `plaid.transfer.refund.create`
- Deposit funds into a Plaid Ledger balance `plaid.transfer.ledger.deposit`
- Report a return recovery `plaid.transfer.return.recover`
- Withdraw funds from a Plaid Ledger balance `plaid.transfer.ledger.withdraw`
- Submit transfer diligence on behalf of the originator `plaid.transfer.diligence.submit`
- Create a recurring transfer `plaid.transfer.recurring.create`
- Move available balance between ledgers `plaid.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.

do plaid.transfer.create confirm_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: "lead@example.com" },
    { match: "plaid.transfer.migrate_account", approver: "lead@example.com" },
    { match: "plaid.transfer.intent.create", approver: "lead@example.com" }
  ]
}
```

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.

- 1 upstream call per action all 341 Plaid actions
- 341 actions page each page of a long list is one call
- 163 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Plaid action.

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

**Transfer 43**

- `plaid.transfer.authorization.cancel` Cancel a transfer authorization destructive
- `plaid.transfer.authorization.create` Create a transfer authorization destructive
- `plaid.transfer.balance.get` (Deprecated) Retrieve a balance held with Plaid read
- `plaid.transfer.cancel` Cancel a transfer destructive
- `plaid.transfer.capabilities.get` Get RTP eligibility information of a transfer read
- `plaid.transfer.configuration.get` Get transfer product configuration read
- `plaid.transfer.create` Create a transfer destructive
- `plaid.transfer.diligence.document.upload` Upload transfer diligence document on behalf of the originator destructive
- `plaid.transfer.diligence.submit` Submit transfer diligence on behalf of the originator destructive
- `plaid.transfer.event.list` List transfer events read
- `plaid.transfer.event.sync` Sync transfer events read
- `plaid.transfer.get` Retrieve a transfer read
- `plaid.transfer.intent.create` Create a transfer intent object to invoke the Transfer UI destructive
- `plaid.transfer.intent.get` Retrieve more information about a transfer intent read
- `plaid.transfer.ledger.deposit` Deposit funds into a Plaid Ledger balance destructive
- `plaid.transfer.ledger.distribute` Move available balance between ledgers destructive
- `plaid.transfer.ledger.event.list` List transfer ledger events read
- `plaid.transfer.ledger.get` Retrieve Plaid Ledger balance read
- `plaid.transfer.ledger.withdraw` Withdraw funds from a Plaid Ledger balance destructive
- `plaid.transfer.list` List transfers read
- `plaid.transfer.metrics.get` Get transfer product usage metrics read
- `plaid.transfer.migrate_account` Migrate account into Transfers destructive
- `plaid.transfer.originator.create` Create a new originator destructive
- `plaid.transfer.originator.funding_account.create` Create a new funding account for an originator destructive
- `plaid.transfer.originator.funding_account.update` Update the funding account associated with the originator write
- `plaid.transfer.originator.get` Get status of an originator's onboarding read
- `plaid.transfer.originator.list` Get status of all originators' onboarding read
- `plaid.transfer.platform.originator.create` Create an originator for Transfer for Platforms customers destructive
- `plaid.transfer.platform.person.create` Create a person associated with an originator destructive
- `plaid.transfer.platform.requirement.submit` Submit additional onboarding information on behalf of an originator destructive
- `plaid.transfer.questionnaire.create` Generate a Plaid-hosted onboarding UI URL destructive
- `plaid.transfer.recurring.cancel` Cancel a recurring transfer destructive
- `plaid.transfer.recurring.create` Create a recurring transfer destructive
- `plaid.transfer.recurring.get` Retrieve a recurring transfer read
- `plaid.transfer.recurring.list` List recurring transfers read
- `plaid.transfer.refund.cancel` Cancel a refund destructive
- `plaid.transfer.refund.create` Create a refund destructive
- `plaid.transfer.refund.get` Retrieve a refund read
- `plaid.transfer.repayment.list` Lists historical repayments read
- `plaid.transfer.repayment.return.list` List the returns included in a repayment read
- `plaid.transfer.return.recover` Report a return recovery destructive
- `plaid.transfer.sweep.get` Retrieve a sweep read
- `plaid.transfer.sweep.list` List sweeps read

**Sandbox 30**

- `plaid.sandbox.bank_income.fire_webhook` (Deprecated) Manually fire a Bank Income webhook in Sandbox write
- `plaid.sandbox.bank_transfer.fire_webhook` (Deprecated) Manually fire a Bank Transfer webhook destructive
- `plaid.sandbox.bank_transfer.simulate` (Deprecated) Simulate a bank transfer event in Sandbox destructive
- `plaid.sandbox.cra.cashflow_updates.update` Trigger an update for Cash Flow Updates write
- `plaid.sandbox.cra.servicing.simulate` Simulate a CRA Servicing report write
- `plaid.sandbox.fdx.consent.seed` Seed an FDX consent grant for a sandbox data partner write
- `plaid.sandbox.income.fire_webhook` Manually fire an Income webhook write
- `plaid.sandbox.item.application.seed` Seed a connected application for a Permissions Manager sandbox item write
- `plaid.sandbox.item.fire_webhook` Fire a test webhook write
- `plaid.sandbox.item.reset_login` Force a Sandbox Item into an error state write
- `plaid.sandbox.item.set_verification_status` Set verification status for Sandbox account write
- `plaid.sandbox.oauth.select_accounts` Save the selected accounts when connecting to the Platypus OAuth institution write
- `plaid.sandbox.payment.simulate` Simulate a payment event in Sandbox write
- `plaid.sandbox.payment_profile.reset_login` Reset the login of a Payment Profile write
- `plaid.sandbox.processor_token.create` Create a test Item and processor token write
- `plaid.sandbox.public_token.create` Create a test Item write
- `plaid.sandbox.transactions.create` Create sandbox transactions write
- `plaid.sandbox.transfer.fire_webhook` Manually fire a Transfer webhook destructive
- `plaid.sandbox.transfer.ledger.deposit.simulate` Simulate a ledger deposit event in Sandbox destructive
- `plaid.sandbox.transfer.ledger.simulate_available` Simulate converting pending balance to available balance destructive
- `plaid.sandbox.transfer.ledger.withdraw.simulate` Simulate a ledger withdraw event in Sandbox destructive
- `plaid.sandbox.transfer.refund.simulate` Simulate a refund event in Sandbox destructive
- `plaid.sandbox.transfer.simulate` Simulate a transfer event in Sandbox destructive
- `plaid.sandbox.transfer.sweep.simulate` Simulate creating a sweep destructive
- `plaid.sandbox.transfer.test_clock.advance` Advance a test clock write
- `plaid.sandbox.transfer.test_clock.create` Create a test clock destructive
- `plaid.sandbox.transfer.test_clock.get` Get a test clock read
- `plaid.sandbox.transfer.test_clock.list` List test clocks read
- `plaid.sandbox.user.fire_webhook` Fire a test user webhook write
- `plaid.sandbox.user.reset_login` Force item(s) for a Sandbox User into an error state write

**Cra 24**

- `plaid.cra.check_report.base_report.get` Retrieve a Base Report read
- `plaid.cra.check_report.cashflow_insights.get` Retrieve cash flow insights from your user's banking data read
- `plaid.cra.check_report.create` Refresh or create a Consumer Report write
- `plaid.cra.check_report.income_insights.get` Retrieve income insights from your user's banks read
- `plaid.cra.check_report.lend_score.get` Retrieve the LendScore from your user's banking data read
- `plaid.cra.check_report.network_insights.get` Retrieve network attributes for the user read
- `plaid.cra.check_report.partner_insights.get` Retrieve cash flow insights from partners read
- `plaid.cra.check_report.verification.get` Retrieve various home lending reports for a user read
- `plaid.cra.credit_profile.report.get` Retrieve the credit profile report for a user read
- `plaid.cra.loans.applications.register` Register loan applications and decisions write
- `plaid.cra.loans.register` Register a list of loans to their applicants write
- `plaid.cra.loans.unregister` Unregister a list of loans destructive
- `plaid.cra.loans.update` Update loan data write
- `plaid.cra.monitoring_insights.get` (Legacy) Retrieve a Cash Flow Updates report read
- `plaid.cra.monitoring_insights.subscribe` (Legacy) Subscribe to Cash Flow Updates write
- `plaid.cra.monitoring_insights.unsubscribe` (Legacy) Unsubscribe from Cash Flow Updates destructive
- `plaid.cra.partner_insights.get` Retrieve cash flow insights from the bank accounts used for income verification read
- `plaid.cra.report.create` Generate an updated Consumer Report for your user write
- `plaid.cra.report.get` Retrieve a Consumer Report for your user read
- `plaid.cra.servicing.subscription.create` Create a CRA servicing subscription write
- `plaid.cra.servicing.subscription.delete` Delete a CRA servicing subscription destructive
- `plaid.cra.servicing.subscription.get` Get a CRA servicing subscription read
- `plaid.cra.servicing.subscription.list` List a user's CRA servicing subscriptions read
- `plaid.cra.servicing.subscription.update` Update a CRA servicing subscription write

**Processor 24**

- `plaid.processor.account.get` Retrieve the account associated with a processor token read
- `plaid.processor.apex.processor_token.create` Create Apex processor token write
- `plaid.processor.auth.get` Retrieve Auth data read
- `plaid.processor.balance.get` Retrieve Balance data read
- `plaid.processor.bank_transfer.create` (Deprecated) Create a bank transfer as a processor destructive
- `plaid.processor.identity.get` Retrieve Identity data read
- `plaid.processor.identity.match` Retrieve identity match score read
- `plaid.processor.investments.auth.get` Get investment account authentication data read
- `plaid.processor.investments.holdings.get` Retrieve Investment Holdings read
- `plaid.processor.investments.transactions.get` Get investment transactions data read
- `plaid.processor.liabilities.get` Retrieve Liabilities data read
- `plaid.processor.signal.decision.report` Report whether you initiated an ACH transaction write
- `plaid.processor.signal.evaluate` Evaluate a planned ACH transaction write
- `plaid.processor.signal.prepare` Opt-in a processor token to Signal write
- `plaid.processor.signal.return.report` Report a return for an ACH transaction write
- `plaid.processor.stripe.bank_account_token.create` Create Stripe bank account token write
- `plaid.processor.token.create` Create processor token write
- `plaid.processor.token.permissions.get` Get a processor token's product permissions read
- `plaid.processor.token.permissions.set` Control a processor's access to products write
- `plaid.processor.token.webhook.update` Update a processor token's webhook URL write
- `plaid.processor.transactions.get` Get transaction data read
- `plaid.processor.transactions.recurring.get` Fetch recurring transaction streams read
- `plaid.processor.transactions.refresh` Refresh transaction data write
- `plaid.processor.transactions.sync` Get incremental transaction updates on a processor token read

**Credit 20**

- `plaid.credit.asset_report.freddie_mac.get` Retrieve an Asset Report with Freddie Mac format. Only Freddie Mac can use this endpoint read
- `plaid.credit.audit_copy_token.create` Create Asset or Income Report Audit Copy Token write
- `plaid.credit.audit_copy_token.remove` Remove an Audit Copy token destructive
- `plaid.credit.audit_copy_token.update` Update an Audit Copy Token write
- `plaid.credit.bank_income.get` Retrieve information from the bank accounts used for income verification read
- `plaid.credit.bank_income.refresh` Refresh a user's bank income information write
- `plaid.credit.bank_income.webhook.update` Subscribe and unsubscribe to proactive notifications for a user's income profile write
- `plaid.credit.bank_statements.uploads.get` Retrieve data for a user's uploaded bank statements read
- `plaid.credit.employment.get` Retrieve a summary of an individual's employment information read
- `plaid.credit.freddie_mac.reports.get` Retrieve an Asset Report with Freddie Mac format (aka VOA - Verification Of Assets), and a Verification Of Employment (… read
- `plaid.credit.payroll_income.get` Retrieve a user's payroll information read
- `plaid.credit.payroll_income.parsing_config.update` Update the parsing configuration for a document income verification write
- `plaid.credit.payroll_income.precheck` Check income verification eligibility and optimize conversion write
- `plaid.credit.payroll_income.refresh` Refresh a digital payroll income verification write
- `plaid.credit.payroll_income.risk_signals.get` Retrieve fraud insights for a user's manually uploaded document(s) read
- `plaid.credit.relay.create` Create a relay token to share an Asset Report with a partner client write
- `plaid.credit.relay.get` Retrieve the reports associated with a relay token that was shared with you read
- `plaid.credit.relay.refresh` Refresh a report of a relay token write
- `plaid.credit.relay.remove` Remove relay token destructive
- `plaid.credit.sessions.get` Retrieve Link sessions for your user read

**Watchlist screening 20**

- `plaid.watchlist_screening.entity.create` Create a watchlist screening for an entity write
- `plaid.watchlist_screening.entity.get` Get an entity screening read
- `plaid.watchlist_screening.entity.history.list` List history for entity watchlist screenings read
- `plaid.watchlist_screening.entity.hit.list` List hits for entity watchlist screenings read
- `plaid.watchlist_screening.entity.list` List entity watchlist screenings read
- `plaid.watchlist_screening.entity.program.get` Get entity watchlist screening program read
- `plaid.watchlist_screening.entity.program.list` List entity watchlist screening programs read
- `plaid.watchlist_screening.entity.review.create` Create a review for an entity watchlist screening write
- `plaid.watchlist_screening.entity.review.list` List reviews for entity watchlist screenings read
- `plaid.watchlist_screening.entity.update` Update an entity screening write
- `plaid.watchlist_screening.individual.create` Create a watchlist screening for a person write
- `plaid.watchlist_screening.individual.get` Retrieve an individual watchlist screening read
- `plaid.watchlist_screening.individual.history.list` List history for individual watchlist screenings read
- `plaid.watchlist_screening.individual.hit.list` List hits for individual watchlist screening read
- `plaid.watchlist_screening.individual.list` List Individual Watchlist Screenings read
- `plaid.watchlist_screening.individual.program.get` Get individual watchlist screening program read
- `plaid.watchlist_screening.individual.program.list` List individual watchlist screening programs read
- `plaid.watchlist_screening.individual.review.create` Create a review for an individual watchlist screening write
- `plaid.watchlist_screening.individual.review.list` List reviews for individual watchlist screenings read
- `plaid.watchlist_screening.individual.update` Update individual watchlist screening write

**Beta 17**

- `plaid.beta.cash_advance.income_insights.v1.get` Get Cash Advance income insights read
- `plaid.beta.credit.v1.bank_employment.get` Retrieve information from the bank accounts used for employment verification read
- `plaid.beta.ewa_report.v1.get` Get EWA Score Report read
- `plaid.beta.issues.v1.get` Get an issue read
- `plaid.beta.issues.v1.list` List institution issues read
- `plaid.beta.issues.v1.match` Match an Item to issues read
- `plaid.beta.issues.v1.subscribe` Subscribe to an issue write
- `plaid.beta.issues.v1.unsubscribe` Unsubscribe from an issue destructive
- `plaid.beta.partner.customer.v1.create` Creates a new end customer for a Plaid reseller write
- `plaid.beta.partner.customer.v1.enable` Enables a Plaid reseller's end customer in the Production environment write
- `plaid.beta.partner.customer.v1.get` Retrieves the details of a Plaid reseller's end customer read
- `plaid.beta.partner.customer.v1.update` Updates an existing end customer write
- `plaid.beta.transactions.rules.v1.create` Create transaction category rule write
- `plaid.beta.transactions.rules.v1.list` Return a list of rules created for the end user read
- `plaid.beta.transactions.rules.v1.remove` Remove transaction rule destructive
- `plaid.beta.transactions.user_insights.v1.get` Obtain user insights based on transactions sent through /transactions/enrich read
- `plaid.beta.webhook_events.list` List webhook events read

**Beacon 13**

- `plaid.beacon.account_risk.v1.evaluate` (Deprecated) Evaluate risk of a bank account write
- `plaid.beacon.duplicate.get` (Deprecated) Get a Beacon Duplicate read
- `plaid.beacon.report.create` (Deprecated) Create a Beacon Report write
- `plaid.beacon.report.get` (Deprecated) Get a Beacon Report read
- `plaid.beacon.report.list` (Deprecated) List Beacon Reports for a Beacon User read
- `plaid.beacon.report_syndication.get` (Deprecated) Get a Beacon Report Syndication read
- `plaid.beacon.report_syndication.list` (Deprecated) List Beacon Report Syndications for a Beacon User read
- `plaid.beacon.user.account_insights.get` (Deprecated) Get Account Insights for a Beacon User read
- `plaid.beacon.user.create` (Deprecated) Create a Beacon User write
- `plaid.beacon.user.get` (Deprecated) Get a Beacon User read
- `plaid.beacon.user.history.list` (Deprecated) List a Beacon User's history read
- `plaid.beacon.user.review` (Deprecated) Review a Beacon User write
- `plaid.beacon.user.update` (Deprecated) Update the identity data of a Beacon User write

**User 13**

- `plaid.user.create` Create user write
- `plaid.user.financial_data.refresh` Refresh user items for Financial-Insights bundle write
- `plaid.user.get` Retrieve user identity and information read
- `plaid.user.identity.remove` Remove user identity data destructive
- `plaid.user.items.associate` Associate Items to a User write
- `plaid.user.items.get` Get Items associated with a User read
- `plaid.user.items.remove` Remove Items from a User destructive
- `plaid.user.products.terminate` Terminate products for a user destructive
- `plaid.user.remove` Remove user destructive
- `plaid.user.third_party_token.create` Create a third-party user token write
- `plaid.user.third_party_token.remove` Remove a third-party user token destructive
- `plaid.user.transactions.refresh` Refresh user items for Transactions bundle write
- `plaid.user.update` Update user information write

**Item 12**

- `plaid.item.access_token.invalidate` Invalidate access_token destructive
- `plaid.item.activity.list` List a historical log of user consent events read
- `plaid.item.application.list` List a user's connected applications read
- `plaid.item.application.scopes.update` Update the scopes of access for a particular application write
- `plaid.item.application.unlink` Unlink a user's connected application destructive
- `plaid.item.get` Retrieve an Item read
- `plaid.item.import` Import Item write
- `plaid.item.products.terminate` Terminate products for an Item destructive
- `plaid.item.public_token.create` (Deprecated) Create public token write
- `plaid.item.public_token.exchange` Exchange public token for an access token write
- `plaid.item.remove` Remove an Item destructive
- `plaid.item.webhook.update` Update Webhook URL write

**Payment initiation 12**

- `plaid.payment_initiation.consent.create` Create payment consent write
- `plaid.payment_initiation.consent.get` Get payment consent read
- `plaid.payment_initiation.consent.payment.execute` Execute a single payment using consent destructive
- `plaid.payment_initiation.consent.revoke` Revoke payment consent destructive
- `plaid.payment_initiation.payment.create` Create a payment write
- `plaid.payment_initiation.payment.get` Get payment details read
- `plaid.payment_initiation.payment.list` List payments read
- `plaid.payment_initiation.payment.reverse` Reverse an existing payment destructive
- `plaid.payment_initiation.payment.token.create` Create payment token write
- `plaid.payment_initiation.recipient.create` Create payment recipient write
- `plaid.payment_initiation.recipient.get` Get payment recipient read
- `plaid.payment_initiation.recipient.list` List payment recipients read

**Bank transfer 10**

- `plaid.bank_transfer.balance.get` (Deprecated) Get balance of your Bank Transfer account read
- `plaid.bank_transfer.cancel` (Deprecated) Cancel a bank transfer destructive
- `plaid.bank_transfer.create` (Deprecated) Create a bank transfer destructive
- `plaid.bank_transfer.event.list` List bank transfer events read
- `plaid.bank_transfer.event.sync` Sync bank transfer events read
- `plaid.bank_transfer.get` (Deprecated) Retrieve a bank transfer read
- `plaid.bank_transfer.list` (Deprecated) List bank transfers read
- `plaid.bank_transfer.migrate_account` (Deprecated) Migrate account into Bank Transfers destructive
- `plaid.bank_transfer.sweep.get` (Deprecated) Retrieve a sweep read
- `plaid.bank_transfer.sweep.list` (Deprecated) List sweeps read

**Asset report 8**

- `plaid.asset_report.audit_copy.create` Create Asset Report Audit Copy write
- `plaid.asset_report.audit_copy.get` Retrieve an Asset Report Audit Copy read
- `plaid.asset_report.audit_copy.remove` Remove Asset Report Audit Copy destructive
- `plaid.asset_report.create` Create an Asset Report write
- `plaid.asset_report.filter` Filter Asset Report write
- `plaid.asset_report.get` Retrieve an Asset Report read
- `plaid.asset_report.refresh` Refresh an Asset Report write
- `plaid.asset_report.remove` Delete an Asset Report destructive

**Protect 8**

- `plaid.protect.cash_advance.decision.create` Record a cash advance decision write
- `plaid.protect.cash_advance.feedback.upload` Upload a file of cash advance feedback write
- `plaid.protect.cash_advance.repayment.create` Record a cash advance repayment write
- `plaid.protect.compute` Compute Protect Trust Index scores and subscores write
- `plaid.protect.event.get` Get information about a user event read
- `plaid.protect.event.send` Send a new event to enrich user data write
- `plaid.protect.report.create` Create a Protect report write
- `plaid.protect.user.insights.get` Get Protect user insights read

**FDX 7**

- `plaid.fdx.consents.get` Get FDX consent grant read
- `plaid.fdx.consents.list` List FDX consent grants for a customer read
- `plaid.fdx.consents.revocation.get` Retrieve FDX consent grant revocation records read
- `plaid.fdx.consents.revoke` Revoke FDX consent grant destructive
- `plaid.fdx.notifications.create` Webhook receiver for fdx notifications write
- `plaid.fdx.recipient.get` Get Recipient read
- `plaid.fdx.recipients.list` Get Recipients read

**Wallet 6**

- `plaid.wallet.create` Create an e-wallet write
- `plaid.wallet.get` Fetch an e-wallet read
- `plaid.wallet.list` Fetch a list of e-wallets read
- `plaid.wallet.transaction.execute` Execute a transaction using an e-wallet write
- `plaid.wallet.transaction.get` Fetch an e-wallet transaction read
- `plaid.wallet.transaction.list` List e-wallet transactions read

**Identity 5**

- `plaid.identity.documents.uploads.get` Returns uploaded document identity read
- `plaid.identity.get` Retrieve identity data read
- `plaid.identity.match` Retrieve identity match score read
- `plaid.identity.match.list` List Link Identity Match attempts read
- `plaid.identity.refresh` Refresh identity data write

**Identity verification 5**

- `plaid.identity_verification.autofill.create` Create autofill for an Identity Verification write
- `plaid.identity_verification.create` Create a new Identity Verification write
- `plaid.identity_verification.get` Retrieve Identity Verification read
- `plaid.identity_verification.list` List Identity Verifications read
- `plaid.identity_verification.retry` Retry an Identity Verification write

**Partner 5**

- `plaid.partner.customer.create` Creates a new end customer for a Plaid reseller write
- `plaid.partner.customer.enable` Enables a Plaid reseller's end customer in the Production environment write
- `plaid.partner.customer.get` Returns a Plaid reseller's end customer read
- `plaid.partner.customer.oauth_institutions.get` Returns OAuth-institution registration information for a given end customer read
- `plaid.partner.customer.remove` Removes a Plaid reseller's end customer destructive

**Signal 5**

- `plaid.signal.decision.report` Report whether you initiated an ACH transaction write
- `plaid.signal.evaluate` Evaluate a planned ACH transaction write
- `plaid.signal.prepare` Opt-in an Item to Signal Transaction Scores write
- `plaid.signal.return.report` Report a return for an ACH transaction write
- `plaid.signal.schedule` Schedule a planned ACH transaction write

**Transactions 5**

- `plaid.transactions.enrich` Enrich locally-held transaction data read
- `plaid.transactions.get` Get transaction data read
- `plaid.transactions.recurring.get` Fetch recurring transaction streams read
- `plaid.transactions.refresh` Refresh transaction data write
- `plaid.transactions.sync` Get incremental transaction updates on an Item read

**Cashflow report 4**

- `plaid.cashflow_report.get` Gets transaction data in `cashflow_report` read
- `plaid.cashflow_report.insights.get` Gets insights data in Cashflow Report read
- `plaid.cashflow_report.refresh` Refresh transaction data in `cashflow_report` write
- `plaid.cashflow_report.transactions.get` Gets transaction data in `cashflow_report` read

**Income 4**

- `plaid.income.verification.create` (Deprecated) Create an income verification instance write
- `plaid.income.verification.paystubs.get` (Deprecated) Retrieve information from the paystubs used for income verification read
- `plaid.income.verification.precheck` (Deprecated) Check digital income verification eligibility and optimize conversion write
- `plaid.income.verification.taxforms.get` (Deprecated) Retrieve information from the tax documents used for income verification read

**Investments 4**

- `plaid.investments.auth.get` Get data needed to authorize an investments transfer read
- `plaid.investments.holdings.get` Get Investment holdings read
- `plaid.investments.refresh` Refresh investment data write
- `plaid.investments.transactions.get` Get investment transactions read

**Institutions 3**

- `plaid.institutions.get` Get details of all supported institutions read
- `plaid.institutions.get_by_id` Get details of an institution read
- `plaid.institutions.search` Search institutions read

**Issues 3**

- `plaid.issues.get` Get an Issue read
- `plaid.issues.search` Search for an Issue read
- `plaid.issues.subscribe` Subscribe to an Issue write

**Link 3**

- `plaid.link.oauth.correlation_id.exchange` Exchange the Link Correlation ID for a Link Token write
- `plaid.link.token.create` Create Link Token write
- `plaid.link.token.get` Get Link Token read

**Oauth 3**

- `plaid.oauth.introspect` Get metadata about an OAuth token read
- `plaid.oauth.revoke` Revoke an OAuth token destructive
- `plaid.oauth.token` Create or refresh an OAuth access token write

**Payment profile 3**

- `plaid.payment_profile.create` Create payment profile write
- `plaid.payment_profile.get` Get payment profile read
- `plaid.payment_profile.remove` Remove payment profile destructive

**Accounts 2**

- `plaid.accounts.balance.get` Retrieve real-time balance data read
- `plaid.accounts.get` Retrieve accounts read

**Auth 2**

- `plaid.auth.get` Retrieve auth data read
- `plaid.auth.verify` Verify auth data read

**Business verification 2**

- `plaid.business_verification.create` Create a Business Verification write
- `plaid.business_verification.get` Get a Business Verification read

**Dashboard user 2**

- `plaid.dashboard_user.get` Retrieve a Dashboard user read
- `plaid.dashboard_user.list` List Dashboard users read

**Statements 2**

- `plaid.statements.list` Retrieve a list of all statements associated with an Item read
- `plaid.statements.refresh` Refresh statements data write

**User account 2**

- `plaid.user_account.session.event.send` Send User Account Session Event write
- `plaid.user_account.session.get` Retrieve User Account read

**Application 1**

- `plaid.application.get` Retrieve information about a Plaid application read

**Categories 1**

- `plaid.categories.get` (Deprecated) Get legacy categories read

**Consent 1**

- `plaid.consent.events.get` List a historical log of item consent events read

**Employers 1**

- `plaid.employers.search` (Deprecated) Search employer database read

**Employment 1**

- `plaid.employment.verification.get` (Deprecated) Retrieve a summary of an individual's employment information read

**Liabilities 1**

- `plaid.liabilities.get` Retrieve Liabilities data read

**Network 1**

- `plaid.network.status.get` Check a user's Plaid Network status read

**Profile 1**

- `plaid.profile.network_status.get` Check a user's Plaid Network status read

**Session 1**

- `plaid.session.token.create` Create a Link token for Layer write

**Webhook verification key 1**

- `plaid.webhook_verification_key.get` Get webhook verification key read

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.

## More connectors like Plaid

Shares the most action names with

- [Increase 4](https://actionlake.com/connectors/increase)
- [Wise Platform 3](https://actionlake.com/connectors/wise-platform)
- [Buildium 3](https://actionlake.com/connectors/buildium)
- [Basiq 2](https://actionlake.com/connectors/basiq)
- [Akahu 2](https://actionlake.com/connectors/akahu)
- [Mercury 2](https://actionlake.com/connectors/mercury)

Joins with, on shared entities

- [Cin7 Core 1](https://actionlake.com/connectors/cin7-core)
- [eBay Sell APIs 1](https://actionlake.com/connectors/ebay-sell-apis)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Plaid; the name is the vendor's own. Counts are from the Plaid service file, version 1.0.0.

## Give your agent Plaid today.

[Connect Plaid free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/plaid
More: https://actionlake.com/llms.txt
