{
"id": "mcp-transport:stdio",
"_kind": "MCPTransport",
"_file": "compute/mcp-transports/stdio.yaml",
"_cluster": "compute",
"attributes": {
"displayName": "stdio",
"kind": "stdio",
"specVersion": "2024-11-05",
"currentSpecRevision": "2025-11-25",
"specRevisions": [
"2024-11-05",
"2025-03-26",
"2025-06-18",
"2025-11-25"
],
"status": "live",
"streaming": "partial",
"specUrl": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#stdio",
"connectionLifecycle": "Lifecycle is bound to the child-process lifetime:\n 1. Host spawns the server as a subprocess; stdin/stdout become the\n JSON-RPC channel (stderr is reserved for human-readable logs).\n 2. Client sends `initialize` (request) with `protocolVersion`,\n `clientInfo`, and `capabilities`.\n 3. Server responds with its own `protocolVersion`, `serverInfo`,\n and `capabilities`.\n 4. Client sends `notifications/initialized`. Session is now ready.\n 5. Shutdown is signalled by closing stdin (EOF). Server is expected\n to exit cleanly; host may follow up with SIGTERM / SIGKILL.\n",
"capabilityNegotiation": "`initialize` request:\n { \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"initialize\",\n \"params\": { \"protocolVersion\": \"<spec-rev>\",\n \"clientInfo\": { \"name\": \"...\", \"version\": \"...\" },\n \"capabilities\": { \"roots\"?: {...}, \"sampling\"?: {...},\n \"elicitation\"?: {...} } } }\n`initialize` response:\n { \"jsonrpc\": \"2.0\", \"id\": 1,\n \"result\": { \"protocolVersion\": \"<spec-rev>\",\n \"serverInfo\": { \"name\": \"...\", \"version\": \"...\" },\n \"capabilities\": { \"tools\"?: {...}, \"resources\"?: {...},\n \"prompts\"?: {...}, \"logging\"?: {...} },\n \"instructions\"?: \"...\" } }\n",
"notificationModel": "Standard JSON-RPC 2.0 notifications (no `id` field). Server pushes\nnotifications inline on stdout interleaved with responses; client\ndemultiplexes by presence-or-absence of `id`. Examples:\n`notifications/tools/list_changed`, `notifications/resources/updated`,\n`notifications/progress`, `notifications/message` (logging).\n",
"reconnectPolicy": "No reconnect — stdio sessions are tied 1:1 to the subprocess. Loss\nof the child process is terminal; the host must respawn and run a\nfresh `initialize` handshake. No session-resumption identifier.\n",
"authentication": "None at the transport layer. The host process inherits the security\nboundary of the spawning user; any per-server credentials are passed\nvia environment variables / argv / config files outside the JSON-RPC\nchannel itself.\n",
"streamingFraming": "Newline-delimited JSON (NDJSON): each JSON-RPC message is exactly one\nline on stdout/stdin terminated by `\\n`; no embedded newlines in the\npayload. Logs and free-form output go on stderr to keep the JSON-RPC\nchannel clean. Message-id discipline is standard JSON-RPC: requests\ncarry a unique `id` (string or integer); responses echo it; notifications\nomit it. The 2025-06-18 spec revision removed JSON-RPC batch arrays.\n"
},
"outgoingEdges": [
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:a5c.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:amp.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:babysitter-agent.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:babysitter.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:babysitter-sdk.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:claude-agent-sdk.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:claude-code.runtime@1.x",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:codex-app-server.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:codex.runtime@1.x",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:codex-sdk.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:copilot-cli.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:cursor.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:droid.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:gemini-cli.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:hermes.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:omp.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:openclaw.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:opencode.runtime@1.x",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:pi.runtime@current",
"kind": "spoken_by",
"attributes": {}
},
{
"from": "mcp-transport:stdio",
"to": "agent-runtime-impl:qwen.runtime@current",
"kind": "spoken_by",
"attributes": {}
}
],
"incomingEdges": [
{
"from": "agent-runtime-impl:a5c.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:a5c.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:amp.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:amp.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter-agent.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter-agent.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:babysitter-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-agent-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-agent-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex-app-server.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex-app-server.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:codex-sdk.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:copilot-cli.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:copilot-cli.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:cursor.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:cursor.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:droid.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:droid.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:gemini-cli.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:gemini-cli.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:hermes.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:hermes.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:omp.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:omp.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:openclaw.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:openclaw.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:opencode.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:opencode.runtime@1.x",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:pi.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:pi.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-runtime-impl:qwen.runtime@current",
"to": "mcp-transport:stdio",
"kind": "connects",
"attributes": {}
},
{
"from": "agent-runtime-impl:qwen.runtime@current",
"to": "mcp-transport:stdio",
"kind": "speaks",
"attributes": {}
}
]
}