Skip to main content
Glama
ajayanta

expense-tracker

by ajayanta

Expense Tracker MCP Server

A lightweight local MCP (Model Context Protocol) server that lets you log, list, summarize, and remove personal expenses directly through Claude — no app, no manual spreadsheet entry, just natural conversation.

Built with FastMCP and backed by a local SQLite database.

Why

Most expense-tracking apps are clunky: too many taps, rigid categories, or subscription paywalls just to log a coffee. This server turns Claude into your expense tracker — you just tell it what you spent, and it's saved. Ask for a summary anytime and get an instant breakdown by category.

Related MCP server: Expense Tracker MCP Server

Features

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

  • List expenses within a date range

  • Summarize spending by category (optionally filtered to one category)

  • Remove expenses by ID

  • Data stored locally in a single SQLite file — fully private, no cloud sync

Requirements

Install dependencies:

pip install fastmcp

Setup

  1. Save the server script (e.g. expense_server.py) somewhere permanent on your machine.

  2. On first run, it automatically creates expenses.db in the same directory — no manual DB setup needed.

  3. Add it to your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    {
      "mcpServers": {
        "expense-tracker": {
          "command": "python",
          "args": ["/full/absolute/path/to/expense_server.py"]
        }
      }
    }

    Use the absolute path to the script. If you're using a virtual environment, point command to that environment's Python binary instead of system python.

  4. Restart Claude Desktop. The four tools below should appear as available.

Tools

Tool

Description

Parameters

add_expense

Adds a new expense

date, category, amount, subcategory (optional), note (optional)

list_expenses

Lists expenses in a date range

start_date, end_date

summarize_expenses

Totals spending by category in a date range

start_date, end_date, category (optional)

remove_expense

Deletes an expense by ID

expense_id

Dates should be in YYYY-MM-DD format.

Example usage

Just talk to Claude naturally once the server is connected:

  • "Log 450 for groceries today, subcategory vegetables"

  • "I spent 1200 on rent yesterday, note: August rent"

  • "Show me everything I spent this month"

  • "What's my breakdown by category for August 2026?"

  • "How much did I spend on food between Aug 1 and Aug 15?"

  • "Delete expense #12, I entered that twice"

Data storage

All data lives in expenses.db, a SQLite file created next to the script. Nothing is sent anywhere else — this is entirely local and private.

Schema:

expenses
├── id            INTEGER PRIMARY KEY AUTOINCREMENT
├── date          TEXT NOT NULL
├── category      TEXT NOT NULL
├── amount        REAL NOT NULL
├── subcategory   TEXT DEFAULT ''
└── note          TEXT DEFAULT ''

Backing up your data

Since everything lives in one file, back it up periodically:

cp expenses.db "expenses_backup_$(date +%Y%m%d).db"

Consider automating this with a weekly cron job (macOS/Linux) or Task Scheduler (Windows).

Notes & tips

  • Category names aren't constrained, so try to keep casing/spelling consistent (e.g. always "Groceries", not a mix of "groceries" / "Grocery") to keep summaries clean.

  • Ask Claude to list your existing categories before adding a new one if you want to avoid duplicates.

  • This server has no authentication or network exposure — it only runs locally via stdio, which is why it's safe to use without extra security setup.

License

Personal use — adapt freely for your own workflow.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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

View all related MCP servers

Related MCP Connectors

  • Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.

  • Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.

  • Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajayanta/expense-tracker-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server