local-expense-tracker
Click on "Install 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., "@local-expense-trackeradd a lunch expense of $12.50 for today"
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 -- Local MCP Server
A simple local MCP (Model Context Protocol) server for tracking personal expenses using SQLite. This server exposes expense-related tools (add, list, summarize) that can be consumed by MCP-compatible clients such as Claude Desktop, Cursor, or other LLM hosts.
No HTTP server. No frontend. Just a clean local tool backend for LLMs.
Features
Add expense entries with date, amount, category, subcategory, and notes
List expenses within a date range
Summarize expenses by category
Local SQLite database (auto-created)
Categories exposed as an MCP resource (
expense://categories)Zero configuration beyond Python
Related MCP server: Expense Tracker MCP
Project Structure
expense_tracker/
│
├── server.py # MCP server code
├── categories.json # Expense categories (editable at runtime)
└── expenses.db # SQLite database (auto-created)Requirements
Python 3.9+
uv(recommended)fastmcp
Setup
1. Install uv (once)
pip install uv
Verify installation:
uv --version
2. Create a virtual environment
From the project directory:
uv venv
Activate it:
Windows:
.venv\Scripts\activatemacOS / Linux:
source .venv/bin/activate
3. Install dependencies
uv pip install fastmcp
Running the MCP Server
Start the server using:
uv run python server.py
Note: You will see no output. This is expected behavior as the server runs silently and waits for a compatible client (like Claude) to connect.
To stop the server: CTRL + C
Database Behavior
The
expenses.dbfile is automatically created on first run.Tables are created using
CREATE TABLE IF NOT EXISTS.No manual database setup is required.
Available MCP Tools
add_expense
Adds a new expense entry to the database.
date: string (format:
YYYY-MM-DD)amount: number
category: string
subcategory: string (optional)
note: string (optional)
list_expenses
Lists all expenses within a given date range.
start_date: string (
YYYY-MM-DD)end_date: string (
YYYY-MM-DD)
summarize
Summarizes expenses by category.
start_date: string (
YYYY-MM-DD)end_date: string (
YYYY-MM-DD)category: string (optional)
MCP Resources
expense://categories
Returns the contents of categories.json. The file is read fresh on every request, allowing category updates without restarting the server.
Using with Claude Desktop
Add the server to your claude_desktop_config.json (found in %APPDATA%\Claude on Windows or ~/Library/Application Support/Claude on macOS):
{
"mcpServers": {
"expense-tracker": {
"command": "uv",
"args": [
"run",
"--path",
"C:/absolute/path/to/expense_tracker",
"python",
"server.py"
]
}
}
}
Note: Ensure you use absolute paths and forward slashes / even on Windows.
License
MIT License --- free to use, modify, and distribute.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
Related MCP Servers
- FlicenseBqualityDmaintenanceMCP server for tracking personal expenses using FastMCP and SQLite, enabling adding, listing, updating, deleting expenses and summarizing by category via natural language tools.51-
- FlicenseNot gradedqualityBmaintenanceA simple MCP server for tracking expenses in a local SQLite database, enabling add, read, update, delete, and summarization of expenses with predefined categories.-
- FlicenseBqualityCmaintenanceA lightweight local MCP server that enables users to add, list, edit, and delete expenses via SQLite database through natural language in MCP-compatible clients.41-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that lets AI assistants add, list, and summarize personal expenses using natural language, backed by SQLite.-