Skip to content

Remote HTTP MCP servers fail behind Kerberos/Negotiate proxy ( proxy_auth_required ) while main fetch stack works #5142

Open

Description

@MichaelKubovic

Version: 1.0.93, Windows
Env: HTTPS_PROXY=http://proxy.example:8080 (corporate proxy, answers 407 with Proxy-Authenticate: Negotiate / NTLM)

Config (mcp-config.json):
"atlassian-cloud-mcp": { "type": "http", "url": "https://mcp.atlassian.com/v2/mcp", "headers": { "Authorization": "Basic " } }

Expected: MCP HTTP transport authenticates to the proxy via Kerberos/Negotiate, as the main network stack does since 1.0.62 (see #523).

Actual: the MCP server fails to connect. Log:
[WARNING] [rust:mcp::http_client] MCP HTTP proxy rejected CONNECT; this transport cannot negotiate proxy authentication {"transport":"streamable_http","target.host":"mcp.atlassian.com","target.port":443,"reason":"proxy_auth_required"}
[WARNING] [rust:mcp::client] server/discover failed; retrying with legacy initialize {"error":"Client error: error sending request for url (https://mcp.atlassian.com/v2/mcp)"}
[WARNING] failed to initialize MCP client: transport failure during send initialize request

Evidence it's the transport, not the proxy or token:

  • The main stack negotiates the proxy fine ([rust:rt_network::fetch] "proxy Negotiate recovery" for github downloads).
  • curl --proxy-negotiate -U : https://mcp.atlassian.com/v2/mcp with the same header returns 200 and a valid initialize response.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mcpMCP server configuration, discovery, connectivity, OAuth, policy, and registryarea:networkingProxy, SSL/TLS, certificates, corporate environments, and connectivity issues

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions