Expense Tracker MCP Server
Provides tools for recording and managing expenses in a local SQLite database, including adding, listing, searching, and summarizing expenses by month and category.
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., "@Expense Tracker MCP ServerAdd a lunch expense of 200 rupees"
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.
Expense Tracker MCP Server
A minimal expense tracking server built with FastMCP and SQLite.
Setup
# Install dependencies (from the mcp_demo root)
pip install fastmcpRelated MCP server: Expense Tracker MCP Server
Running the Server
# From the mcp_demo root
python -m expense_tracker.serverOr run directly:
cd expense_tracker
python server.pyMCP Inspector (Development)
Use the FastMCP Inspector to interactively test and debug tools in the browser:
cd expense_tracker
fastmcp dev inspector server.pyTools
add_expense
Record a new expense.
Parameter | Type | Required | Description |
| float | ✅ | Amount in INR (must be > 0) |
| string | ✅ | What the expense was for |
| string | ❌ | Category (e.g. "food", "groceries"). Defaults to "uncategorized" |
| string | ❌ | Date in YYYY-MM-DD format. Defaults to today |
list_expenses
List recent expenses with pagination.
Parameter | Type | Required | Description |
| int | ❌ | Max results (default 20, max 100) |
| int | ❌ | Skip N results for pagination |
search_expenses
Search by keyword and/or category. At least one must be provided.
Parameter | Type | Required | Description |
| string | ❌ | Search in descriptions (case-insensitive) |
| string | ❌ | Filter by category |
get_expense_summary_month
Get monthly spending summary with category breakdown.
Parameter | Type | Required | Description |
| int | ❌ | Month (1-12). Defaults to current month |
| int | ❌ | Year. Defaults to current year |
get_budget_status_of_category
Get total spending for a specific category.
Parameter | Type | Required | Description |
| string | ✅ | Category to check (e.g. "food") |
| int | ❌ | Month (1-12). Defaults to current month |
| int | ❌ | Year. Defaults to current year |
Database
The SQLite database (expenses.db) is created automatically in the expense_tracker/ directory on first run.
Schema
CREATE TABLE expenses (
id INTEGER PRIMARY KEY AUTOINCREMENT,
amount REAL NOT NULL,
description TEXT NOT NULL,
category TEXT NOT NULL DEFAULT 'uncategorized',
date DATE NOT NULL,
created_at DATE NOT NULL DEFAULT (date('now'))
);Claude Desktop Integration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"expense-tracker": {
"command": "/Users/krishnasinghal/Projects/mcp_demo/.venv/bin/fastmcp",
"args": ["run", "/Users/krishnasinghal/Projects/mcp_demo/expense_tracker/server.py:mcp"],
}
}
}This server cannot be deployed
Maintenance
Related MCP Connectors
Track expenses from your AI chat: log, categorize, monthly CSV reports. All data is local.
141Track budgets from your AI chat: envelopes, monthly limits, variance reports. All data is local.
141Personal finance tracker — log transactions, view summaries, and browse a dashboard
Personal finance: log expenses in plain language, track accounts, budgets and spending
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables users to track and manage daily expenses through SQLite storage, supporting operations like adding, updating, deleting expenses, calculating totals by category, and filtering expenses by date range or category.-
- FlicenseCqualityDmaintenanceEnables personal expense management with SQLite storage, allowing users to add, update, delete, list, and summarize expenses by category through natural language interactions.5-
- FlicenseAqualityDmaintenanceEnables tracking and managing personal expenses through a local SQLite database. Supports adding, editing, deleting, listing, and summarizing expenses by category, as well as managing credit accounts.6-
- FlicenseNot gradedqualityDmaintenanceEnables users to manage expenses with category support, including adding expenses with date, amount, category, and notes, using SQLite for persistence.-