stdio vs HTTP MCP Servers

Day 28 · Week 6 · MCP — System Integration

Slack Message — copy & paste

🤖 Tip #28 — MCP servers come in stdio (process per session) and HTTP (always running) — pick based on isolation needs and startup cost.

#28 Claude Code · CLI

How Each Type Works

  • **stdio (standard I/O)**
    • › AI spawns a process and communicates via stdin/stdout
    • › New process per session means clean state every time
    • › Best for heavy tools needing isolation (AEM, Playwright)
    • › No port conflicts, but has startup time on first use
  • **HTTP (always running)**
    • › Server runs continuously, AI sends HTTP requests
    • › Always running means instant responses
    • › Best for lightweight services (Figma desktop app)
    • › Fast and shared across sessions, but must be running before you start
  • **Config format difference**
    • › stdio uses 'command' and 'args' fields
    • › HTTP uses 'type: http' and 'url' fields pointing to the running endpoint
stdio HTTP Config
#28 MCP — System Integration

When to Use Which

  1. 1 **Decision guide**
    • › Needs browser/process access? → stdio
    • › Desktop app exposing an API? → HTTP
    • › Need fresh state per session? → stdio
    • › Need shared state across sessions? → HTTP
    • › Worried about port conflicts? → stdio
  2. 2 **stdio config example**
    • › "command": "npx", "args": ["aem-mcp-server", "-t", "stdio"]
  3. 3 **HTTP config example**
    • › "type": "http", "url": "http://127.0.0.1:3845/mcp"
  4. 4 **Check your .mcp.json** — Identify which of your servers are stdio vs HTTP and whether the choice matches the decision guide above
stdio HTTP Config
Your screenshot here Optional — add a screenshot from your own workflow
KAI by Dragan Filipovic