"""
Pentest MCP Server

A Model Context Protocol (MCP) server that enables AI agents to perform 
autonomous penetration testing on any Linux distribution via SSH with persistent 
tmux sessions.

Main Components:
- SSHManager: Handles SSH connections with auto-reconnection
- TmuxManager: Manages persistent terminal sessions
- PentestMCPServer: Main MCP server with tool implementations

Usage:
    python -m pentest_mcp_server
"""

__version__ = "1.0.0"
__author__ = "Pentest MCP Team"

from .server import PentestMCPServer, main
from .ssh_manager import SSHManager
from .tmux_manager import TmuxManager
from .config import Config

__all__ = [
    "PentestMCPServer",
    "SSHManager", 
    "TmuxManager",
    "Config",
    "main"
]

def cli() -> None:
    """Synchronous CLI entry point for console_scripts."""
    import asyncio
    import logging
    import sys
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        logging.info("Server stopped by user")
        sys.exit(0)
    except Exception as e:
        logging.error(f"Server crashed: {e}")
        sys.exit(1)
