Agentic AI Notebook
Model Context Protocol
Phase 8Module 19 of 25

Transport

The same list_tools call can travel on stdio or HTTP. Choosing the road changes latency, security, and who can connect.

stdio is walking to your kitchen. HTTP is ordering delivery. The meal (JSON-RPC) is the same; the path is not.

Visual Workflows

Start here — scroll inside each diagram frame to explore, then use + / to zoom up to 200% if needed.

Overview

100%
Loading diagram...

Scroll inside the frame to explore · use + / − to zoom up to 200%

100%
Loading diagram...

Scroll inside the frame to explore · use + / − to zoom up to 200%

Decision

100%
Loading diagram...

Scroll inside the frame to explore · use + / − to zoom up to 200%

If only your laptop should see it, stdio. If the team should share it, HTTP.

Key Takeaways

  • 1.Transport is the road — the JSON-RPC messages on top stay the same. stdio is a driveway: local process, stdin and stdout, one line per message.
  • 2.Streamable HTTP is the highway: one URL, remote, needs TLS and auth. Pick stdio for files on disk; pick HTTP when the team shares a server.
  • 3.Older remote setups used SSE (server-sent events) plus HTTP POST. New servers should use Streamable HTTP.
  • 4.Do not mix: a stdio server is not reachable at a URL unless you add a gateway.

Learn elsewhere

  • Building and testing a server — next module
  • OAuth on HTTP — previous module

Real Example

Scenario

Filesystem MCP uses stdio. A company Notion server uses Streamable HTTP behind an API gateway with OAuth.

What you would do

In Model Context Protocol, apply Transport to this scenario: Filesystem MCP uses stdio. Identify the inputs, run the technique, validate the output, and note one thing you would monitor in production.

Commands

Commands to Remember

  • stdio = local, one JSON-RPC line
  • Streamable HTTP = remote URL
  • SSE is the older remote option
  • Messages are JSON-RPC either way

Cheat Sheet

Quick recap

quick ref
  • Transport ≠ protocol features
  • stdio for local, HTTP for shared
  • stdout is sacred on stdio
  • HTTP needs auth and timeouts

Common Mistakes

  • Expecting a stdio server to have a public URL
  • Using stdout for logs on stdio
  • Treating SSE and Streamable HTTP as the same code path