-
Notifications
You must be signed in to change notification settings - Fork 389
Description
🐞 Bug Summary
The Streamable HTTP translation feature (translating stdio server to a streamable HTTP server) is only partially implemented. While the connection is successfully established, no further functionality works. Listing tools, resources, prompts, or calling tools is non-functional.
🧩 Affected Component
Select the area of the project impacted:
-
mcpgateway- API -
mcpgateway- UI (admin panel) -
mcpgateway.wrapper- stdio wrapper - Federation or Transports
- CLI, Makefiles, or shell scripts
- Container setup (Docker/Podman/Compose)
- Other (explain below)
🔁 Steps to Reproduce
- Execute this command to start a stdio server with streamable http transport:
python3 -m mcpgateway.translate --stdio "npx @modelcontextprotocol/server-everything" --port 9000 --expose-streamable-http --expose-sse - Add the server in either mcp-context-forge gateway or MCP Inspector.
- Click Connect, then attempt to list tools, resources, or prompts.
- Observe that the connection is established, but no tools, resources, or prompts are listed, and tool invocation does not work. In the gateway, the connection will fail because the server does not provide any tools or resources.
🤔 Expected Behavior
After establishing the connection via streamable-http, the server should successfully list available tools, resources, and prompts. Additionally, invoking tools through the gateway or inspector should work correctly without errors.
📓 Logs / Error Output
The server fails to connect in the gateway, but in translate server logs we can see 200, 202 OK responses
INFO: 127.0.0.1:48482 - "POST /mcp HTTP/1.1" 200 OK
INFO: 127.0.0.1:44874 - "POST /mcp HTTP/1.1" 200 OK
🧠 Environment Info
You can retrieve most of this from the /version endpoint.
| Key | Value |
|---|---|
| Version or commit | e.g. v0.9.0 or main@a1b2c3d |
| Runtime | e.g. Python 3.11, Gunicorn |
| Platform / OS | e.g. Ubuntu 22.04, macOS |
| Container | e.g. Docker, Podman, none |
🧩 Additional Context (optional)
Add any configuration details, flags, or related issues.