"""CLI Entry-Point für den Gamma MCP Server."""

from __future__ import annotations

import argparse
import os
import sys


def main() -> None:
    os.environ.setdefault("FASTMCP_SHOW_SERVER_BANNER", "false")

    parser = argparse.ArgumentParser(
        description="MCP-Server für die Gamma.app API",
    )
    parser.add_argument(
        "--transport",
        choices=["stdio", "sse"],
        default=os.environ.get("MCP_TRANSPORT", "stdio"),
        help='Transport-Modus: "stdio" (Standard) oder "sse".',
    )
    parser.add_argument(
        "--host",
        default=os.environ.get("MCP_HOST", "0.0.0.0"),
        help="Host-Adresse für SSE-Transport (Standard: 0.0.0.0).",
    )
    parser.add_argument(
        "--port",
        type=int,
        default=int(os.environ.get("MCP_PORT", "8000")),
        help="Port für SSE-Transport (Standard: 8000).",
    )
    args = parser.parse_args()

    if not os.environ.get("GAMMA_API_KEY"):
        print(
            "WARNUNG: Umgebungsvariable GAMMA_API_KEY ist nicht gesetzt.\n"
            "Setzen Sie Ihren Gamma API-Key:\n"
            "  export GAMMA_API_KEY=sk-gamma-xxxxxxxx\n\n"
            "Einen API-Key erhalten Sie unter: https://gamma.app/settings/api\n"
            "Der Server startet trotzdem, aber API-Aufrufe werden fehlschlagen.",
            file=sys.stderr,
        )

    from gamma31.server import mcp  # noqa: E402

    if args.transport == "sse":
        mcp.run(transport="sse", host=args.host, port=args.port)
    else:
        mcp.run(transport="stdio")


if __name__ == "__main__":
    main()
