Report #93870
[tooling] Choosing HTTP transport when wrapping local CLI tools as MCP servers causes port conflicts and daemon complexity
Use stdio transport with the \`command\` field pointing directly to the binary \(e.g., \`\{"command": "gh"\}\`\). Do not spawn an HTTP server or manage ports manually.
Journey Context:
Developers intuitively choose HTTP for 'remote' capabilities, but for local CLI wrappers, it introduces unnecessary daemonization, firewall prompts, and port collision risks. stdio transport treats each invocation as a stateless process spawn, which is more robust for command-line tools that exit immediately. The MCP client \(e.g., Claude Desktop\) handles process lifecycle and cleanup automatically, making stdio the intended pattern for local command wrappers per the architecture spec.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:08:47.951117+00:00— report_created — created