Manages expenses in a local SQLite database, providing tools for adding, editing, deleting, and summarizing expense records with support for categories and date-range queries.
Expense Tracker MCP Server
A Model Context Protocol (MCP) server for tracking expenses, built with fastmcp.
Features
This server provides tools to manage expenses in a local SQLite database (expenses.db) and exposes categories via a resource.
Tools
add_expense: Add a new expense.Arguments:
date(YYYY-MM-DD),amount,category,subcategory(optional),note(optional).
list_expenses: List expenses within a date range.Arguments:
start_date,end_date.
summarize: Summarize expenses by category.Arguments:
start_date,end_date,category(optional filter).
edit_expense: Edit an existing expense.Arguments:
id,date,amount,category,subcategory,note.
delete_expense: Delete an expense by ID.Arguments:
id.
add_credit: Add credit to a user account (default user).Arguments:
amount,user_name(optional, default="default").
Resources
expense://categories: Returns the content ofcategories.json.
Prerequisites
Python >= 3.12
uv(recommended for dependency management)
Installation & Usage
Using uv (Recommended)
You can run the server directly using uv:
Manual Installation
Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
pip install fastmcpRun the server:
python main.py
Configuration for Claude Desktop
Add the following to your claude_desktop_config.json:
Note: Update the path to