From 8ca5e2839c4f4a7e0ff3284ce5396b53694f98b9 Mon Sep 17 00:00:00 2001 From: Joe G Date: Tue, 20 Jan 2026 10:56:51 -0800 Subject: [PATCH 1/2] Output nothing if verbose False (default) --- mcp_run_python/_cli.py | 2 +- mcp_run_python/main.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/mcp_run_python/_cli.py b/mcp_run_python/_cli.py index 69bab42..0be7879 100644 --- a/mcp_run_python/_cli.py +++ b/mcp_run_python/_cli.py @@ -41,7 +41,7 @@ def cli_logic(args_list: Sequence[str] | None = None) -> int: return 0 elif args.mode: logging.basicConfig( - level=logging.DEBUG if args.verbose else logging.INFO, + level=logging.DEBUG if args.verbose else logging.ERROR, stream=sys.stderr, format='%(message)s', ) diff --git a/mcp_run_python/main.py b/mcp_run_python/main.py index 1b95224..57900ca 100644 --- a/mcp_run_python/main.py +++ b/mcp_run_python/main.py @@ -52,6 +52,7 @@ def run_mcp_server( return_mode=return_mode, deps_log_handler=deps_log_handler, allow_networking=allow_networking, + quiet=not verbose, ) as env: if mode in ('streamable_http', 'streamable_http_stateless'): logger.info('Running mcp-run-python via %s on port %d...', mode, http_port) @@ -82,6 +83,7 @@ def prepare_deno_env( return_mode: Literal['json', 'xml'] = 'xml', deps_log_handler: LogHandler | None = None, allow_networking: bool = True, + quiet: bool = False, ) -> Iterator[DenoEnv]: """Prepare the deno environment for running the mcp-run-python server with Deno. @@ -97,6 +99,7 @@ def prepare_deno_env( deps_log_handler: Optional function to receive logs emitted while installing dependencies. allow_networking: Whether the prepared DenoEnv should allow networking when running code. Note that we always allow networking during environment initialization to install dependencies. + quiet: Suppresses diagnostic output from Deno when installing dependencies. Returns: Yields the deno environment details. @@ -108,7 +111,7 @@ def prepare_deno_env( shutil.copytree(src, cwd, ignore=shutil.ignore_patterns('node_modules')) logger.info('Installing dependencies %s...', dependencies) - args = 'deno', *_deno_install_args(dependencies) + args = 'deno', *_deno_install_args(dependencies, quiet=quiet) p = subprocess.Popen(args, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True) stdout: list[str] = [] if p.stdout is not None: @@ -145,6 +148,7 @@ async def async_prepare_deno_env( return_mode: Literal['json', 'xml'] = 'xml', deps_log_handler: LogHandler | None = None, allow_networking: bool = True, + quiet: bool = False, ) -> AsyncIterator[DenoEnv]: """Async variant of `prepare_deno_env`.""" ct = await _asyncify( @@ -155,6 +159,7 @@ async def async_prepare_deno_env( return_mode=return_mode, deps_log_handler=deps_log_handler, allow_networking=allow_networking, + quiet=quiet, ) try: yield await _asyncify(ct.__enter__) @@ -162,9 +167,13 @@ async def async_prepare_deno_env( await _asyncify(ct.__exit__, None, None, None) -def _deno_install_args(dependencies: list[str] | None = None) -> list[str]: +def _deno_install_args(dependencies: list[str] | None = None, quiet: bool = False) -> list[str]: args = [ - 'run', + 'run' + ] + if quiet: + args += ['--quiet'] + args += [ '--allow-net', '--allow-read=./node_modules', '--allow-write=./node_modules', From a44e401e534dfda5f9bab4f68337b6e3cc97ce09 Mon Sep 17 00:00:00 2001 From: Joe G Date: Tue, 20 Jan 2026 11:10:35 -0800 Subject: [PATCH 2/2] Fix format --- mcp_run_python/main.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mcp_run_python/main.py b/mcp_run_python/main.py index 57900ca..f337596 100644 --- a/mcp_run_python/main.py +++ b/mcp_run_python/main.py @@ -168,9 +168,7 @@ async def async_prepare_deno_env( def _deno_install_args(dependencies: list[str] | None = None, quiet: bool = False) -> list[str]: - args = [ - 'run' - ] + args = ['run'] if quiet: args += ['--quiet'] args += [