Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"expense-mcp": {
"env": {
"CURRENCY": "₹",
"DATABASE_URL": "sqlite:///expenses.db",
"DEFAULT_USER": "me"
},
"args": [
"run",
"expense-mcp"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Personal Expense Tracker as an MCP Server — works with Claude Desktop, Cursor, nanobot, Windsurf, and any MCP-compatible client.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'expense-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked expense-mcp against OSV.dev.
Click any tool to inspect its schema.
expense_summary_monthCurrent month summary
expense://summary/month
budgets_currentThis month's budgets
expense://budgets/current
goals_allAll savings goals
expense://goals/all
monthly_reviewStart a full month spending review
budget_setupAuto-suggest budgets from history
savings_planCreate a plan for a savings goal
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in finance
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
A Model Context Protocol server for building an investor agent
AI agents get on-chain identity, credentials, reputation, escrow, and persistent memory on XRPL.
Remote MCP server to integrate and validate self-hosted PayRam deployments.
MCP Security Weekly
Get CVE alerts and security updates for io.github.justfsl50/expense-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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, sessionmaker