Skip to main content
Glama
bhakti259

Expense Tracker MCP Proxy

by bhakti259
README.md
# Expense Tracker MCP Proxy for Remote Server

A Model Context Protocol (MCP) proxy server that connects to a remote expense tracker FastMCP cloud server and exposes its tools locally.

> **Note:** This is a proxy server only. It connects to a remote FastMCP cloud URL and forwards requests to the actual expense tracking implementation. The source code for the expense tracking functionality is available at: [expense-tracker-remote-mcp-server](https://github.com/bhakti259/expense-tracker-remote-mcp-server)

## Features

This proxy server:

- Connects to the remote FastMCP server at `https://chronic-scarlet-urial.fastmcp.app/mcp`
- Automatically discovers and exposes all tools available on the remote server
- Forwards all tool calls to the remote server
- Provides transparent proxying with error handling
- Handles Server-Sent Events (SSE) responses from the FastMCP server
- Acts as a local stdio interface to the remote expense tracker implementation

## Remote Server Tools

The remote FastMCP server provides an **Expense Tracker** with 5 tools:

- **add_expense**: Add a new expense with date, amount, category, subcategory, and notes
- **list_expenses**: List expenses with optional filtering by category and date range
- **update_expense**: Update an existing expense
- **delete_expense**: Delete an expense
- **summarize_expenses**: Get expense summaries grouped by category

## Installation

1. Install dependencies:

```bash
pip install -e .
```

Or install manually:

```bash
pip install mcp aiohttp
```

## Usage

Run the server:

```bash
python main.py
```

The server communicates via stdio and follows the Model Context Protocol specification.

## Configuration

To use this server with an MCP client (like Claude Desktop), add it to your client configuration:

```json
{
  "mcpServers": {
    "bhakti-server-proxy": {
      "command": "python",
      "args": ["d:\\Python Projects\\Proxy-server\\main.py"]
    }
  }
}
```

Or with the full Python path:

```json
{
  "mcpServers": {
    "bhakti-server-proxy": {
      "command": "C:\\Users\\kulsu\\AppData\\Local\\Programs\\Python\\Python314\\python.exe",
      "args": ["d:\\Python Projects\\Proxy-server\\main.py"]
    }
  }
}
```

## Development

The server is built using the `mcp` Python library and implements:

- Tool listing from remote server
- Tool execution forwarding to remote server
- Async stdio communication
- Server-Sent Events (SSE) handling

## Testing

Test the connection to the remote server:

```bash
python test_proxy.py
```

## License

MIT

Maintenance

ActivityInactive
ResponsivenessNo issues