diff options
| author | Dawid Rycerz <dawid@rycerz.xyz> | 2025-07-24 10:45:29 +0300 |
|---|---|---|
| committer | Dawid Rycerz <dawid@rycerz.xyz> | 2025-07-24 10:45:29 +0300 |
| commit | f7077b5c2f64f4d4a5d870f70e2f63caec220958 (patch) | |
| tree | 1f82a9707e4f26e5e6f9135b8dea3abe9a86f93c /servers/gitlab_python/src/mcp_server_gitlab_python/cli.py | |
| parent | a8e4df1743c78394269d922246a29e419069b01e (diff) | |
feat: add epic_id to issue parameters
Diffstat (limited to 'servers/gitlab_python/src/mcp_server_gitlab_python/cli.py')
| -rw-r--r-- | servers/gitlab_python/src/mcp_server_gitlab_python/cli.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/servers/gitlab_python/src/mcp_server_gitlab_python/cli.py b/servers/gitlab_python/src/mcp_server_gitlab_python/cli.py index 9374520..7df7aa8 100644 --- a/servers/gitlab_python/src/mcp_server_gitlab_python/cli.py +++ b/servers/gitlab_python/src/mcp_server_gitlab_python/cli.py @@ -10,10 +10,12 @@ import os import sys import mcp_server_gitlab_python + from .server import main logger = logging.getLogger("mcp_gitlab_python_server") + def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="GitLab Python MCP Server") parser.add_argument( @@ -41,37 +43,46 @@ def parse_args() -> argparse.Namespace: ) return parser.parse_args() + def validate_args(args: argparse.Namespace) -> argparse.Namespace: - if (args.transport == "remote" and args.port < 1024 - and not sys.platform.startswith("win")): + if ( + args.transport == "remote" + and args.port < 1024 + and not sys.platform.startswith("win") + ): logger.warning( "Using a port below 1024 may require root privileges on Unix-like systems." ) return args + def setup_logging(level: str, transport: str) -> None: os.makedirs("logs", exist_ok=True) file_handler = logging.FileHandler("logs/mcp_server.log") file_handler.setLevel(getattr(logging, level)) - file_handler.setFormatter(logging.Formatter( - "%(asctime)s - %(name)s - %(levelname)s - %(message)s" - )) + file_handler.setFormatter( + logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") + ) console_handler = logging.StreamHandler() if transport == "stdio": console_handler.setLevel(logging.WARNING) else: console_handler.setLevel(getattr(logging, level)) - console_handler.setFormatter(logging.Formatter( - "%(asctime)s - %(name)s - %(levelname)s - %(message)s" - )) + console_handler.setFormatter( + logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") + ) root_logger = logging.getLogger() root_logger.setLevel(getattr(logging, level)) root_logger.handlers = [] root_logger.addHandler(file_handler) root_logger.addHandler(console_handler) + def run_server() -> None: - logger.error(f"MCP GitLab Python Server CLI starting, version: {mcp_server_gitlab_python.__version__}") + logger.error( + f"MCP GitLab Python Server CLI starting, version: " + f"{mcp_server_gitlab_python.__version__}" + ) args = validate_args(parse_args()) setup_logging(args.log_level, args.transport) try: @@ -80,4 +91,4 @@ def run_server() -> None: logger.info("Server stopped by user") except Exception as e: logger.error(f"Error running server: {e}") - sys.exit(1)
\ No newline at end of file + sys.exit(1) |
