# 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