Summary
Atman v1.10.0 cannot connect to an HTTP MCP server that requires the client to advertise both application/json and text/event-stream in the Accept header.
Environment
- Atman: v1.10.0
- Transport: HTTP MCP
- Server: MCP server using JSON responses and SSE responses
Steps to reproduce
- Configure an HTTP MCP server in
~/.config/atman/mcp_servers.json with type: "http", url, and custom headers.
- Set the server's
Accept header to application/json, text/event-stream.
- Run
atman mcp test <server>.
Expected behavior
Atman sends an HTTP request whose Accept header includes both media types, and the MCP server completes initialization.
Actual behavior
The server returns:
406 Not Acceptable: Client must accept both application/json and text/event-stream
The same endpoint succeeds when called with a standalone MCP client that explicitly sends Accept: application/json, text/event-stream, so the endpoint and credentials are valid. Adding Accept under the configured headers does not appear to affect Atman's initialization request.
Impact
HTTP MCP servers with this negotiation requirement cannot be used directly from Atman. A local stdio bridge that forwards the request with the correct Accept header is currently required as a workaround.
Suggested investigation
Ensure the HTTP MCP transport applies configured headers, or otherwise always advertises both application/json and text/event-stream during MCP initialization and subsequent requests.
Summary
Atman v1.10.0 cannot connect to an HTTP MCP server that requires the client to advertise both
application/jsonandtext/event-streamin theAcceptheader.Environment
Steps to reproduce
~/.config/atman/mcp_servers.jsonwithtype: "http",url, and custom headers.Acceptheader toapplication/json, text/event-stream.atman mcp test <server>.Expected behavior
Atman sends an HTTP request whose
Acceptheader includes both media types, and the MCP server completes initialization.Actual behavior
The server returns:
The same endpoint succeeds when called with a standalone MCP client that explicitly sends
Accept: application/json, text/event-stream, so the endpoint and credentials are valid. AddingAcceptunder the configuredheadersdoes not appear to affect Atman's initialization request.Impact
HTTP MCP servers with this negotiation requirement cannot be used directly from Atman. A local stdio bridge that forwards the request with the correct
Acceptheader is currently required as a workaround.Suggested investigation
Ensure the HTTP MCP transport applies configured headers, or otherwise always advertises both
application/jsonandtext/event-streamduring MCP initialization and subsequent requests.