Metadata-Version: 2.4
Name: monarch-mcp-custom
Version: 0.1.0
Summary: Custom Monarch Money MCP Server with SSE support
Author: opencode
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: mcp[cli]>=1.0.0
Requires-Dist: fastmcp>=0.4.1
Requires-Dist: monarchmoney>=0.1.15
Requires-Dist: gql<4.0,>=3.4
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: starlette>=0.35.0
Requires-Dist: uvicorn>=0.27.0
Requires-Dist: pyotp>=2.9.0

# Monarch Money Custom MCP Server

A custom Model Context Protocol (MCP) server for Monarch Money, designed for Docker deployment with SSE (Server-Sent Events) support.

## 🚀 Setup

### 1. Obtain Authentication Token
Run the setup script locally to authenticate and generate a token:

```bash
python login_setup.py
```

Follow the prompts to log in. Once successful, copy the `MONARCH_TOKEN` printed in the terminal.

### 2. Configure Environment
Create a `.env` file based on `.env.example` and paste your token:

```bash
cp .env.example .env
# Edit .env and set MONARCH_TOKEN=your_token_here
```

### 3. Deploy with Docker
Start the server using Docker Compose:

```bash
docker-compose up -d
```

## 🔌 Connection
The server will be available at:
- **MCP Endpoint**: `http://localhost:8000/mcp`
- **Health Check**: `http://localhost:8000/health`

## 🛠️ Tools Included
- `get_accounts`: View all financial accounts.
- `get_transactions`: Fetch recent transactions with filtering.
- `get_budgets`: View budget status.
- `get_account_holdings`: Detailed investment holdings.
- `refresh_accounts`: Trigger a refresh of account data.
