Skip to main content
Glama
alokmishra1807

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

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
    C
    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
    B
    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.
    -