Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PLAID_ENVYesPlaid environment: 'production' or 'sandbox' (default is 'production')
PLAID_MCP_DBNoPath to SQLite database file (default is '~/.plaid-mcp/plaid.db')
PLAID_SECRETYesYour Plaid secret from dashboard.plaid.com (sandbox or production)
MCP_AUTH_TOKENNoRandom 32-byte token for HTTP mode authentication (required for remote deployment)
PLAID_PRODUCTSNoComma-separated list of Plaid products required at link time (e.g., 'transactions')
PLAID_CLIENT_IDYesYour Plaid client ID from dashboard.plaid.com
PLAID_CLIENT_NAMENoClient name shown to users in Plaid Link (default is 'plaid-mcp')
PLAID_WEBHOOK_URLNoURL for webhook-driven link completion (optional, for remote deployment)
PLAID_COUNTRY_CODESNoComma-separated country codes (e.g., 'US' or 'US,CA,GB')
PLAID_OPTIONAL_PRODUCTSNoComma-separated list of Plaid products requested if supported (e.g., 'investments,liabilities,identity')

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
link_accountA

Start a new Plaid Link session. Returns a URL the user opens in their browser to authenticate with their bank. After they finish, call complete_linking with the returned link_token.

complete_linkingA

Finalize a Link session once the user has completed it in their browser. Exchanges the public_token for a permanent access_token and caches accounts.

list_linked_institutions_toolA

List every institution currently linked, with account counts and any errors.

remove_institution_toolB

Unlink an institution (Plaid item) and delete its local data.

list_accounts_toolA

List every account across every linked institution (from the local cache).

get_balances_toolA

Live balance lookup (hits Plaid, not cached). Filter by account_id if given.

sync_transactions_toolA

Pull the latest transactions from Plaid into the local cache. Idempotent and incremental — uses cursors from the last sync.

Plaid's first sync after linking an institution runs asynchronously; when wait_for_ready is True (default), this tool blocks briefly until the historical pull reports HISTORICAL_UPDATE_COMPLETE. Returned status field surfaces that state per item.

refresh_transactions_toolA

Nudge Plaid to pull fresh transactions from the bank right now.

Use when a user just made a purchase and wants to see it, or when transactions look stale. Plaid normally refreshes on its own every few hours; this forces an immediate pull. Asynchronous — wait 30-60s then call sync_transactions to ingest any new data.

Pass item_id to refresh one institution, or leave empty to refresh everything. Some smaller banks don't support on-demand refresh.

get_transactions_toolA

Query cached transactions. Dates are YYYY-MM-DD. Run sync_transactions first to refresh. Positive amounts = spend.

search_transactions_toolC

Fuzzy search across transaction description and merchant name.

spending_summary_toolC

Aggregate spending by category | subcategory | merchant | account.

get_holdings_toolC

Current investment positions (tickers, quantities, market value, cost basis).

get_investment_transactions_toolC

Brokerage transactions: buys, sells, dividends, fees.

get_liabilities_toolC

Credit cards, student loans, mortgages with APRs, balances, due dates.

get_identity_toolC

Account holder names, emails, phones, addresses as reported by the institution.

get_income_toolB

Bank-detected income streams. Requires Income product enabled in your Plaid dashboard.

set_account_override_toolA

Annotate a linked card with the real APR when Plaid misses it.

Common case: Citi doesn't consistently report 0% intro / balance-transfer promos through /liabilities/get. Use this to record the true effective APR and (optionally) a promo expiration date so summarize_debt_tool can reason honestly. After the promo_expires date, payoff analysis reverts to Plaid's reported purchase APR.

clear_account_override_toolC

Remove any APR override for an account.

list_overrides_toolB

List every account APR override the user has recorded.

add_external_debt_toolA

Track a debt that isn't behind a linked Plaid account.

Use for BNPL (Affirm, Klarna), medical bills, 401(k) loans, or debts at non-linkable lenders. apr is a percentage (e.g. 18.5 for 18.5%, not 0.185). Returns the assigned debt_id.

update_external_debt_toolC

Update any subset of fields on an existing external debt.

remove_external_debt_toolC

Delete an external debt entry.

list_external_debts_toolA

List every external (non-Plaid-linked) debt the user has recorded.

summarize_debt_toolA

Rank every debt and project payoff timelines.

Merges Plaid-reported credit cards with user APR overrides and any external debts, then ranks by strategy:

  • avalanche (default): highest effective APR first — minimizes interest paid.

  • snowball: lowest balance first — fastest sense of progress.

extra_monthly_payment is dollars above the priority debt's minimum you'd put toward it each month. Returns total balance, monthly interest accrual at current rates, priority debt, amortized payoff projections (minimum-only vs. with-extra), and warnings for promos expiring soon.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/t-rhex/plaid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server