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, categorizing, and summarizing personal & business expenses. Built with Python, FastMCP, and SQLite.

Features

  • Add Expenses (add_expense): Log date, amount, category, subcategory, and optional notes.

  • List Expenses (list_expenses): Fetch expense logs within a specified date range.

  • Summarize Expenses (summarize): Aggregated totals grouped by category (or filter by specific category).

  • Categories Resource (expense://categories): Dynamic access to preset expense categories and subcategories.


Related MCP server: Expense Tracker MCP

Prerequisites

  • Python 3.12+

  • uv (recommended) or pip


Setup & Running

  1. Clone the Repository:

    git clone https://github.com/<YOUR_USERNAME>/expense-tracker-mcp-server.git
    cd expense-tracker-mcp-server
  2. Install Dependencies:

    uv sync
  3. Run the MCP Server:

    uv run main.py

MCP Client Configuration

Claude Desktop Configuration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/expense-tracker-mcp-server",
        "run",
        "main.py"
      ]
    }
  }
}

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

    C2.9/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: add_expense writes entries, list_expenses reads them by date range, and summarize aggregates them by category. There is no ambiguity between the three tools.

    Naming Consistency4/5

    All tools use a consistent verb_infinitive arrangement (add_, list_, summarize), though adding and listing are verb_noun patterns while summarize is less obviously named in the same convention. Minor deviation but the pattern is predictable.

    Tool Count3/5

    Three tools is on the thin side for an expense tracker, which typically needs update and delete operations to manage entries. The count is minimal but each tool does carry meaningful weight.

    Completeness2/5

    The surface covers create (add) and read (list, summarize), but lacks update and delete operations for expenses—a clear gap in CRUD coverage. Users cannot edit or remove entries, which is a significant functionality hole for an expense tracker.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables users to track and manage personal expenses through natural language, including adding entries, filtering by date/category, viewing statistics, and exporting data in JSON or CSV format.
      3
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables tracking of personal expenses with tools to add, list, update, delete, and summarize expenses by category.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables users to track expenses by adding, listing, and summarizing them with category support through natural language.
      -