MCP HTTP transport ignores configured URL path, defaults to /sse

Resolved 💬 3 comments Opened Feb 6, 2026 by hector-palpito Closed Feb 10, 2026

Description

When configuring an MCP server with type: "http" and a custom URL path, the HTTP transport layer ignores the configured path and defaults to /sse (the legacy SSE transport endpoint).

Steps to Reproduce

  1. Install the Linear MCP plugin (or configure any HTTP MCP server)
  2. Verify the .mcp.json config has the correct URL:
{
  "linear": {
    "type": "http",
    "url": "https://mcp.linear.app/mcp"
  }
}
  1. Start Claude Code and observe the debug logs at ~/.claude/debug/latest

Expected Behavior

The HTTP transport should connect to the configured URL: https://mcp.linear.app/mcp

Actual Behavior

The transport ignores the configured path and connects to https://mcp.linear.app/sse instead, resulting in a 404 error:

MCP server "linear": Initializing HTTP transport to https://mcp.linear.app/sse
MCP server "linear": HTTP transport options: {"url":"https://mcp.linear.app/sse","headers":{"User-Agent":"claude-code/2.1.34"},"hasAuthProvider":true,"timeoutMs":60000}
MCP server "linear": HTTP Connection failed after 172ms: Streamable HTTP error: Error POSTing to endpoint: Not Found (code: 404, errno: none)

The connection retries also hit /sse and fail with the same 404.

Environment

  • Claude Code version: 2.1.34
  • Node version: v24.3.0
  • Platform: macOS (Darwin 24.4.0)
  • MCP plugin: Linear (installed via marketplace)

Additional Context

  • Auth token is valid (not expired)
  • The .mcp.json configuration file correctly specifies /mcp — the path substitution happens at the transport layer
  • The Linear MCP server expects connections at https://mcp.linear.app/mcp, not /sse

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗