Plaid Developer Tools
Plaid API integration for fintech developers using Cursor, Claude Code, and MCP-compatible editors. 17 skills covering Link setup, transaction sync, webhooks, sandbox testing, category mapping, error handling, API reference, institution search, account verification, investments, identity, recurring detection, migration, security, React integration, Next.js integration, and production readiness - plus 7 rules. Companion MCP server provides 30 tools for live Plaid sandbox interaction.
0
Skills
0
Rules
0
MCP Tools
Cursor 0.49+
Windows / macOS / Linux
Node 18+
Claude Code compatible
Get started with Plaid sandbox
cd mcp-server && npm install && npm start
Skills
17Skills list
Plaid Account Verification Verify bank accounts using Plaid Auth, micro-deposits, same-day micro-deposits, and database match. Use when the user needs account and routing numbers or ACH payment verification.
Triggers
plaid-account-verification
- Needs account and routing numbers for ACH payments
- Wants to verify bank account ownership
- Is setting up micro-deposit verification
- Needs same-day micro-deposit flows
- Is implementing database match verification
- Wants to initiate ACH debits or credits
Plaid API Reference Search and retrieve Plaid API endpoint documentation including parameters, authentication requirements, response shapes, and rate limits. Use when the user needs to call a Plaid API or wants to know a
Triggers
plaid-api-reference
- Asks how to call a specific Plaid API endpoint
- Wants to know what Plaid APIs are available
- Needs parameter details for a Plaid endpoint
- Is looking up authentication requirements for an endpoint
- Needs to understand response shapes and error codes
- Wants rate limit information for an API call
Plaid Category Mapping Map Plaid personal finance categories to your application's taxonomy. Covers the primary/detailed hierarchy, building custom mapping layers, and common category use cases. Use when the user needs to c
Triggers
plaid-category-mapping
- Needs to understand Plaid's transaction category system
- Wants to map Plaid categories to custom app categories
- Is building a budgeting or expense tracking feature
- Needs to display human-readable category labels
- Wants to aggregate spending by category
- Is migrating from the legacy category system to `personal_finance_category`
Plaid Error Handling Detect, classify, and recover from Plaid API errors including ITEM_LOGIN_REQUIRED, INVALID_CREDENTIALS, INSTITUTION_NOT_RESPONDING, rate limits, and network failures. Use when the user needs to handle
Triggers
plaid-error-handling
- Is getting errors from Plaid API calls
- Needs to implement error handling for Plaid integration
- Wants to understand Plaid error types and recovery strategies
- Needs to handle ITEM_LOGIN_REQUIRED or other item errors
- Is debugging intermittent failures or rate limits
- Wants to build a robust error recovery system
Plaid Identity Verification Implement Plaid Identity and Identity Verification products for KYC flows, document verification, and match scores. Use when the user needs to verify account holder identity.
Triggers
plaid-identity-verification
- Needs to verify the identity of account holders
- Is implementing KYC (Know Your Customer) flows
- Wants to retrieve account holder names, addresses, and contact info
- Needs document verification (ID, passport, driver's license)
- Wants match scores comparing Plaid data to user-provided info
- Needs to handle joint accounts with multiple owners
Plaid Institution Search Search Plaid institutions by name, routing number, products supported, and country. Use when the user needs to find bank coverage, check institution availability, or look up institution details.
Triggers
plaid-institution-search
- Wants to check if a specific bank is supported by Plaid
- Needs to search institutions by name or routing number
- Wants to filter institutions by supported products
- Needs institution details (logo, URL, products, MFA type)
- Is checking country-level coverage
- Needs to handle OAuth institutions differently from credential-based ones
Plaid Investment Tracking Track investment holdings, securities, and transactions using the Plaid Investments product. Covers holdings retrieval, security details, cost basis, and supported brokerages.
Triggers
plaid-investment-tracking
- Needs to fetch investment holdings from brokerage accounts
- Wants security details (ticker, CUSIP, ISIN, type)
- Needs investment transaction history (buys, sells, dividends)
- Is building a portfolio tracker or net worth calculator
- Wants cost basis or gain/loss calculations
- Needs to aggregate holdings across multiple brokerages
Plaid Link Setup Integrate Plaid Link into web and mobile apps using react-plaid-link, token exchange, OAuth redirect handling, update mode, and multi-item flows. Use when the user needs to connect bank accounts via P
Triggers
plaid-link-setup
- Wants to integrate Plaid Link into a web or mobile app
- Needs to create a Link token on the backend
- Needs to handle the public token exchange flow
- Is setting up OAuth redirect for institutional login
- Wants to use update mode to fix broken connections
- Needs multi-item Link flows (connecting multiple banks)
- Is using `react-plaid-link` or `@plaid/link-web`
Plaid Migration Guide Migrate from Yodlee, MX, Finicity, or other aggregators to Plaid. Covers data mapping, institution coverage comparison, and migration strategies.
Triggers
plaid-migration-guide
- Is migrating from Yodlee, MX, Finicity, or another aggregator to Plaid
- Needs to compare institution coverage between providers
- Wants to map data fields from another provider to Plaid's schema
- Is planning a phased migration strategy
- Needs to handle dual-provider operation during transition
Plaid Next.js Integration Integrate Plaid into Next.js apps with App Router API routes, middleware auth, server-side token exchange, and webhook route handlers. Use when the user is building a Next.js app with Plaid.
Triggers
plaid-nextjs-integration
- Is building a Next.js app with Plaid integration
- Needs App Router API routes for Plaid endpoints
- Wants middleware authentication for Plaid routes
- Is setting up server-side token exchange
- Needs webhook route handlers in Next.js
- Wants server actions for Plaid operations
Plaid Production Readiness Prepare a Plaid integration for production access including the application process, compliance checklist, and sandbox to development to production migration path.
Triggers
plaid-production-readiness
- Is ready to move from sandbox to development or production
- Needs to apply for Plaid production access
- Wants a compliance checklist for their Plaid integration
- Needs to understand the sandbox -> development -> production path
- Is preparing for Plaid's application review process
Plaid React Integration Integrate Plaid Link into React apps using react-plaid-link hooks, error boundaries, loading states, and context providers. Use when the user is building a React frontend with Plaid.
Triggers
plaid-react-integration
- Is building a React app that integrates Plaid Link
- Needs `react-plaid-link` hook patterns beyond basic setup
- Wants context providers for managing Plaid state
- Needs error boundaries for Link failures
- Is handling loading states during token creation and exchange
- Wants reusable Plaid components
- Needs to reconnect broken items (update mode)
Plaid Recurring Detection Detect recurring transactions using the /transactions/recurring endpoint. Covers frequency detection, subscription identification, and recurring stream management.
Triggers
plaid-recurring-detection
- Needs to identify recurring transactions (subscriptions, bills, income)
- Wants to detect subscription payments automatically
- Is building a subscription tracker or bill reminder
- Needs to separate recurring from one-time transactions
- Wants to predict upcoming charges
- Needs to classify income streams (paychecks, deposits)
Plaid Sandbox Testing Test Plaid integrations using the sandbox environment with test credentials, test institutions, custom user scenarios, and error simulation. Use when the user needs to develop or test against Plaid wi
Triggers
plaid-sandbox-testing
- Is developing a Plaid integration and needs test data
- Wants to create sandbox items without the Link UI
- Needs to simulate specific error conditions
- Wants to test webhook handling in sandbox
- Needs to generate test transactions
- Wants to verify their integration works before going to development/production
- Needs to test OAuth redirect flows in sandbox
Plaid Security Best Practices Secure Plaid integrations with token encryption, RLS patterns, access token rotation, audit logging, and least-privilege access. Use when the user needs to harden their Plaid implementation.
Triggers
plaid-security-best-practices
- Needs to store Plaid access tokens securely
- Wants to encrypt sensitive Plaid data at rest
- Is implementing row-level security for multi-tenant apps
- Needs audit logging for Plaid API calls
- Wants to implement access token rotation
- Is preparing for a security audit of their Plaid integration
Plaid Transaction Sync Implement Plaid's /transactions/sync endpoint for cursor-based transaction pagination. Covers added/modified/removed handling, cursor persistence, deduplication, and the has_more loop. Use when the us
Triggers
plaid-transaction-sync
- Needs to fetch transactions from Plaid
- Is implementing `/transactions/sync` (the recommended approach)
- Needs to handle added, modified, and removed transactions
- Wants to understand cursor-based pagination
- Has stale transaction data and needs to refresh
- Is migrating from the legacy `/transactions/get` endpoint
Plaid Webhook Handling Handle Plaid webhooks including verification, all webhook types and codes, sandbox webhook firing, retry logic, and idempotent processing. Use when the user needs to receive and process Plaid webhook
Triggers
plaid-webhook-handling
- Needs to set up a webhook endpoint for Plaid events
- Wants to verify webhook signatures
- Needs to handle specific webhook types (transactions, item, auth, etc.)
- Wants to fire test webhooks in sandbox
- Is debugging missing or duplicate webhook events
- Needs idempotent webhook processing
Rules
7Rules list
| Name | Scope | Description |
|---|---|---|
| Plaid Env Safety | Prevent sandbox or development Plaid credentials from being used in production environments. Flag environment mismatches, missing PLAID_ENV validation, and hardcoded environment URLs. | |
| Plaid Error Handling | Flag Plaid API calls that lack proper error handling. Detect missing try/catch blocks, unchecked PlaidError types, and absent error recovery logic around Plaid client method calls. | |
| Plaid Link Best Practices | Flag common Plaid Link integration issues including missing onExit handler, no error callback, hardcoded products array, and missing OAuth support. | |
| Plaid Secrets | Prevent committing Plaid API credentials, access tokens, or sensitive authentication material. Flag files containing Plaid secret patterns before they are committed. | |
| Plaid Sync Cursor | Flag transaction sync implementations that don't persist cursors, miss the has_more loop, or risk losing cursor state between sync calls. | |
| Plaid Token Storage | Flag insecure storage of Plaid access tokens including localStorage, cookies, client-side code, unencrypted database columns, and log files. | |
| Plaid Webhook Security | Flag missing webhook signature verification, unvalidated webhook payloads, and insecure webhook endpoint patterns in Plaid integrations. |
MCP Tools
30
/
Accounts 7
| Name | Description |
|---|---|
| plaid_getAccounts | Get accounts for a Plaid access token |
| plaid_getBalance | Get real-time balance for accounts |
| plaid_getIdentity | Get account holder identity information |
| plaid_getAuthNumbers | Get account and routing numbers |
| plaid_getInvestmentHoldings | Get investment holdings and securities |
| plaid_getLiabilities | Get liability accounts including credit cards, student loans, and mortgages |
| plaid_getRecurring | Get recurring transactions for an item |
Items 3
| Name | Description |
|---|---|
| plaid_getItemStatus | Get item health, last successful and failed update timestamps |
| plaid_removeItem | Remove and disconnect a Plaid item |
| plaid_updateItemWebhook | Update the webhook URL for an item |
Link and Tokens 3
| Name | Description |
|---|---|
| plaid_createLinkToken | Create a Plaid Link token for sandbox testing |
| plaid_exchangePublicToken | Exchange a Plaid public token for an access token |
| plaid_inspectAccessToken | Decode and display access token metadata including item_id and products |
Reference 8
| Name | Description |
|---|---|
| plaid_listCategories | Browse the full Plaid personal_finance_category taxonomy |
| plaid_listProducts | List all Plaid products with descriptions and pricing tier |
| plaid_listWebhookTypes | List all Plaid webhook types with payload shapes and descriptions |
| plaid_listCountryCoverage | Show Plaid-supported countries and available products per country |
| plaid_listSandboxCredentials | List available sandbox test credentials and their behaviors |
| plaid_getApiEndpoint | Look up any Plaid API endpoint with parameters, auth, and response shape |
| plaid_searchInstitutions | Search Plaid institutions by name, products, and country |
| plaid_getInstitution | Get institution details by ID including name, products, logo, and URL |
Sandbox 5
| Name | Description |
|---|---|
| plaid_createSandboxItem | Create a sandbox item without Link UI for instant test bank connection |
| plaid_resetSandboxLogin | Force an ITEM_LOGIN_REQUIRED error on a sandbox item |
| plaid_fireSandboxWebhook | Fire a specific webhook type for a sandbox item |
| plaid_simulateTransactions | Fire sandbox transaction webhook to generate test transactions |
| plaid_sandboxSetVerificationStatus | Set micro-deposit verification status in sandbox |
Transactions 2
| Name | Description |
|---|---|
| plaid_syncTransactions | Run /transactions/sync with cursor management |
| plaid_refreshTransactions | Force a transaction refresh for an item |
Transfers 1
| Name | Description |
|---|---|
| plaid_getTransferIntent | Create a transfer intent for payment initiation |
Webhooks 1
| Name | Description |
|---|---|
| plaid_verifyWebhookSignature | Verify a webhook payload signature given body and headers |
Installation
Installation steps
- Clone and build:
git clone https://github.com/TMHSDigital/Plaid-Developer-Tools.gitcd Plaid-Developer-Tools/mcp-server && npm install && npm run build - Get Plaid credentials: Sign up at dashboard.plaid.com and get your
client_idandsecretfor the sandbox environment. - Set environment variables:
cp .env.example .env
Edit.envwith yourPLAID_CLIENT_ID,PLAID_SECRET, andPLAID_ENV=sandbox. - Add to Cursor MCP config (
.cursor/mcp.json):{"mcpServers":{"plaid":{"command":"node","args":["mcp-server/dist/index.js"],"env":{"PLAID_CLIENT_ID":"YOUR_CLIENT_ID","PLAID_SECRET":"YOUR_SECRET","PLAID_ENV":"sandbox"}}}} - Open your fintech project in Cursor. All 17 skills, 7 rules, and 30 MCP tools are ready. Start with sandbox mode - switch
PLAID_ENVtodevelopmentorproductionwhen ready.
Changelog
Recent changelog
v0.6.0
2026-04-02
Added
- 3 live MCP tools: `plaid_updateItemWebhook`, `plaid_getLiabilities`, `plaid_verifyWebhookSignature`
- Production skill: `plaid-react-integration` - usePlaidLink hook, PlaidContext provider, error boundaries, reconnection UI, TypeScript types
- Production skill: `plaid-nextjs-integration` - App Router API routes, server-only Plaid client, middleware auth, webhook handler, server actions
Changed
- Re-tagged 2 MCP tool stubs (`getTransferIntent`, `inspectAccessToken`) from v0.6.0 to v0.7.0
- `plaid_verifyWebhookSignature` verifies body hash against JWT claims and fetches the verification key from Plaid
- `plaid_getLiabilities` supports optional `account_ids` filter for scoping to specific liability accounts
v0.5.0
2026-04-01
View full changelog on GitHub →
Added
- 5 live MCP tools: `plaid_sandboxSetVerificationStatus`, `plaid_simulateTransactions`, `plaid_refreshTransactions`, `plaid_removeItem`, `plaid_getItemStatus`
- Production skill: `plaid-identity-verification` - identity data retrieval, match scoring, Identity Verification (KYC), joint account handling
- Production skill: `plaid-recurring-detection` - inflow/outflow streams, frequency types, stream lifecycle, subscription tracking, income detection
- Production rule: `plaid-token-storage` - flags localStorage, cookies, client-side code, unencrypted DB, and log output containing access tokens
Changed
- Re-tagged 3 MCP tool stubs (`updateItemWebhook`, `getLiabilities`, `getTransferIntent`) from v0.5.0 to v0.6.0
- `plaid_simulateTransactions` fires a `TRANSACTIONS` / `DEFAULT_UPDATE` webhook to generate sandbox test data
- `plaid_getItemStatus` returns full item metadata including products, webhook, and consent expiration
Changed
- Re-tagged 3 MCP tool stubs (`updateItemWebhook`, `getLiabilities`, `getTransferIntent`) from v0.5.0 to v0.6.0
- `plaid_simulateTransactions` fires a `TRANSACTIONS` / `DEFAULT_UPDATE` webhook to generate sandbox test data
- `plaid_getItemStatus` returns full item metadata including products, webhook, and consent expiration