Skip to content

ADR-0003: stdio transport first

Status: accepted · Date: 2026-07-05

Context

MCP supports multiple transports, most notably stdio (the client launches the server as a subprocess) and streamable HTTP (the server runs as a network service). Each brings different operational and security surface.

Decision

Ship the stdio transport first. HTTP is a possible later addition (milestone M4), not part of the initial scope.

Consequences

  • stdio is the default integration path for desktop MCP hosts and IDE integrations, so the server is immediately usable where agents actually run today.
  • No network listener means no authentication, TLS, or session management to get right in v1 — the attack surface is the local process boundary.
  • One server process per client is acceptable at this scale; connection pooling across many clients becomes relevant only with an HTTP transport.
  • The tool layer is transport-agnostic, so adding HTTP later is additive and does not reopen the security design.