Chapter 3: Server Runtime and Transports

April 13, 2026 ยท View on GitHub

Welcome to Chapter 3: Server Runtime and Transports. In this part of FastMCP Tutorial: Building and Operating MCP Servers with Pythonic Control, you will build an intuitive mental model first, then move into concrete implementation details and practical production tradeoffs.

This chapter covers runtime behavior and transport selection across local and networked contexts.

Learning Goals

  • choose between stdio, HTTP, and legacy SSE deliberately
  • understand process lifecycle differences across transports
  • align runtime mode with host client expectations
  • avoid transport-specific production surprises

Transport Decision Table

TransportBest Use Case
stdiolocal agent hosts and desktop workflows
HTTP (streamable)remote/multi-client service deployments
SSE (legacy)compatibility only for older clients

Runtime Guardrails

  • default to stdio for local integrations unless network access is required
  • use HTTP for shared services, access control, and observability
  • treat SSE as transitional and avoid for new deployments

Source References

Summary

You now have a transport selection framework that aligns with operational reality.

Next: Chapter 4: Client Architecture and Transport Patterns

How These Components Connect

flowchart TD
    A[FastMCP Server] --> B{Transport selection}
    B -->|stdio| C[subprocess pipe]
    B -->|SSE| D[HTTP /sse endpoint]
    B -->|Streamable HTTP| E[HTTP /mcp endpoint]
    C --> F[Local host integration]
    D --> G[Browser / remote client]
    E --> H[Modern MCP clients]