First_Remote-_Mcp_Server_App

MuhammadDastgeer/First_Remote-_Mcp_Server_App

3.2

If you are the rightful owner of First_Remote-_Mcp_Server_App and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Expense Tracker MCP Server is a FastMCP-based server designed for tracking personal expenses with AI integration via the Model Context Protocol (MCP).

Tools
5
Resources
0
Prompts
0

Expense Tracker MCP Server

A FastMCP-based server for tracking personal expenses with AI integration via the Model Context Protocol (MCP).

Description

This project provides an expense tracking system that can be interacted with by AI models through MCP tools. It allows adding, listing, summarizing, editing, and deleting expense entries, organized by categories and subcategories.

Features

  • Expense Management: Add, list, edit, and delete expense entries
  • Summarization: Get expense summaries by category and date range
  • Category Organization: Predefined categories with subcategories loaded from categories.json
  • SQLite Database: Persistent storage using SQLite, stored in the system's temporary directory
  • MCP Integration: Exposes tools and resources for AI model interaction

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd remote-mcp
    
  2. Install dependencies using uv:

    uv sync
    

    If you don't have uv installed, install it first:

    pip install uv
    

Usage

Run the MCP server:

python main.py

The server will start on http://0.0.0.0:8000 by default.

Tools

add_expense

Add a new expense entry.

Parameters:

  • date (string): Date in YYYY-MM-DD format
  • amount (number): Expense amount
  • category (string): Main category
  • subcategory (string, optional): Subcategory
  • note (string, optional): Additional notes

list_expenses

List expense entries within a date range.

Parameters:

  • start_date (string): Start date in YYYY-MM-DD format
  • end_date (string): End date in YYYY-MM-DD format

summarize

Summarize expenses by category within a date range.

Parameters:

  • start_date (string): Start date in YYYY-MM-DD format
  • end_date (string): End date in YYYY-MM-DD format
  • category (string, optional): Filter by specific category

edit_expense

Edit an existing expense entry.

Parameters:

  • expense_id (integer): ID of the expense to edit
  • date (string, optional): New date
  • amount (number, optional): New amount
  • category (string, optional): New category
  • subcategory (string, optional): New subcategory
  • note (string, optional): New note

delete_expense

Delete an expense entry.

Parameters:

  • expense_id (integer): ID of the expense to delete

Resources

categories

Provides the expense categories and subcategories in JSON format.

URI: expense:///categories

MIME Type: application/json

Database

The application uses SQLite for data storage. The database file is created in the system's temporary directory (tempfile.gettempdir()) as expenses.db. The database is initialized automatically when the server starts.

Dependencies

  • fastmcp >= 2.12.4: Framework for building MCP servers
  • aiosqlite >= 0.21.0: Asynchronous SQLite driver for Python

License

[Add license information here]