Expense Tracker MCP Server

Expense Tracker MCP Server

An AI-native expense tracker MCP server that enables AI assistants to add and list expenses in a local SQLite database.

Category
Visit Server

README

šŸ’ø Expense Tracker MCP Server

<div align="center">

Python FastMCP SQLite UV License

A blazing-fast, AI-native Expense Tracker built as an MCP (Model Context Protocol) Server using FastMCP and SQLite.

Plug it directly into Claude Desktop, Cursor, or any MCP-compatible AI client — let your AI manage your finances for you.

</div>


šŸ“– Table of Contents


šŸ¤– What is MCP?

The Model Context Protocol (MCP) is an open standard by Anthropic that allows AI models (like Claude) to securely interact with external tools, APIs, and data sources. This project exposes expense-tracking capabilities as MCP tools, meaning you can literally tell Claude:

"Add an expense: Coffee, $4.50, Food & Drink, Cash, 2026-08-02"

...and it will call this server and record it in your local SQLite database — no UI needed.


✨ Features

  • šŸ“ Add Expenses — Record expenses with title, amount, category, payment method, date, and optional description
  • šŸ“‹ List Expenses — Retrieve all stored expenses as structured data
  • šŸ—„ļø Persistent SQLite Storage — Auto-creates a local expenses.db database on first run
  • ⚔ FastMCP Powered — Minimal boilerplate, maximum capability
  • šŸ” Built-in Inspector — Visual tool inspector for debugging and testing
  • šŸ”Œ MCP-Compatible — Works with Claude Desktop, Cursor, and any MCP client

šŸ“ Project Structure

expense_tracker_mcp_server/
ā”œā”€ā”€ expense_mcp_server.py      # šŸŽÆ Main MCP server — all tools defined here
ā”œā”€ā”€ pyproject.toml             # Project metadata & dependencies
ā”œā”€ā”€ uv.lock                    # Locked dependency versions
ā”œā”€ā”€ .python-version            # Python version pin
ā”œā”€ā”€ .gitignore                 # Git ignore rules
ā”œā”€ā”€ src/
│   └── expense_tracker_mcp_server/
│       └── __init__.py        # Package entry point
└── README.md                  # You are here!

šŸ› ļø Prerequisites

Make sure you have the following installed:

  • Python 3.11+
  • pip (comes with Python)
  • uv — Fast Python package manager

šŸš€ Installation

Step 1 — Clone the Repository

git clone https://github.com/talha963/expense_mcp_server.git
cd expense_mcp_server

Step 2 — Install uv

pip install uv

Step 3 — Initialize the Project with uv

uv init .

Step 4 — Install FastMCP

# Via pip (global)
pip install fastmcp

# OR via uv (recommended — adds to project)
uv add fastmcp

Step 5 — Sync Dependencies

uv sync

ā–¶ļø Running the Server

Option 1 — Run directly with Python

python expense_mcp_server.py

Starts an HTTP server on http://0.0.0.0:8000

Option 2 — Run via uv

uv run expense_mcp_server.py

Option 3 — Run via FastMCP CLI (Recommended for MCP clients)

uv run --active fastmcp run expense_mcp_server.py

šŸ”§ Available Tools

The server exposes the following MCP tools that AI models can call:

add_expense

Adds a new expense entry to the database.

Parameter Type Required Description
title string āœ… Name/title of the expense
amount float āœ… Amount spent (e.g. 12.50)
category string āœ… Category (e.g. Food, Transport)
payment_method string āœ… e.g. Cash, Card, Online
expense_date string āœ… Date in YYYY-MM-DD format
description string āŒ Optional notes about the expense

Example response:

{
  "success": true,
  "expense_id": 1,
  "message": "Expense added successfully."
}

list_expenses

Returns all recorded expenses from the database.

No parameters required.

Example response:

[
  {
    "id": 1,
    "title": "Coffee",
    "amount": 4.5,
    "category": "Food & Drink",
    "payment_method": "Cash",
    "expense_date": "2026-08-02",
    "description": "Morning coffee at the office"
  }
]

šŸ–„ļø Connecting to Claude Desktop

To use this server with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "expense-tracker": {
      "command": "uv",
      "args": [
        "run",
        "--active",
        "fastmcp",
        "run",
        "/absolute/path/to/expense_mcp_server.py"
      ]
    }
  }
}

Config file location:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

After saving, restart Claude Desktop and the Expense Tracker tools will appear automatically.


šŸ” Development & Inspection

Use the FastMCP Inspector to visually test and explore your tools in the browser:

uv run --active fastmcp dev expense_mcp_server.py

This opens an interactive web UI where you can:

  • See all registered tools
  • Call tools manually with test inputs
  • Inspect request/response payloads

🧰 Tech Stack

Technology Purpose
FastMCP MCP server framework
SQLite3 Lightweight persistent storage
uv Ultra-fast Python package manager
Python 3.11+ Runtime

šŸ‘¤ Author

Talha — @talha963


šŸ“„ License

This project is licensed under the MIT License — feel free to use, modify, and distribute.


<div align="center"> <sub>Built with ā¤ļø using FastMCP — making AI tool integration effortless.</sub> </div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured