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 **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 **stdio config example**
- › "command": "npx", "args": ["aem-mcp-server", "-t", "stdio"]
- 3 **HTTP config example**
- › "type": "http", "url": "http://127.0.0.1:3845/mcp"
- 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