ExAgent.MCP.StreamableHTTP (ExAgent v2.1.0)

View Source

Bounded MCP 2025-06-18 POST transport using stock Finch's public API.

Configure Client.start_link(transport: :streamable_http, url: url, finch: name). The application must own a Finch pool configured with protocols: [:http1]. This is a trusted precondition, not detected by the adapter. Use at least two connections if the server sends requests requiring responses during SSE. No redirects, POST retries, spontaneous GET or SSE resume/replay are performed.

Limits apply to host-retained body/line/event bytes after Finch delivers chunks, not upstream socket allocation. :headers are per-client and must not contain reserved transport headers. No session/auth value is included in adapter errors. Finch instrumentation is application-owned; do not attach handlers that export raw HTTP requests/headers. MCP session IDs are ephemeral, never C7 authority.

Summary

Functions

config(opts)

delete(config, session, deadline)

initialize(config, id, deadline)

notification(config, method, params, session, deadline)

now()

request(config, method, params, id, session, deadline)

spawn_request(owner, generation, id, deadline, fun)