Skip to main content
Glama
Khushi-c-sharma

Expense Tracker MCP Server

πŸ“˜ Expense Tracker MCP Server

AI-powered budgeting, smart expense tracking, and affordability insights using the Model Context Protocol (MCP).

The Expense Tracker MCP Server provides a complete financial tracking engine that integrates budgeting, expense ingestion, smart category detection, and affordability analyticsβ€”all via the Model Context Protocol so AI assistants can interact with your financial data safely and intelligently.


πŸš€ Features

βœ… Budget Management

  • Create total-only or category-based monthly budgets

  • Validate category allocations and auto-suggest corrections

  • Convert budgets from total-only β†’ category-mode

  • Graceful error handling and flexible month parsing

βœ… Expense Management

  • Add expenses with smart category & subcategory detection

  • Auto date parsing ("yesterday", "next Monday", "Jan 5")

  • Duplicate detection and budget impact analysis

  • Bulk add expenses (NLP friendly, validated, error-tolerant)

  • Update & delete expenses with validation & safety prompts

βœ… Affordability Engine

  • Predict affordability before adding expenses

  • Total-budget and category-budget aware

  • Impact percentage + status levels

  • Consistent logic across all modules

βœ… Insights & Analytics

  • Summaries by month, category, or date ranges

  • Remaining budget calculations and trend extraction

  • Days remaining in month tracking

  • Human-readable status indicators

βœ… Smart Category Detection

  • AI-powered heuristics for auto-category assignment

  • Keyword extraction and confidence-based assignment

  • Fallback suggestions when uncertain

  • Works for both bulk and single expenses

βœ… Human-Friendly Design

  • Suggestions instead of hard errors

  • Clarification prompts and auto-fixes for common mistakes

  • Safe delete operations with confirmation

  • Full MCP-compatible error handling


πŸ—οΈ Project Structure

expense-tracker-mcp/ β”‚ β”œβ”€β”€ server.py # MCP server entrypoint β”œβ”€β”€ config.py # Category config & paths β”‚ β”œβ”€β”€ modules/ # MCP tool implementations β”‚ β”œβ”€β”€ budget.py # Budget tools (set, list, remaining) β”‚ β”œβ”€β”€ expenses.py # Add, update, delete, bulk-add β”‚ β”œβ”€β”€ affordability.py # Affordability analysis β”‚ β”œβ”€β”€ search.py # Query expenses/budgets β”‚ └── insights.py # Higher-level analytics β”‚ β”œβ”€β”€ utils/ # Core business logic β”‚ β”œβ”€β”€ database.py # SQLite connection + init β”‚ β”œβ”€β”€ budget_core.py # Core budget logic β”‚ β”œβ”€β”€ expenses_core.py # Core DB I/O for expenses β”‚ β”œβ”€β”€ affordability_core.py # Core affordability logic β”‚ β”œβ”€β”€ category_detection.py # Keyword & heuristic-based detection β”‚ β”œβ”€β”€ date_utils.py # Flexible date parsing β”‚ β”œβ”€β”€ status.py # Budget status levels β”‚ └── __init__.py # Aggregated exports β”‚ β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ budgets.json # Stored budget data β”‚ └── expenses.db # SQLite expense database β”‚ └── resources/ └── categories.json # Category β†’ subcategories mapping

βš™οΈ Installation & Setup

1. Clone the Repository

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

2. Create and Activate a Virtual Environment

# Create virtual environment python -m venv .venv # Activate (Windows) .\.venv\Scripts\activate # Activate (macOS/Linux) source .venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Initialize the Database

The server automatically initializes the SQLite database on startupβ€”no manual setup required.

5. Run the Server

For Claude Desktop integration:

fastmcp dev server.py

For testing/development:

fastmcp run server.py

πŸ”Œ Claude Desktop Integration

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

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

{ "mcpServers": { "expense-tracker": { "command": "uv", "args": [ "run", "--with", "fastmcp", "fastmcp", "dev", "/absolute/path/to/expense-tracker-mcp/server.py" ] } } }

Replace /absolute/path/to/ with your actual path, then restart Claude Desktop.


🧰 Available Tools

πŸ”Ή Budget Tools

Tool

Description

set_monthly_budget

Set total or category-based budgets

get_remaining_budget

Check remaining money by month/category

list_budgets

View all budget configurations

convert_to_category_budget

Transform simple budgets into category budgets

πŸ”Ή Expense Tools

Tool

Description

add_expense

Add expenses with smart category detection

bulk_add_expenses

Add multiple expenses at once (validated & robust)

update_expense

Safely update amount/category/date/description

delete_expense

Safe delete with confirmation

get_category_info

Get rules for categories/subcategories

πŸ”Ή Affordability Tools

Tool

Description

check_affordability

Predict impact before adding an expense

πŸ”Ή Insights Tools

Tool

Description

monthly_summary

Summaries of spending by month

category_breakdown

Category-level insights

remaining_days_info

Insights with days remaining

πŸ”Ή Search Tools

Tool

Description

search_expenses

Query expenses by text/category/date

search_budget

Find budgets easily

smart_lookup

Intelligent search ("What did I spend on food last week?")


πŸ§ͺ Testing

To ensure module compatibility and catch issues early:

pip install pytest python -m pytest -q

Our tests verify that all modules load without import errors, validate API shapes, and catch schema issues before deployment.


🎯 Design Philosophy

βœ” Human-First UX

Errors guide users with suggestions rather than blocking them completely.

βœ” Strict Tool API Discipline

MCP-safe signatures (no **kwargs), predictable schemas, and consistent behavior.

βœ” Separation of Concerns

  • modules/ β†’ Conversational logic and MCP tool implementations

  • utils/ β†’ Pure core business logic

  • server.py β†’ MCP integration layer

βœ” Extensible Architecture

Adding new tools or insights is straightforward thanks to the modular design.


πŸ“ˆ Future Enhancements

  • Machine learning–based category predictions

  • OCR receipt scanning β†’ auto expense import

  • Real-time spending limit notifications

  • Expense tagging system

  • Multi-user support

  • CSV/Excel bulk import tools

  • Auto-recurring expenses (rent, subscriptions)

  • Budget forecasting and projections

  • Integration with banking APIs

  • Mobile app companion


πŸ’¬ Contributing

We welcome contributions! Feel free to open issues or pull requests to:

  • Add new features

  • Improve category detection heuristics

  • Suggest new insights and analytics

  • Expand test coverage

  • Improve documentation


πŸ“ License

[Add your license here - MIT, Apache 2.0, etc.]


🧠 About

This project was built to serve as the backend brain for AI budgeting assistants using the Model Context Protocol. It emphasizes:

  • Reliability β†’ Robust error handling and validation

  • Explainability β†’ Clear feedback and suggestions

  • Graceful Handling β†’ User-friendly error messages

  • Human-Friendly Responses β†’ Natural language interactions

Your server is now one of the most feature-rich MCP financial engines available, ready to power intelligent personal finance assistants.


πŸ™ Acknowledgments

Built with FastMCP and powered by the Model Context Protocol.

-
security - not tested
F
license - not found
-
quality - not tested

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/Khushi-c-sharma/expense-tracker-mcp-server-improvised'

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