Describe the feature
Add an HTTP client transport (HttpClientTransport) so the SDK can communicate with ADP servers over HTTP, in addition to the existing stdio transport.
Motivation
The adp-hypervisor is adding HTTP transport support (see adp-hypervisor#89). The SDK needs a corresponding client-side HTTP transport to connect to ADP servers running in HTTP mode, without managing a subprocess.
Describe the solution
- Add
httpx as a required dependency (following MCP SDK precedent).
- Implement
HttpClientTransport that sends JSON-RPC requests via POST and reads the response body.
- Add an
http_client() async context manager as a convenience function (mirroring stdio_client()).
- Update
README.md with HTTP transport documentation and usage examples.
Additional context
- Related: adp-hypervisor#89 (server-side HTTP transport)
- The HTTP transport uses request-response semantics: each
write_message performs the POST and buffers the response; read_message returns it. Concurrency is serialized by ClientSession._send_lock, consistent with the stdio transport approach.
Describe the feature
Add an HTTP client transport (
HttpClientTransport) so the SDK can communicate with ADP servers over HTTP, in addition to the existing stdio transport.Motivation
The adp-hypervisor is adding HTTP transport support (see adp-hypervisor#89). The SDK needs a corresponding client-side HTTP transport to connect to ADP servers running in HTTP mode, without managing a subprocess.
Describe the solution
httpxas a required dependency (following MCP SDK precedent).HttpClientTransportthat sends JSON-RPC requests viaPOSTand reads the response body.http_client()async context manager as a convenience function (mirroringstdio_client()).README.mdwith HTTP transport documentation and usage examples.Additional context
write_messageperforms the POST and buffers the response;read_messagereturns it. Concurrency is serialized byClientSession._send_lock, consistent with the stdio transport approach.