Skip to main content
Glama
Expense Tracker MCP Server

Expense Tracker MCP Server

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 of categories.json.

Related MCP server: Expense Tracker MCP

Prerequisites

  • Python >= 3.12

  • uv (recommended for dependency management)

Installation & Usage

Using uv (Recommended)

You can run the server directly using uv:

uv run main.py

Manual Installation

  1. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  2. Install dependencies:

    pip install fastmcp
  3. Run the server:

    python main.py

Configuration for Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "c:\\Users\\LOQ\\Downloads\\ExpenseTracker_MCP_Server\\main.py"
      ]
    }
  }
}

Note: Update the path to main.py to match your local path.

Available Tools

6 tools
add_creditC

Add credit to the user's account. By default updates 'default' user. Returns new credit amount.

Inputs: amount (required), user_name.

add_expenseC

Add a new expense to the database.

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

delete_expenseC

Delete an expense from the database.

Inputs: id (required).

edit_expenseC

Edit an existing expense in the database.

Inputs: id (required), date (required), amount (required), category (required), +2 more.

list_expensesC

List all expenses in the database between start_date and end_date (inclusive).

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

summarizeB

Summarize expenses by category within the inclusive date range. Returns list of {"category": ..., "total": ...} ordered by total descending.

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

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity: adding credit, adding/editing/deleting expenses, listing expenses, and summarizing expenses. The descriptions clearly differentiate between credit operations, expense CRUD operations, and analytical functions.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case naming: add_credit, add_expense, delete_expense, edit_expense, list_expenses, summarize. The single verb 'summarize' without a noun is appropriate for its analytical function and maintains readability.

    Tool Count5/5

    Six tools is well-scoped for an expense tracking server, covering core operations without bloat. Each tool earns its place: credit management, full expense CRUD, listing, and summarization provide complete workflow coverage.

    Completeness4/5

    The tool surface covers most essential expense tracking operations including credit management and expense lifecycle. A minor gap exists in credit operations (no edit/delete credit tools), but agents can work around this limitation effectively.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      D
      maintenance
      Enables personal expense management with SQLite storage, allowing users to add, update, delete, list, and summarize expenses by category through natural language interactions.
      5
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables management of expenses via SQLite database, including adding, listing, updating, deleting, filtering, and summing expenses through natural language.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language management of personal expenses, including adding, listing, and summarizing expenses with local SQLite storage.
      -
    • F
      license
      A
      quality
      D
      maintenance
      Enables logging and tracking personal expenses in a local SQLite database with category/subcategory validation, offering tools to add, view, summarize, and delete expenses.
      4
      -