loading…
Search for a command to run...
loading…
Personal expense tracker MCP server that enables tracking expenses, income, budgets, and savings goals through natural language.
Personal expense tracker MCP server that enables tracking expenses, income, budgets, and savings goals through natural language.
Personal Expense Tracker as an MCP Server — works with Claude Desktop, Cursor, nanobot, Windsurf, and any MCP-compatible client.
# with uv (recommended)
uv pip install git+https://github.com/justfsl50/expense-mcp.git
# with pip
pip install git+https://github.com/justfsl50/expense-mcp.git
# from source
git clone https://github.com/justfsl50/expense-mcp.git
cd expense-mcp
pip install -e .
Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):
{
"mcpServers": {
"expense-mcp": {
"command": "uv",
"args": ["run", "expense-mcp"],
"env": {
"DATABASE_URL": "sqlite:///expenses.db",
"CURRENCY": "₹",
"DEFAULT_USER": "me"
}
}
}
}
Same config — paste into MCP settings under the respective app.
{
"mcp": {
"servers": [{
"name": "expense-mcp",
"command": "uv run expense-mcp"
}]
}
}
python server.py http
# Server runs at http://127.0.0.1:8000/mcp
| Variable | Default | Description |
|---|---|---|
DATABASE_URL |
sqlite:///expenses.db |
SQLite or PostgreSQL URL |
CURRENCY |
₹ |
Currency symbol |
DEFAULT_USER |
default |
User ID for multi-user setups |
PostgreSQL example:
DATABASE_URL=postgresql://user:pass@localhost:5432/expenses
| Tool | Description | Read-only |
|---|---|---|
expense_add |
Save expense or income | ❌ |
expense_search |
Filter by text, date, category, amount | ✅ |
expense_summary |
today / week / month / year totals | ✅ |
expense_delete |
Delete with Pydantic confirmation prompt | ❌ |
expense_insights |
Spending patterns and top categories | ✅ |
budget_set |
Set monthly category budget | ❌ |
budget_list |
View budgets with usage % | ✅ |
goal_create |
Create savings goal | ❌ |
goal_update |
Add money toward goal | ❌ |
goal_list |
View goals with progress bars | ✅ |
| URI | Description |
|---|---|
expense://summary/month |
Current month summary |
expense://budgets/current |
This month's budgets |
expense://goals/all |
All savings goals |
| Prompt | Title | Description |
|---|---|---|
monthly_review |
Monthly Review | Start a full month spending review |
budget_setup |
Budget Setup | Auto-suggest budgets from history |
savings_plan |
Savings Plan | Create a plan for a savings goal |
Just talk naturally in any MCP client:
"spent 500 on groceries"
"show food expenses this week"
"how much did I spend last month?"
"set food budget to 5000"
"am I within budget?"
"save 1000 toward my iPhone goal"
"give me spending insights"
"delete expense #12"
FastMCP + json_response=TrueAppContext dataclassDeclarativeBase, sessionmakerreadOnlyHint, destructiveHint, idempotentHintctx.info(), ctx.warning() in toolsexpenses — id, user_id, amount, category, description, type, date, source, created_at
budgets — id, user_id, category, amount, month
goals — id, user_id, name, target, saved, deadline
MIT — free to use, modify, and distribute.
Выполни в терминале:
claude mcp add expense-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.