Skip to main content
Glama
shubhangi115

expense-tracker-mcp-server

by shubhangi115
README.md
# Expense Tracker MCP Server

This project is a cloud-deployed **Model Context Protocol (MCP)** server for managing personal expenses and providing financial analytics. It exposes standardized **MCP Tools, Resources, and Prompts**, enabling AI assistants like Claude Desktop to interact with the expense tracker.

## Features

- Add, update, delete, and retrieve expenses
- Financial analytics (summary, category-wise, monthly, daily average)
- Budgeting assistant through MCP Prompts
- MCP Resources for application metadata
- Tested with Claude Desktop and MCP Inspector
- Deployed on FastMCP Cloud

## Tech Stack

- **Language:** Python
- **Framework:** FastMCP
- **Database:** SQLite
- **AI Client:** Claude Desktop
- **Testing:** MCP Inspector
- **Deployment:** FastMCP Cloud

## Live Deployment

**Endpoint**

```text
https://mcp-server-expense-tracker.fastmcp.app/mcp
```

> Protected by Horizon authentication.

## Local Setup

If remote access is unavailable (e.g., due to FastMCP Cloud free-plan authentication), the server can be run locally and connected to **Claude Desktop** or **MCP Inspector**.

### Clone the repository

```bash
git clone https://github.com/shubhangi115/expense-tracker-mcp-server.git
cd expense-tracker-mcp-server
```

### Create and activate a virtual environment

```bash
python -m venv .venv
```

**Windows**

```bash
.venv\Scripts\activate
```

**macOS / Linux**

```bash
source .venv/bin/activate
```

### Install dependencies

```bash
pip install -r requirements.txt
```

### Run the MCP server

```bash
fastmcp run main.py
```

### Connect with Claude Desktop

Add the following configuration to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "Expense Tracker": {
      "command": "C:\\path\\to\\expense-tracker-mcp-server\\.venv\\Scripts\\fastmcp.exe",
      "args": [
        "run",
        "C:\\path\\to\\expense-tracker-mcp-server\\main.py"
      ],
      "transport": "stdio"
    }
  }
}
```

Replace:

```
C:\path\to\expense-tracker-mcp-server
```
with the path where you cloned the repository.

### Test with MCP Inspector

```bash
npx @modelcontextprotocol/inspector
```

Configure:

```
Transport: STDIO
Command: fastmcp
Arguments: run main.py
```

> **Note:**  Running the server locally provides full functionality with Claude Desktop and MCP Inspector.

## Setup Instructions

```bash
git clone https://github.com/shubhangi115/expense-tracker-mcp-server.git

cd expense-tracker-mcp-server

python -m venv .venv

.venv\Scripts\activate

pip install -r requirements.txt

fastmcp run main.py
```