Skip to content

Commit 41fe57b

Browse files
authored
fix cli command error and support aenv run quiet (#21)
1 parent f29a996 commit 41fe57b

File tree

3 files changed

+33
-23
lines changed

3 files changed

+33
-23
lines changed

aenv/src/cli/cmds/common.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ def wrapper(*args, **kwargs):
9090
except ValidationError as e:
9191
ErrorHandler.handle_error(e)
9292
sys.exit(1)
93+
except click.exceptions.Exit as e:
94+
sys.exit(e.exit_code)
9395
except Exception as e:
9496
if verbose:
9597
logger.exception("Unexpected error")

aenv/src/cli/cmds/run.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,11 @@ def validate_dependencies() -> None:
7676
"--work-dir", help="Specify aenv development root directory", default=os.getcwd()
7777
)
7878
@click.option("--inspector-port", type=int, default=6274, help="MCP Inspector port")
79+
@click.option(
80+
"--quiet", is_flag=True, help="Only start local environment no need inspector"
81+
)
7982
@pass_config
80-
def run(cfg: Config, work_dir, inspector_port):
83+
def run(cfg: Config, work_dir, inspector_port, quiet):
8184
"""Start local environment for testing the current aenv project
8285
8386
This command validates the working directory, checks dependencies,
@@ -97,26 +100,26 @@ def run(cfg: Config, work_dir, inspector_port):
97100
console.info("📁 Validating working environment...")
98101
run_environment(work_dir)
99102
console.success("✅ Working environment validation passed")
100-
101-
# Validate dependencies
102-
console.info("🔧 Checking dependencies...")
103-
validate_dependencies()
104-
console.success("✅ Dependency check passed")
105-
106-
# Install inspector
107-
console.info("📦 Installing MCP Inspector...")
108-
mcp_inspector.install_inspector()
109-
console.success("✅ MCP Inspector installation completed")
110-
111-
# Start MCP server and Inspector
112-
console.info("🚀 Starting MCP server and Inspector...")
113-
console.console().print(
114-
f" MCP Inspector will be available at: [cyan]http://localhost:{inspector_port}[/cyan]"
115-
)
116-
console.console().print(" Press Ctrl+C to stop services\n")
103+
if not quiet:
104+
# Validate dependencies
105+
console.info("🔧 Checking dependencies...")
106+
validate_dependencies()
107+
console.success("✅ Dependency check passed")
108+
109+
# Install inspector
110+
console.info("📦 Installing MCP Inspector...")
111+
mcp_inspector.install_inspector()
112+
console.success("✅ MCP Inspector installation completed")
113+
114+
# Start MCP server and Inspector
115+
console.info("🚀 Starting MCP server and Inspector...")
116+
console.console().print(
117+
f" MCP Inspector will be available at: [cyan]http://localhost:{inspector_port}[/cyan]"
118+
)
119+
console.console().print("Press Ctrl+C to stop services\n")
117120

118121
aenv_logger = get_logger("mcp_manager")
119122
if cfg.verbose:
120123
aenv_logger.setLevel("DEBUG")
121124
manager = MCPManager(logger=aenv_logger)
122-
manager.start(work_dir, inspector_port)
125+
manager.start(work_dir, inspector_port, quiet)

aenv/src/cli/utils/mcp/mcp_task_manager.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,9 @@ def __init__(self, logger: Optional[logging.Logger] = None):
322322
self.logger = logger or logging.getLogger(__name__)
323323
self.task_manager = TaskManager(logger)
324324

325-
def start(self, work_dir: str, inspector_port: int = 6274) -> None:
325+
def start(
326+
self, work_dir: str, inspector_port: int = 6274, quiet: bool = False
327+
) -> None:
326328
"""Start MCP server and Inspector"""
327329
self.logger.debug("Starting MCP server and Inspector tasks...")
328330

@@ -336,9 +338,12 @@ def signal_handler(signum, frame):
336338

337339
signal.signal(signal.SIGINT, signal_handler)
338340
signal.signal(signal.SIGTERM, signal_handler)
339-
340-
# Start tasks
341-
self.task_manager.start_both(work_dir=work_dir, inspector_port=inspector_port)
341+
if quiet:
342+
self.task_manager.start_mcp_server(work_dir)
343+
else:
344+
self.task_manager.start_both(
345+
work_dir=work_dir, inspector_port=inspector_port
346+
)
342347

343348
# Run until complete
344349
self.task_manager.run_until_complete()

0 commit comments

Comments
 (0)