Expense Tracker

🤖 Python MCP server for AI-powered expense tracking. Built with fastmcp & uv. Chat with Claude to manage finances naturally.
  • python

1

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "khushi-c-sharma-expense-tracker-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/expense-tracker-mcp",
        "run",
        "expense-tracker"
      ]
    }
  }
}

This MCP Server lets you manage your personal expenses through natural conversations with Claude. It stores expenses locally, supports adding, listing, filtering, summarizing, updating, and deleting entries, and provides an intuitive way to track spending without leaving your chat.

How to use

You interact with your expense data through Claude by giving natural language commands. Use simple statements to perform common actions: add, list, summarize, update, and delete expenses. Claude will translate your requests into database operations and present concise results.

Common tasks you can perform include adding a new expense with amount, category, date, and an optional description; listing expenses filtered by category or date ranges; getting a total or category breakdown for a period; updating an existing expense; and removing entries you no longer need.

How to install

Prerequisites you need before installing the server are Python 3.10 or higher and the uv package manager.

Step 1: Clone the MCP server repository

git clone https://github.com/Khushi-c-sharma/expense-tracker-mcp-server.git
cd expense-tracker-mcp-server

Step 2: Install uv if you haven’t already

curl -LsSf https://astral.sh/uv/install.sh | sh

Step 3: Synchronize and install dependencies

uv sync

Configuration

Add the MCP server to Claude Desktop so you can run it locally from your chat interface.

On macOS, place the file at

~/Library/Application Support/Claude/claude_desktop_config.json

On Windows, place the file at

%APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/expense-tracker-mcp",
        "run",
        "expense-tracker"
      ]
    }
  }
}

Usage examples

After configuration, converse with Claude to manage your expenses. Examples of natural interactions include adding a new expense, listing this month’s entries, or getting a category breakdown for a date range.

You: "Add expense 2632 spent yesterday for shopping dress for my convocation"
Claude: *Adds the expense with proper categorization*

You: "Show me all my expenses this month"
Claude: *Lists and summarizes your monthly expenses*

You: "How much did I spend on food in September?"
Claude: *Provides category-specific spending summary*

Available tools and endpoints

The MCP server exposes core actions to manage your expenses. These tools are designed to be used via natural language through Claude.

Database and data model

Expenses are stored in a local SQLite database named expenses.db. The schema includes fields for id, amount, category, subcategory, date, and description.

Development and run commands

Run the server directly in place or start in development mode with auto-reload.

uv run expense-tracker

To run with development auto-reload, you can execute the Python entry directly during development.

uv run python src/expense_tracker/server.py

Project structure and notes

The local project typically contains the main server code, configuration, a SQLite database, and related files. The structure helps you locate the entry points, dependencies, and the database that stores your expenses.

Troubleshooting

If the server does not appear in Claude Desktop, ensure the MCP path is absolute and correct, then restart Claude Desktop and check for any error messages in the Claude logs.

For database issues, ensure the directory is writable and you can delete expenses.db to recreate the database on next run.

Notes

This server is built with Python using fastmcp and uv and uses a local SQLite database for expense storage. It is designed for conversational interaction with AI assistants to streamline personal finance tracking.

Available tools

add_expense

Add a new expense to the database with amount, category, date, and optional description and subcategory.

list_expenses

List expenses filtered by category and optional date range.

summarize

Get total expenses by category within a date range.

update_expense

Update an existing expense identified by its ID with new values for amount, category, date, description, or subcategory.

delete_expense

Delete an expense by its ID.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational