plaid-devx-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLAID_ENV | No | Plaid environment: 'sandbox' or 'production'. Production also requires PLAID_ALLOW_PRODUCTION=1. | sandbox |
| PLAID_SECRET | No | Plaid secret (sandbox or production). Required for sandbox integration tools. | |
| PLAID_CLIENT_ID | No | Plaid client ID from the Plaid dashboard. Required for sandbox integration tools. | |
| PLAID_DEVX_CACHE | No | Disk cache path for OpenAPI spec, Postman collection, and docs. | ~/.cache/plaid-devx-mcp |
| PLAID_ALLOW_PRODUCTION | No | Set to '1' to allow PLAID_ENV=production. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plaid_sandbox_item_createA | Creates a test Item without going through Link: calls /sandbox/public_token/create then /item/public_token/exchange. Stores the access_token in the server vault and returns an item_id you pass to every other tool. Sandbox test institutions: ins_109508 (First Platypus Bank, default), ins_109509 (Tartan Bank), ins_109510 (Houndstooth Bank), ins_109511 (Tattersall Federal Credit Union). Use override_username "user_custom" with custom_user_json to shape the data, or "user_transactions_dynamic" for changing transactions. |
| plaid_items_listA | Lists item_ids the vault knows about (no tokens are returned). |
| plaid_accounts_getB | Calls /accounts/get. Returns account ids, names, types, subtypes, masks and balances. |
| plaid_balance_getA | Calls /accounts/balance/get, the only endpoint that always hits the institution for a fresh balance (billable per call in production). |
| plaid_transactions_syncA | Calls /transactions/sync and follows has_more until the update is complete, so you get one consistent snapshot. Pass the returned next_cursor on later calls to get only changes. On a brand-new Item the first call can return zero transactions while Plaid is still fetching; the SYNC_UPDATES_AVAILABLE webhook (or a retry after a few seconds in sandbox) signals data is ready. |
| plaid_auth_getA | Calls /auth/get. Returns ACH (and wire/BACS/EFT where present) numbers for depository accounts on the Item. |
| plaid_identity_getA | Calls /identity/get. Returns names, emails, phone numbers and addresses the institution holds for each account. |
| plaid_item_getA | Calls /item/get. Shows available/billed products, consent expiration, the current error (if any) and webhook URL. |
| plaid_item_removeA | Calls /item/remove, invalidating the access_token, and forgets it in the vault. In production this stops billing for the Item. |
| plaid_sandbox_fire_webhookA | Calls /sandbox/item/fire_webhook so you can exercise your webhook handler. The Item must have been created with a webhook URL. |
| plaid_sandbox_reset_loginA | Calls /sandbox/item/reset_login to put the Item into the error state a real user hits when their bank password changes. Use it to test your update-mode Link flow. |
| plaid_institutions_searchA | Calls /institutions/search. In sandbox this returns the test banks; in production it searches the full network. Useful for finding institution_id and OAuth status. |
| plaid_link_token_createA | Calls /link/token/create. Use this when you want the real Link UI (web or mobile) instead of the sandbox shortcut. Pass the returned link_token to Plaid Link on the client; when Link returns a public_token, exchange it with /item/public_token/exchange. Sandbox Link accepts user_good / pass_good. |
| plaid_api_searchA | Keyword search over every endpoint in the official Plaid OpenAPI spec (path, summary, description). Deprecated endpoints are hidden unless asked for. |
| plaid_api_describeA | Request fields (required flag, type, enum, one-line description), a 200 response example from the spec, deprecation status and the docs link for a path such as /transactions/sync. |
| plaid_api_request_exampleA | Builds the smallest valid request body for an endpoint from the OpenAPI required fields, then renders it as a curl command and a plaid-node snippet against sandbox.plaid.com. Override fields with |
| plaid_docs_searchA | Searches the page index Plaid publishes at plaid.com/docs/llms.txt (guides, API reference, Link, webhooks, errors). Returns page titles and URLs; fetch one with plaid_docs_fetch. |
| plaid_docs_fetchA | Every plaid.com/docs page is also served as Markdown at /index.html.md. Returns that text, truncated to max_chars, optionally starting at an offset for paging. |
| plaid_api_statsA | Version of the OpenAPI spec in use, endpoint counts (live, deprecated, hidden, sandbox-only) and the full list of sandbox-only endpoints. |
| plaid_drift_checkA | Cross-checks the official OpenAPI spec against the official Postman collection and plaid.com/docs: endpoints missing from Postman, Postman requests hitting deprecated or unknown endpoints, placeholder or missing externalDocs links, endpoints absent from llms-full.txt and, with live=true, externalDocs pages that 404 and anchors that do not exist on the page. This is the maintenance checklist a DevRel engineer would run before each release. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plaid-quickstart | A guided tour: create an Item, read accounts, sync transactions, break and repair the login, then audit the docs. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| quickstart | The five prompts and the endpoints behind them |
TDQS
Scored across 20 tools
Each tool targets a distinct resource and action: core data endpoints (accounts, balance, transactions, auth, identity), item lifecycle (create, get, list, remove), sandbox testing controls (fire webhook, reset login), API spec exploration (search, describe, request example, stats), docs access, and a drift check. Even similar tools like accounts_get vs balance_get are clearly differentiated by purpose and description.
All tools consistently use the 'plaid_' prefix followed by a noun phrase and an action verb (e.g., plaid_accounts_get, plaid_transactions_sync, plaid_sandbox_item_create). The naming pattern is uniform and predictable, making it easy to infer tool purpose from the name alone.
With 20 tools, the server covers a broad set of Plaid development features without feeling bloated. Each tool has a clear role in the developer workflow—from item creation to sandbox controls, API exploration, and documentation—so the count is well-scoped and appropriate for the server's purpose.
The tool surface covers the full lifecycle: item creation (via sandbox or Link), data retrieval for accounts, balances, transactions, auth, and identity, item management (get, list, remove), sandbox testing (webhook firing, login reset), API spec introspection, docs access, and release-readiness drift checking. No obvious gaps are apparent for commonly used Plaid endpoints.