-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
complexity:complexHigh effort, significant design neededHigh effort, significant design neededphase:executionRouter, driversRouter, driverspriority:mediumImportant but not blockingImportant but not blockingsize:MMedium change, 50 to 200 linesMedium change, 50 to 200 linestype:featureNew functionalityNew functionality
Milestone
Description
Parent: #41 | Split: Streamable HTTP transport
Problem
This is part 2 of #41 (MCP Driver). It covers the Streamable HTTP transport — connecting to remote MCP servers over HTTP — and reconnection handling for long-lived connections.
Depends on the core MCPDriver + stdio transport (part 1).
Proposed Change
1. Streamable HTTP transport
- Connect to remote MCP servers via
mcp.client.streamable_http.streamable_http_client. - Factory method:
MCPDriver.from_http(url). - Handle reconnection for long-lived HTTP connections.
- Clean shutdown via
async withprotocol.
2. Extended response handling
- Support structured output (
structuredContent) when available. - Handle HTTP-specific errors (timeouts, connection drops) with retry logic.
Acceptance Criteria
-
MCPDriver.from_http()connects to a Streamable HTTP MCP server - HTTP reconnection works for dropped connections
- Structured output (
structuredContent) is properly handled - Integration test with mock HTTP MCP server
-
docs/integrations.mdupdated with real usage examples for both transports
Affected Files
src/agent_kernel/drivers/mcp.py(extend with HTTP transport)tests/test_drivers.py(HTTP transport tests)docs/integrations.md(usage examples)
Dependencies
- Requires MCP Driver part 1 (stdio transport + core)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
complexity:complexHigh effort, significant design neededHigh effort, significant design neededphase:executionRouter, driversRouter, driverspriority:mediumImportant but not blockingImportant but not blockingsize:MMedium change, 50 to 200 linesMedium change, 50 to 200 linestype:featureNew functionalityNew functionality