View as Markdown

Plaid Integration

Manage Plaid create link token, exchange public token, get accounts, get transactions, get identity

The Plaid integration provides access to manage Plaid create link token, exchange public token, get accounts, get transactions, get identity through the Integrate MCP server.

Installation

The Plaid integration is included with the SDK:

import { plaidIntegration } from "integrate-sdk/server";

Setup

1. Create a Plaid OAuth App

  1. Create an OAuth application for Plaid
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Plaid integration to your server configuration. The integration automatically reads PLAID_CLIENT_ID and PLAID_CLIENT_SECRET from your environment variables:

import { createMCPServer, plaidIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    plaidIntegration({
      scopes: ["transactions", "auth", "identity", "accounts", "investments", "liabilities"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

plaidIntegration({
  clientId: process.env.CUSTOM_PLAID_ID,
  clientSecret: process.env.CUSTOM_PLAID_SECRET,
      scopes: ["transactions", "auth", "identity", "accounts", "investments", "liabilities"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("plaid");
const result = await client.plaid.createLinkToken({
  link_token_json: "value",
});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, plaidIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [plaidIntegration()],
});

Configuration Options

export interface PlaidIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • transactions
  • auth
  • identity
  • accounts
  • investments
  • liabilities

Tools

Create link token

export interface PlaidCreateLinkTokenParams { link_token_json: string }

plaid_exchange_public_token

Exchange public token

export interface PlaidExchangePublicTokenParams { exchange_json: string }

plaid_get_accounts

Get accounts

export interface PlaidGetAccountsParams { accounts_json: string }

plaid_get_transactions

Get transactions

export interface PlaidGetTransactionsParams { transactions_json: string }

plaid_get_identity

Get identity

export interface PlaidGetIdentityParams { identity_json: string }

plaid_get_investments

Get investments

export interface PlaidGetInvestmentsParams { investments_json: string }

Notes

  • Category: Banking
  • Authentication mode: OAuth