Skip to main content
Glama
ExpenseTracker

ExpenseTracker

Expense Tracker

A personal expense tracking tool built with FastMCP that exposes expense management as MCP tools and resources. Expenses are stored locally in a SQLite database (expenses.db).

Features

  • Add expenses with date, amount, category, subcategory, and notes

  • List expenses within a date range

  • Summarize spending by category over any period

  • Categories resource served from categories.json (editable without restart)

Related MCP server: Expense Tracker MCP Server

Requirements

  • Python ≥ 3.14

  • uv package manager

Installation

uv sync

Usage

uv run python main.py

This starts the MCP server (ExpenseTracker). Connect an MCP-compatible client (e.g. Claude Desktop) to use the tools:

Tool

Description

add_expense

Add a new expense entry

list_expenses

List expenses in a date range

summarize

Summarize expenses by category

MCP Resource

URI

Description

expense://categories

Returns available categories as JSON

Project Structure

.
├── main.py                  # MCP server entry point
├── categories.json          # Expense category definitions
├── expenses.db              # SQLite database (created on first run)
├── src/expense_tracker/     # Package source
├── pyproject.toml           # Project metadata and dependencies
└── README.md

License

MIT

Available Tools

3 tools
add_expenseC

Add a new expense entry to the database.

Inputs: date (required), amount (required), category (required), note, +1 more.

list_expensesA

List expense entries within an inclusive date range.

Inputs: end_date (required), start_date (required).

summarizeA

Summarize expenses by category within an inclusive date range.

Inputs: end_date (required), start_date (required), category.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: adding an entry, listing entries, and summarizing entries. There is no overlap or ambiguity between them.

    Naming Consistency4/5

    The naming follows a verb_noun pattern with add_expense and list_expenses, but summarize breaks the pattern by omitting the noun. This is a minor inconsistency that does not harm usability.

    Tool Count5/5

    Three tools is well-scoped for a simple expense tracking server. Each tool serves a core function, and the count feels neither bloated nor thin.

    Completeness3/5

    The server supports creating and reading expenses, but lacks update and delete operations. While summarizing adds value, the missing CRUD capabilities represent a notable gap in the tool surface.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables users to track personal expenses through natural language interactions with comprehensive category support and financial summaries. Provides both local and remote MCP server options with SQLite storage for fast expense management operations.
      -
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables managing and analyzing personal expenses through MCP tools, including adding expense records, listing expenses within date ranges, and summarizing spending by category, with expense categories exposed as an MCP resource.
      -
    • F
      license
      C
      quality
      C
      maintenance
      Enables users to add expenses, retrieve expenses by date range, and get spending summaries by category through MCP tools.
      4
      -