MCP Hub
Back to servers

Expense Tracker MCP Server

Enables AI assistants like Claude to manage personal expenses locally using SQLite. Supports adding, categorizing, summarizing expenses, setting budgets, and exporting data without cloud services.

glama
Updated
Apr 18, 2026

Expense Tracker MCP Server

An MCP (Model Context Protocol) server that lets AI assistants like Claude manage personal expenses — add, categorize, summarize, and budget — using a local SQLite database.


Overview

This server exposes a set of MCP tools that Claude (or any MCP-compatible client) can call to track your spending. All data is stored locally in a SQLite file — no cloud, no account required.


Features

  • Add and manage expenses with categories, amounts, dates, and descriptions
  • Filter and list expenses by date range or category
  • Summarize spending by category or month
  • Set per-category budgets and check remaining balances
  • Export expenses to CSV
  • Fully local — data stays on your machine

MCP Tools

ToolDescriptionKey Parameters
add_expenseRecord a new expenseamount, category, description, date, currency
list_expensesList expenses with optional filterscategory?, start_date?, end_date?, limit?
get_expense_summaryAggregated totals grouped by category or monthgroup_by (category or month), start_date?, end_date?
update_expenseEdit an existing expense by IDid, amount?, category?, description?, date?
delete_expenseRemove an expense by IDid
set_budgetSet a monthly budget limit for a categorycategory, monthly_limit, currency?
get_budget_statusCompare budget limits vs actual spendmonth? (defaults to current month)
export_expensesExport expenses as a CSV stringstart_date?, end_date?, category?

Project Structure

expense-tracker-mcp-server/
├── main.py             # MCP server entry point (all tools)
├── expenses.db         # SQLite database (auto-created on first run)
├── pyproject.toml      # Project metadata and dependencies
├── .venv/              # Virtual environment (created by uv)
└── readme.md

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip
  • Claude Desktop (to connect the MCP server)

Installation

# Clone the repo
git clone https://github.com/your-username/expense-tracker-mcp-server.git
cd expense-tracker-mcp-server

# Initialize the project and install dependencies
uv init
uv add fastmcp

This creates a .venv folder automatically inside the project directory.


Running the Server

fastmcp run main.py

The server starts and listens for MCP connections via stdio. The SQLite database (expenses.db) is created automatically on first run.


Connecting to Claude Desktop

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Learning\\Expense-Tracker-MCP-Server",
        "run",
        "fastmcp",
        "run",
        "main.py"
      ]
    }
  }
}

Fully quit Claude Desktop (system tray → Quit) and reopen it. You should see the expense tracker tools available in the tools panel.


Example Prompts

Once connected to Claude, you can say:

  • "Add a $45 expense for groceries at Whole Foods today"
  • "Show me all food expenses from this month"
  • "What did I spend the most on last month?"
  • "Set a $300 monthly budget for dining out"
  • "How much of my entertainment budget is left?"
  • "Export all my expenses from March as CSV"

Development

# Run with MCP inspector for debugging
fastmcp dev inspector main.py

License

MIT

Reviews

No reviews yet

Sign in to write a review