My Finance MCP Server
My Finance MCP Server enables Claude to act as an AI bookkeeper for personal finance tracking through natural language interactions.
Core capabilities:
Store financial transactions - Upload unstructured documents (receipts, statements, CSVs) and Claude extracts structured data including date, amount, description, and category, persisting to both ChromaDB for vector search and JSON ledger for backup in
~/.my_finance_mcp/Semantic search - Query financial history using natural language (e.g., "How much did I spend on groceries last month?") to find relevant transactions across all stored data
List transactions - Browse stored transactions with pagination, optional category filtering, and view transaction indices
Delete transactions - Remove specific entries by index or wipe all data with confirmation
Analyze spending patterns - Ask Claude about portfolio positions, spending trends, allocations, and other financial insights from your data
Click on "Deploy 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., "@My Finance MCP Server how much did I spend on dining out last month?"
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.
My Finance MCP Server
Bare-bones Model Context Protocol server that lets Claude store personal finance transactions and later query them via semantic search. Transactions are persisted in ChromaDB for vector search plus a JSON ledger for backup.
Run it alongside Claude Desktop and you get an AI bookkeeper that remembers your receipts, statements, and portfolios—then answers natural language questions about spending trends, allocations, or anything else you upload.
Setup
Install
uv syncRun
uv run my_finance_mcp.pyConfigure Claude Desktop
Add to ~/.claude_desktop_config.json:
{
"mcpServers": {
"my-finance": {
"command": "uv",
"args": [
"run",
"--project",
"/path/to/my_finance",
"/path/to/my_finance/my_finance_mcp.py"
]
}
}
}Related MCP server: Finance MCP Server
Usage
Exposed tools:
store_transactions(transactions)– ingest structured transactions (Claude will extract them from uploaded docs)query_financial_history(query)– run semantic search across everything storedlist_transactions(limit=20, offset=0, category=None)– page through the JSON ledger to inspect what’s saved and see each transaction’s indexdelete_transactions(indices=None, delete_all=False, confirm=False)– delete entries by index or wipe them all (requiresconfirm=True)
Upload financial data to Claude
Say: "Store this transaction data"
Claude calls the MCP server to save it
Later ask: "How much did I spend on groceries last month?"
Claude searches your historical data via MCP
Use "Show me the stored transactions" or "Delete transaction xx" to invoke the management tools
Example Claude Desktop interaction
User: Remember these portfolio positions for later analysis.
Claude: I'll help you store your portfolio positions from the uploaded CSV file for later analysis. Let me read the file and process the data..
Perfect! I've stored your portfolio positions from November 6, 2025 in your finance system. Here's a summary of what was recorded:...
User: List my stored transactions
Claude: Here are your current stored transactions (4 total):...
User: Delete VXUS - International Stock ETF transaction
Claude: The VXUS - International Stock ETF transaction has been successfully deleted from your stored transactions.
User: List all transactions
Claude: Here are your current stored transactions (3 total):...Data Storage
~/.my_finance_mcp/financial_data/- ChromaDB vector database (created automatically)~/.my_finance_mcp/transactions.json- JSON backup of all transactions
Set the MY_FINANCE_MCP_DIR environment variable before launching Claude if you want to store data in a different directory.
Available Tools
4 toolsdelete_transactionsA
Delete transactions from both the JSON ledger and ChromaDB.
Args:
indices: List of transaction indices (from list_transactions) to delete
delete_all: Set to true to delete all transactions
confirm: Must be true to actually perform deletion (safety guard)
Returns:
Status message describing the deletion result
Inputs: indices, delete_all, confirm. Returns: result
list_transactionsA
List stored transactions from the JSON ledger with optional pagination and filtering.
Args:
limit: Maximum number of transactions to return (default 20)
offset: Number of transactions to skip from the beginning (default 0)
category: Optional category filter (case-insensitive)
Returns:
Dictionary containing total count, pagination info, and transactions with index field
Inputs: limit, offset, category. Returns: result
query_financial_historyC
Search through all stored financial data using semantic search.
Args:
query: Search query string to find relevant transactions
Returns:
Formatted summary of matching transactions with totals
Inputs: query (required). Returns: result
store_transactionsA
Parse and store transaction data from uploaded financial documents.
If you receive unstructured financial data (statements, receipts, CSV files, etc.),
extract transactions into the format: [{"date": "YYYY-MM-DD", "amount": number, "description": "string", "category": "string"}]
Args:
transactions: List of transaction dictionaries, each containing:
- date: Transaction date (string, format: YYYY-MM-DD)
- amount: Transaction amount (number, can be negative for expenses)
- description: Transaction description (string)
- category: Transaction category (string, optional, e.g. "Food", "Transport", "Bills")
Returns:
Success message with count of stored transactions
Inputs: transactions (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct and non-overlapping purpose: list_transactions retrieves data, store_transactions adds new data, delete_transactions removes data, and query_financial_history performs semantic search. The descriptions clearly differentiate their functions, with no ambiguity in selection.
Three tools follow a consistent verb_noun pattern (list_transactions, store_transactions, delete_transactions), but query_financial_history deviates slightly with a different verb style. The naming is still readable and mostly predictable, with only minor inconsistency.
With only 4 tools, the set feels thin for a finance management server, lacking operations like update_transactions, get_transaction_by_id, or category management. While the tools cover basic CRUD and search, the scope suggests more functionality is needed for comprehensive financial handling.
There are significant gaps in the tool surface for a finance domain. The server supports create (store_transactions), read (list_transactions, query_financial_history), and delete (delete_transactions), but lacks update operations (e.g., modify_transaction) and essential features like budget tracking, reporting, or category CRUD, which will limit agent effectiveness.
Maintenance
Related MCP Connectors
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Household finance memory, budgets, transactions, and monthly reviews for AI assistants.
Ask Claude about your income and spending, and import bank statements. No bank login.
Personal finance tracker — log transactions, view summaries, and browse a dashboard
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage personal expenses through natural language conversations. Supports adding, searching, and analyzing transactions with automatic categorization and financial insights.3MIT
- FlicenseNot gradedqualityDmaintenanceEnables personal finance tracking through Claude Desktop using natural language to manage income and expenses with persistent SQLite storage. Supports adding and deleting transactions, checking balances, and viewing spending summaries grouped by category or month.-
- AlicenseNot gradedqualityDmaintenanceAI-powered personal finance analysis through Claude AI using Plaid integration, enabling natural language queries about transactions, subscriptions, budgets, and spending trends.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables users to manage personal expenses through natural conversation with Claude, including adding, updating, deleting expenses, and viewing summaries by category or date range.3MIT