All I/O in Hyperia Client flows through a Transport object. This page dives deep into every built‑in transport, when to use it, and how to customise behaviour.
Rule of thumb — Let Client() infer the right transport from your input (see table below). Instantiate explicitly only when you need custom flags, env vars, or headers.
1 Quick Selection Guide
Scenario
Recommended Transport
Inference Trigger
Remote service
StreamableHttpTransport
http(s):// URL without /sse/
Legacy SSE backend
SSETransport (legacy)
URL containing /sse/
Unit tests / same‑process
HyperiaTransport
Pass server instance
Local Python script
PythonStdioTransport
Path ending .py
Local Node script
NodeStdioTransport
Path ending .js
Packaged Python tool (uvx)
UvxStdioTransport
manual instantiation
Packaged NPM tool (npx)
NpxStdioTransport
manual instantiation
Multi‑server config
MCPConfigTransport
MCPConfig dict / file
Keeping a Client context open re‑uses the connection/sub‑process. Opening & closing many short‑lived contexts will incur startup overhead.