Skip to content

Server configuration

The server uses stdio by default. This preserves the existing launcher contract:

uv run python -m justpen_utility_mcp

To run Streamable HTTP on the loopback interface:

uv run python -m justpen_utility_mcp \
  --transport http \
  --host 127.0.0.1 \
  --port 8933

The MCP endpoint is http://127.0.0.1:8933/mcp. The HTTP listener has no authentication, so keep it on a trusted loopback interface unless an authenticated gateway protects it.

Command-line options take precedence over environment variables, which take precedence over the defaults.

Command-line option Environment variable Default
--transport UTILITY_MCP_TRANSPORT stdio
--host UTILITY_MCP_HOST 127.0.0.1
--port UTILITY_MCP_PORT 8933
--log-level UTILITY_MCP_LOG_LEVEL INFO

Transport accepts stdio or http. Host accepts an IP address or DNS hostname, without a URL scheme or port. Port must be between 1 and 65535. Log level accepts DEBUG, INFO, WARNING, ERROR or CRITICAL, case-insensitively. Invalid settings stop startup before the listener starts.

Application logs go to stderr. Stdio stdout remains reserved for the MCP protocol. HTTP and stdio expose the same generate_totp and decode_qr schemas and the same status: ok / status: error response envelopes.