Skip to content

Commit 85c5685

Browse files
authored
Merge branch 'main' into add-authentication
2 parents 72fa239 + 7d71bd0 commit 85c5685

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ services:
359359
```bash
360360
usage: mcp-proxy [-h] [--version] [-H KEY VALUE] [--transport {sse,streamablehttp}]
361361
[-e KEY VALUE] [--cwd CWD]
362-
[--pass-environment | --no-pass-environment] [--debug | --no-debug]
362+
[--pass-environment | --no-pass-environment] [--log-level LEVEL] [--debug | --no-debug]
363363
[--named-server NAME COMMAND_STRING]
364364
[--named-server-config FILE_PATH] [--port PORT] [--host HOST]
365365
[--stateless | --no-stateless] [--sse-port SSE_PORT]
@@ -388,7 +388,8 @@ stdio client options:
388388
--cwd CWD The working directory to use when spawning the default server process. Named servers inherit the proxy's CWD.
389389
--pass-environment, --no-pass-environment
390390
Pass through all environment variables when spawning all server processes.
391-
--debug, --no-debug Enable debug mode with detailed logging output.
391+
--log-level LEVEL Set the log level. Default is INFO.
392+
--debug, --no-debug Enable debug mode with detailed logging output. Equivalent to --log-level DEBUG. If both --debug and --log-level are provided, --debug takes precedence.
392393
--named-server NAME COMMAND_STRING
393394
Define a named stdio server. NAME is for the URL path /servers/NAME/. COMMAND_STRING is a single string with the command and its arguments (e.g., 'uvx mcp-server-fetch --timeout 10'). These servers inherit the proxy's CWD and environment from --pass-environment.
394395
--named-server-config FILE_PATH

src/mcp_proxy/__main__.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,21 @@ def _add_arguments_to_parser(parser: argparse.ArgumentParser) -> None:
131131
help="Pass through all environment variables when spawning all server processes.",
132132
default=False,
133133
)
134+
stdio_client_options.add_argument(
135+
"--log-level",
136+
type=str,
137+
default="INFO",
138+
metavar="LEVEL",
139+
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
140+
help="Set the log level. Default is INFO.",
141+
)
134142
stdio_client_options.add_argument(
135143
"--debug",
136144
action=argparse.BooleanOptionalAction,
137-
help="Enable debug mode with detailed logging output.",
145+
help=(
146+
"Enable debug mode with detailed logging output. Equivalent to --log-level DEBUG. "
147+
"If both --debug and --log-level are provided, --debug takes precedence."
148+
),
138149
default=False,
139150
)
140151
stdio_client_options.add_argument(
@@ -211,10 +222,10 @@ def _add_arguments_to_parser(parser: argparse.ArgumentParser) -> None:
211222
)
212223

213224

214-
def _setup_logging(*, debug: bool) -> logging.Logger:
225+
def _setup_logging(*, level: str, debug: bool) -> logging.Logger:
215226
"""Set up logging configuration and return the logger."""
216227
logging.basicConfig(
217-
level=logging.DEBUG if debug else logging.INFO,
228+
level=logging.DEBUG if debug else level,
218229
format="[%(levelname)1.1s %(asctime)s.%(msecs).03d %(name)s] %(message)s",
219230
)
220231
return logging.getLogger(__name__)
@@ -342,7 +353,7 @@ def _create_mcp_settings(args_parsed: argparse.Namespace) -> MCPServerSettings:
342353
port=args_parsed.port if args_parsed.port is not None else args_parsed.sse_port,
343354
stateless=args_parsed.stateless,
344355
allow_origins=args_parsed.allow_origin if len(args_parsed.allow_origin) > 0 else None,
345-
log_level="DEBUG" if args_parsed.debug else "INFO",
356+
log_level="DEBUG" if args_parsed.debug else args_parsed.log_level,
346357
api_key=args_parsed.api_key,
347358
)
348359

@@ -351,7 +362,7 @@ def main() -> None:
351362
"""Start the client using asyncio."""
352363
parser = _setup_argument_parser()
353364
args_parsed = parser.parse_args()
354-
logger = _setup_logging(debug=args_parsed.debug)
365+
logger = _setup_logging(level=args_parsed.log_level, debug=args_parsed.debug)
355366

356367
# Validate required arguments
357368
if (

0 commit comments

Comments
 (0)