-
Notifications
You must be signed in to change notification settings - Fork 384
Open
Labels
T-bugBug fixes and error correctionsBug fixes and error corrections
Description
Describe the bug
client.list_tools() blocks and never returns when attempting to list tools from Docker's MCP Gateway
To Reproduce
Steps to reproduce the behavior:
- Set up Docker's MCP Gateway listening on port 8000
- Execute: "cargo run --example clients_streamable_http"
Expected behavior
client.list_tools() should return a list of available tools, instead the clients_streamable_http example hangs.
Logs
MCP Gateway logs shows client connection was sucessfull:
- Reading configuration...
- Reading catalog from [https://desktop.docker.com/mcp/catalog/v2/catalog.yaml]
- Configuration read in 144.675575ms
- Using images:
- mcp/playwright@sha256:6ae70022034e246c23534ef83e79274398997e5605100c6710809eaff7454743
> Images pulled in 10.556628ms
- Those servers are enabled: playwright
- Listing MCP tools...
- Running mcp/playwright with [run --rm -i --init --security-opt no-new-privileges --cpus 1 --memory 4gb --pull never -l docker-mcp=true -l docker-mcp-tool-type=mcp -l docker-mcp-name=playwright -l docker-mcp-transport=stdio --network astra_default]
> playwright: (21 tools)
> 21 tools listed in 1.410573275s
> Initialized in 1.58905636s
> Start streaming server on port 8000
- Client initialized test sse client@0.0.1
Output from clients_streamable_http example:
C:\Development\rust-sdk [main ≡ +0 ~1 -0 !]> cargo run --example clients_streamable_http
warning: C:\Development\rust-sdk\examples\simple-chat-client\Cargo.toml: unused manifest key: dependencies.rmcp.no-default-features
Blocking waiting for file lock on build directory
Compiling mcp-client-examples v0.1.5 (C:\Development\rust-sdk\examples\clients)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.35s
Running `target\debug\examples\clients_streamable_http.exe`
2025-10-06T19:21:30.755906Z INFO serve_inner: rmcp::service: Service initialized as client peer_info=Some(InitializeResult { protocol_version: ProtocolVersion("2025-03-26"), capabilities: ServerCapabilities { experimental: None, logging: Some({}), completions: None, prompts: Some(PromptsCapability { list_changed: Some(true) }), resources: Some(ResourcesCapability { subscribe: Some(true), list_changed: Some(true) }), tools: Some(ToolsCapability { list_changed: Some(true) }) }, server_info: Implementation { name: "Docker AI MCP Gateway", title: None, version: "2.0.1", icons: None, website_url: None }, instructions: None })
2025-10-06T19:21:30.756303Z INFO clients_streamable_http: Connected to server: Some(
InitializeResult {
protocol_version: ProtocolVersion(
"2025-03-26",
),
capabilities: ServerCapabilities {
experimental: None,
logging: Some(
{},
),
completions: None,
prompts: Some(
PromptsCapability {
list_changed: Some(
true,
),
},
),
resources: Some(
ResourcesCapability {
subscribe: Some(
true,
),
list_changed: Some(
true,
),
},
),
tools: Some(
ToolsCapability {
list_changed: Some(
true,
),
},
),
},
server_info: Implementation {
name: "Docker AI MCP Gateway",
title: None,
version: "2.0.1",
icons: None,
website_url: None,
},
instructions: None,
},
)
Metadata
Metadata
Assignees
Labels
T-bugBug fixes and error correctionsBug fixes and error corrections