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, Chrome DevTools)
    • 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