Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Streamable HTTP MCP: headers from project .cursor/mcp.json are not all sent on tools/call.
The server is configured with several custom headers (X-DomainHost-Key, X-Ai-Agent-Id, X-WooW-User, X-WooW-Password, X-WooW-Instance, X-WooW-Year, X-WooW-InstanceType). On each JSON-RPC tools/call POST, Cursor only forwards X-DomainHost-Key. The rest never arrive.
The same mcp.json, posted with PowerShell to the same URL, sends every header and the tool succeeds. This host has no OAuth and no .well-known oauth endpoints.
Handshake (initialize / notifications/initialized) works. Failure is on tool execution auth headers.
Related forum threads (same class of bug; search titles): “cursor-automation-datadog-tool” and “mcp-headers-config-ignored-when-server-has-oauth-discovery”. Staff have said .cursor/mcp.json should forward headers; we still only see one of several on tools/call.
Steps to Reproduce
Run a Streamable HTTP MCP at http://localhost:6010/mcp that logs incoming header names (not values) on tools/call.
Put this in the project .cursor/mcp.json (values redacted):
{
“mcpServers”: {
“woow-domain”: {
“url”: “http://localhost:6010/mcp”,
“headers”: {
“X-DomainHost-Key”: “”,
“X-Ai-Agent-Id”: “cursor-qas”,
“X-WooW-User”: “”,
“X-WooW-Password”: “”,
“X-WooW-Instance”: “”,
“X-WooW-Year”: “2026”,
“X-WooW-InstanceType”: “QAS”
}
}
}
}
Reload MCP / restart Cursor. Confirm the server is connected.
In Agent chat, invoke a tool that requires the extra headers (e.g. api_list).
Compare with the same JSON posted via PowerShell or MCP Inspector to POST /mcp tools/call.
Expected Behavior
very key under headers is attached to every JSON-RPC POST (initialize, tools/list, tools/call). Streamable HTTP treats each POST as independent, so auth headers must be repeated.
Actual from Cursor tools/call:
[MCP-AUTH] tool=api_list agent=- hasUser=False hasPassword=False hasAgentId=False headerNames=X-DomainHost-Key
Actual from PowerShell with the same file:
[MCP-AUTH] tool=api_list agent=cursor-qas hasUser=True hasPassword=True hasAgentId=True
headerNames=X-Ai-Agent-Id,X-DomainHost-Key,X-WooW-Instance,X-WooW-InstanceType,X-WooW-Password,X-WooW-User,X-WooW-Year
Operating System
Windows 10/11
Version Information
OS: Windows 10/11 (win32 10.0.26200)
Cursor: (Help → About — pega la versión)
MCP transport: Streamable HTTP (url only, no command)
Config: project .cursor/mcp.json (not registerServer())
Server: local sidecar, HTTP localhost:6010, no OAuth discovery
Does this stop you from using Cursor
No - Cursor works, but with this issue