Skip to main content
Glama
Expense Tracker MCP Server

Expense Tracker MCP Server

Expense Tracker MCP Server

An MCP server for tracking expenses with a small SQLite-backed data store and a built-in categories resource.

What it provides

  • add_expense: insert a new expense record.

  • list_expenses: list expenses in an inclusive date range.

  • summarize: aggregate spending by category for a date range, with an optional category filter.

  • expense:///categories: expose the category list as JSON.

Related MCP server: local-expense-tracker

Storage

The server stores data in a SQLite database inside the operating system temporary directory:

  • Database file: expenses.db

  • Location: the current temp folder returned by Python's tempfile.gettempdir()

On startup, the server creates the expenses table if it does not already exist and performs a small write test to confirm the database is writable.

Categories

If src/expense_tracker_mcp_server/categories.json exists, the server serves that file content through expense:///categories.

If the file is missing, it falls back to these default categories:

  • Food & Dining

  • Transportation

  • Shopping

  • Entertainment

  • Bills & Utilities

  • Healthcare

  • Travel

  • Education

  • Business

  • Other

Requirements

  • Python 3.14 or later

  • fastmcp

  • aiosqlite

Run the server

From the project root:

python src/expense_tracker_mcp_server/main.py

The server starts an HTTP transport on 0.0.0.0:8000.

Tool reference

add_expense

Adds a new expense entry.

Arguments:

  • date: expense date as text

  • amount: numeric amount

  • category: top-level category name

  • subcategory: optional subcategory text

  • note: optional note text

Returns:

  • status

  • id on success

  • message

list_expenses

Lists expenses whose date value falls between start_date and end_date, inclusive.

Arguments:

  • start_date

  • end_date

Returns a list of expense objects ordered by newest date first, then by descending id.

summarize

Summarizes expenses by category for a date range.

Arguments:

  • start_date

  • end_date

  • category optional filter

Returns totals grouped by category, including sum of amount and count.

Notes

Tool Schema Changelog

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

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      MCP server for tracking personal expenses using FastMCP and SQLite, enabling adding, listing, updating, deleting expenses and summarizing by category via natural language tools.
      5
      1
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      A local MCP server for tracking personal expenses using SQLite, enabling users to add, list, and summarize expenses via natural language.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for tracking expenses with local SQLite storage. Provides tools to add, list, and summarize expenses by category.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      A simple MCP server for tracking expenses in a local SQLite database, enabling add, read, update, delete, and summarization of expenses with predefined categories.
      -