summaryrefslogtreecommitdiff
path: root/servers/gitlab_python/src/mcp_server_gitlab_python/cli.py
diff options
context:
space:
mode:
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.py31
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)