Skip to main content
Glama
simran-mehta

Expense Tracker MCP Server

by simran-mehta

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

Tool

Description

Key Parameters

add_expense

Record a new expense

amount, category, description, date, currency

list_expenses

List expenses with optional filters

category?, start_date?, end_date?, limit?

get_expense_summary

Aggregated totals grouped by category or month

group_by (category or month), start_date?, end_date?

update_expense

Edit an existing expense by ID

id, amount?, category?, description?, date?

delete_expense

Remove an expense by ID

id

set_budget

Set a monthly budget limit for a category

category, monthly_limit, currency?

get_budget_status

Compare budget limits vs actual spend

month? (defaults to current month)

export_expenses

Export expenses as a CSV string

start_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

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/simran-mehta/Expense-Tracker-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server