Personal Finance MCP
About
Self-hosted, read-only MCP server for personal finance. Connect your banks, credit cards, loans, and brokerage accounts via Plaid and query them from Claude Code in plain English — no third-party aggregator involved.
Details
- Author
- JosueM1109
- Downloads
- 471
- Categories
- Finance
Jump to
- Nine read-only tools: list_accounts, get_balances, get_transactions, search_transactions, get_recurring_transactions, get_liabilities, get_investment_holdings, get_investment_transactions, and get_institutions_status
- Self-hosted and single-tenant – one deployment per person
- No third‑party aggregator; connects directly via Plaid
- All tools are read‑only, never mutating financial data
- Credentials stored in environment variables, never on disk
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Personal Finance MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Requires Python 3.11+, a free Plaid Trial plan (up to 10 Items), and an MCP client like Claude Code. Clone the repository, install dependencies, copy .env.example to .env and fill in Plaid credentials. Run uvicorn link_helper:app --port 8765 once per bank to generate access tokens, then run python server.py to serve the server on http://localhost:8000/mcp. Add it to Claude Code with claude mcp add --transport http personal-finance http://localhost:8000/mcp.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"personal finance mcp": {
"personal-finance": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8000:8000",
"-e",
"PLAID_CLIENT_ID",
"-e",
"PLAID_SECRET",
"-e",
"PLAID_ENV",
"personal-finance-mcp"
],
"env": {
"PLAID_CLIENT_ID": "<YOUR_PLAID_CLIENT_ID>",
"PLAID_SECRET": "<YOUR_PLAID_SECRET>",
"PLAID_ENV": "production"
}
}
}
}
}
McpServers
{
"personal-finance": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8000:8000",
"-e",
"PLAID_CLIENT_ID",
"-e",
"PLAID_SECRET",
"-e",
"PLAID_ENV",
"personal-finance-mcp"
],
"env": {
"PLAID_CLIENT_ID": "<YOUR_PLAID_CLIENT_ID>",
"PLAID_SECRET": "<YOUR_PLAID_SECRET>",
"PLAID_ENV": "production"
}
}
}
Personal Finance MCP
A self-hosted, read-only MCP server that connects your banks, credit cards, loans, and brokerage accounts (via Plaid) to Claude Code. Ask questions about your own finances in plain English — no Monarch, no Mint, no third-party aggregator. > Unofficial. Not affiliated with Plaid Inc. Self-hosted client using credentials you supply.What you can ask
- "What's my total balance across all accounts?" - "Show me transactions over $100 in the last 30 days." - "Which subscriptions am I still paying for?" - "How much did I spend on groceries last month?" - "Any bank that needs re-authentication?"Tools (9, all read-only)
| Tool | What it does | | --- | --- | |list_accounts | Every account across every linked bank, with balances |
| get_balances | Live current + available balances |
| get_transactions | Transactions in a date range (up to 2 years back) |
| search_transactions | Keyword search across merchant / name / counterparty |
| get_recurring_transactions | Detected recurring inflow + outflow streams |
| get_liabilities | Credit cards, student loans, mortgages with APRs |
| get_investment_holdings | Current holdings with symbol + security metadata |
| get_investment_transactions | Buy / sell / dividend history in a date range |
| get_institutions_status | Health of each linked bank (surfaces re-auth needs) |
Quickstart
Requires Python 3.11+, a Plaid account (free Trial plan, 10 Items), and an MCP client. 1. Sign up at plaid.com → Trial plan → enable Transactions, Liabilities, Investments. 2. Clone the repo, install requirements, copy.env.example to .env, fill in Plaid credentials.
3. Run uvicorn link_helper:app --port 8765 once per bank to generate access tokens.
4. Run python server.py — serves on http://localhost:8000/mcp.
5. Add to Claude Code:
``
claude mcp add --transport http personal-finance http://localhost:8000/mcp
`
Full setup, deployment (Docker, Fly.io, Raspberry Pi, Prefect Horizon), and security notes in the GitHub README.
Security
- Single-tenant. One deployment per person. Don't share.
- Read-only. No tool mutates state at any institution.
- Tokens live in env vars, never on disk. .env` is gitignored.
- You own Plaid compliance — you're the Plaid customer under your own account.
License
MITSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
