Coverage for src/pip_project_template/cli/serve02.py: 100.00%
27 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-28 08:53 +1000
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-28 08:53 +1000
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3# Timestamp: "2025-08-27 01:15:00 (ywatanabe)"
4# File: /home/ywatanabe/proj/pip-project-template/src/cli/serve02.py
5# ----------------------------------------
6from __future__ import annotations
7import os
8__FILE__ = (
9 "./pip-project-template/src/cli/serve02.py"
10)
11__DIR__ = os.path.dirname(__FILE__)
12# ----------------------------------------
13"""Serve02 command to start MCP Server 02."""
15import argparse
18def create_parser():
19 """Create parser for serve02 command."""
20 parser = argparse.ArgumentParser(description="Start MCP Server 02", add_help=False)
21 parser.add_argument(
22 "--port", type=int, default=8082, help="Port to serve on (default: 8082)"
23 )
24 parser.add_argument(
25 "--host", type=str, default="localhost", help="Host to serve on (default: localhost)"
26 )
27 parser.add_argument(
28 "--transport",
29 choices=["stdio", "http", "sse"],
30 default="stdio",
31 help="Transport protocol (default: stdio)"
32 )
33 return parser
36def main(args=None):
37 """Execute serve02 command."""
38 parser = create_parser()
39 parsed = parser.parse_args(args)
41 from ..mcp_servers.McpServer02 import run_server
43 print(f"Starting FastMCP Server 02 ({parsed.transport.upper()}) on {parsed.host}:{parsed.port}")
45 # Use specified transport
46 if parsed.transport == "stdio":
47 print("Using STDIO transport")
48 run_server(transport="stdio")
49 elif parsed.transport == "http":
50 print(f"Using HTTP transport at http://{parsed.host}:{parsed.port}/mcp")
51 run_server(transport="http", host=parsed.host, port=parsed.port)
52 elif parsed.transport == "sse":
53 print(f"Using SSE transport at http://{parsed.host}:{parsed.port}")
54 run_server(transport="sse", host=parsed.host, port=parsed.port)
56 return 0
58# EOF