plaid-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plaid-mcpShow my recent transactions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
plaid-mcp
A self-hosted MCP server that lets Claude query your bank accounts, balances, and transactions through Plaid.
Tools
Tool | Description |
| All linked bank accounts |
| Current/available balances and credit limits |
| Full transaction history for a date range |
| Total spending broken down by category |
| Filter transactions by Plaid PFC category |
| All merchants for a date range, sorted by total spend |
| Filter transactions by merchant name |
How it works
OAuth 2.1 + PKCE with Google as the identity provider
Email allowlist is the security boundary
Claude.ai gets a 30-day bearer token; your Plaid access token never leaves your server
Caddy sits in front of FastAPI, terminating TLS on port 443 with auto-provisioned Let's Encrypt certs and reverse-proxying to
localhost:8080
Requirements
A Linux server with a public IP (this guide uses an AWS EC2
t3.micro)A domain name pointing at it (this guide uses a free DuckDNS subdomain)
A Plaid developer account with production access
A Google Cloud account for the OAuth client
Setup
1. Plaid
Create a Plaid account at dashboard.plaid.com
Request Production access in the dashboard (Plaid will review your application — this can take a few days)
Once approved, save your
client_idandProductionsecret from Team Settings → Keys
2. Google OAuth
console.cloud.google.com → create a project
APIs & Services → OAuth consent screen → set up an "External" app, add yourself as a test user
APIs & Services → Credentials → Create credentials → OAuth client ID
Application type: Web application
Authorized redirect URIs:
https://yourdomain.com/auth/google/callback(use your real domain from step 4 below)Save the
Client IDandClient secret
3. Server
This guide assumes AWS EC2:
Launch a
t3.microUbuntu 24.04 instanceSecurity group: inbound TCP 22 (SSH from your IP), 80, 443
Allocate an Elastic IP and associate it with the instance
SSH in:
ssh -i your-key.pem ubuntu@<elastic-ip>
4. Domain
Free option using DuckDNS:
Sign in with Google/GitHub/Reddit
Reserve a subdomain (e.g.
plaid-yourname)Set the IP to your Elastic IP
Your domain is now
plaid-yourname.duckdns.org
Go back to step 2.5 and set the redirect URI to https://plaid-yourname.duckdns.org/auth/google/callback.
5. Install
On the server:
git clone https://github.com/lukew0824/plaid-mcp.git
cd plaid-mcp
cp .env.example .env
nano .env # fill in everything
./install.shThe script:
Installs Python, Caddy, and dependencies
Sets up a systemd service (
plaid-mcp)Configures Caddy as a reverse proxy with auto-HTTPS via Let's Encrypt
6. Connect in Claude.ai
Claude.ai → Settings → Connectors → Add custom connector
URL:
https://yourdomain.com/mcpClick Connect
Sign in with the Google account matching
ALLOWED_EMAILFirst time only: a Plaid Link popup will appear — connect your bank
Done. Try: "What did I spend on food last month?"
Configuration
The .env values:
Key | Description |
|
|
| From Plaid dashboard |
| From Plaid dashboard |
| From Google Cloud Console |
| From Google Cloud Console |
| The single Google email allowed to authenticate |
| Public HTTPS URL of this server (no trailing slash) |
|
|
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/lukew0824/plaid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server