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
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues