#!/usr/bin/env bash
# PostalAgent.ai - 1-Click Claude Desktop MCP Configurator
# Zero Terminal / Zero Dependency Native macOS Setup

CONFIG_DIR="$HOME/Library/Application Support/Claude"
CONFIG_FILE="$CONFIG_DIR/claude_desktop_config.json"

mkdir -p "$CONFIG_DIR"

# Download the standalone PostalAgent demo MCP script locally
POSTAL_DIR="$HOME/.postalagent"
mkdir -p "$POSTAL_DIR"
curl -sSL "https://api.postalagent.ai/dist/mcp-standalone.cjs" -o "$POSTAL_DIR/mcp-standalone.cjs" 2>/dev/null || true

# Inject into claude_desktop_config.json using Python (built-in on macOS)
/usr/bin/python3 - <<EOF
import json, os

config_path = os.path.expanduser('$CONFIG_FILE')
script_path = os.path.expanduser('$POSTAL_DIR/mcp-standalone.cjs')

data = {"mcpServers": {}}
if os.path.exists(config_path):
    try:
        with open(config_path, 'r') as f:
            data = json.load(f)
    except Exception:
        data = {"mcpServers": {}}

if "mcpServers" not in data:
    data["mcpServers"] = {}

data["mcpServers"]["postalagent-demo"] = {
    "command": "node",
    "args": [script_path]
}

with open(config_path, 'w') as f:
    json.dump(data, f, indent=2)

EOF

# Display friendly macOS notification
osascript -e 'display dialog "PostalAgent Mailroom has been successfully connected to Claude Desktop!\n\nPlease QUIT Claude (Cmd+Q) and reopen it to start using your mailroom." with title "PostalAgent Setup Complete" buttons {"Got it!"} default button 1 with icon note' 2>/dev/null || echo "PostalAgent connected to Claude Desktop!"
