Affected module
Ingestion Framework
Describe the bug
Direct MCP connections accept a server url, but HttpTransport posts to f"{url}/mcp" instead of the configured URL. A complete endpoint such as https://xquik.com/mcp is therefore requested as https://xquik.com/mcp/mcp.
The Streamable HTTP transport also omits Accept: application/json, text/event-stream. MCP servers can use either response type. The client currently proposes protocol revision 2024-11-05, while the latest initialization-based revision is 2025-11-25.
To reproduce
- Configure a direct MCP service connection with
StreamableHTTP transport and URL https://example.test/custom/mcp.
- Patch
requests.Session.post or inspect the outgoing request.
- Call
send_request("initialize", ...).
The request targets https://example.test/custom/mcp/mcp. Its Accept header does not advertise both supported response types.
Expected behavior
The transport should post to the configured URL exactly. It should advertise JSON and server-sent events, and propose protocol revision 2025-11-25. Bearer API key handling should remain unchanged.
Environment
- OS: macOS
- Python: 3.11
- OpenMetadata: current
main at 06cbbbdcaa223300c8bac1ad2511dcb02feb225d
- OpenMetadata Ingestion package: current
main
Additional context
The official Streamable HTTP specification defines one server endpoint and requires both response types in the Accept header:
https://modelcontextprotocol.io/specification/2025-11-25/basic/transports
Issue #21535 requested MCP endpoint discovery. This report is narrower and covers the direct connection transport. Xquik is one public endpoint that exposes a complete /mcp URL, but the defect and proposed fix are provider-neutral.
Affected module
Ingestion Framework
Describe the bug
Direct MCP connections accept a server
url, butHttpTransportposts tof"{url}/mcp"instead of the configured URL. A complete endpoint such ashttps://xquik.com/mcpis therefore requested ashttps://xquik.com/mcp/mcp.The Streamable HTTP transport also omits
Accept: application/json, text/event-stream. MCP servers can use either response type. The client currently proposes protocol revision2024-11-05, while the latest initialization-based revision is2025-11-25.To reproduce
StreamableHTTPtransport and URLhttps://example.test/custom/mcp.requests.Session.postor inspect the outgoing request.send_request("initialize", ...).The request targets
https://example.test/custom/mcp/mcp. ItsAcceptheader does not advertise both supported response types.Expected behavior
The transport should post to the configured URL exactly. It should advertise JSON and server-sent events, and propose protocol revision
2025-11-25. Bearer API key handling should remain unchanged.Environment
mainat06cbbbdcaa223300c8bac1ad2511dcb02feb225dmainAdditional context
The official Streamable HTTP specification defines one server endpoint and requires both response types in the
Acceptheader:https://modelcontextprotocol.io/specification/2025-11-25/basic/transports
Issue #21535 requested MCP endpoint discovery. This report is narrower and covers the direct connection transport. Xquik is one public endpoint that exposes a complete
/mcpURL, but the defect and proposed fix are provider-neutral.