Personal Finance MCP Server
Enables Claude to analyze personal finances by reading bank CSVs or connecting to Plaid for live transactions, categorizing spending, flagging overspending against benchmarks, and generating actionable reports and savings tips.
README
Personal Finance MCP Server
"Wait, where did my money go this month?"
We've all been there. You check your bank balance at the end of the month and it's somehow $400 less than you expected. You open your transactions, scroll for five minutes, and still can't figure out what happened.
This project fixes that — by giving Claude the ability to actually analyze your finances. Not just read numbers, but understand them, flag the problems, and tell you exactly what to do differently.

The idea
Most finance apps are dashboards you have to go to. This is different — it's an MCP server that plugs directly into Claude Desktop, so your AI assistant gains finance analysis as a native ability. You just talk to it.
"Analyze my spending from last month and tell me where I'm bleeding money."
Claude pulls your transactions, categorizes everything, compares it against the 50/30/20 rule, surfaces the problem areas, and gives you a plain-English report with actionable tips — all in one response, no spreadsheets, no dashboards.
What's under the hood
Five tools that chain together:
| Tool | What it actually does |
|---|---|
analyze_spending |
Reads your bank CSV, categorizes every transaction by keyword matching, returns totals + percentages per category |
flag_overspending |
Compares each category against standard benchmarks (30% housing, 15% food, etc.) and flags anything over the limit |
get_savings_tips |
Calls GPT-3.5 to generate 5 specific, actionable tips for whichever category is hurting you |
generate_report |
Writes a plain-English monthly finance summary — highlights, red flags, and a one-line verdict |
fetch_bank_transactions |
Connects to real bank accounts via Plaid and pulls live transactions — same output format, so all other tools work on it automatically |
Real bank data via Plaid
The CSV flow works with any bank export. But if you want live data, the Plaid integration connects to actual bank accounts (Chase, BofA, Wells Fargo, 12,000+ others) and pulls real transactions in real time.
For testing, Plaid's sandbox gives you a fake-but-realistic bank with pre-loaded transactions — no real account needed.
Get it running
1. Clone and set up:
git clone https://github.com/jahnavi-reddy03/personal-finance-mcp.git
cd personal-finance-mcp
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
2. Add your API keys:
cp .env.example .env
# then edit .env and fill in your OpenAI + Plaid keys
3. Wire it into Claude Desktop — add this to your claude_desktop_config.json:
{
"mcpServers": {
"personal-finance": {
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\personal-finance-mcp\\server.py"]
}
}
}
Restart Claude Desktop. The five tools load automatically — you'll see them in Settings → Developer → Local MCP Servers.
Try it yourself
There's a 30-transaction sample CSV in data/sample/transactions.csv so you can test immediately without connecting a bank. Just paste this into Claude Desktop:
Analyze my spending from C:\path\to\personal-finance-mcp\data\sample\transactions.csv,
flag anything over budget, and give me a full report with savings tips.
For live Plaid data, run the helper script first to get a sandbox access token:
python get_sandbox_token.py
Tech stack
- Python + FastMCP — the MCP server itself and all tool definitions
- Pandas — transaction parsing, categorization, and aggregation
- OpenAI GPT-3.5 — generates tips and report narrative (falls back to static tips if no API key)
- Plaid API — live bank transaction fetching across 12,000+ institutions
- python-dotenv — keeps API keys out of the codebase
Project structure
personal-finance-mcp/
├── server.py ← entry point, all 5 tools registered here
├── tools/
│ ├── analyze.py ← CSV parsing + keyword categorization
│ ├── overspending.py ← 50/30/20 benchmark comparisons
│ ├── tips.py ← GPT-3.5 tips + static fallback
│ ├── report.py ← plain-English report generator
│ └── plaid_fetch.py ← live bank data via Plaid
├── data/sample/
│ └── transactions.csv ← 30 realistic test transactions
├── get_sandbox_token.py ← one-time script to get Plaid sandbox token
├── .env.example ← copy this to .env, never commit .env
└── requirements.txt
License
MIT — use it, fork it, build on it.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.