# Streamable HTTP MCP: mcp.json headers besides X-DomainHost-Key are dropped on tools/call

**URL:** <https://forum.cursor.com/t/streamable-http-mcp-mcp-json-headers-besides-x-domainhost-key-are-dropped-on-tools-call/169015>\
**Category:** Bug Reports\
**Tags:** mcp\
**Created:** [August 20, 2026, 11:36pm UTC](https://forum.cursor.com/t/streamable-http-mcp-mcp-json-headers-besides-x-domainhost-key-are-dropped-on-tools-call/169015 "2026-08-20T23:36:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fernando\_Chio\_Achi](https://avatars.discourse-cdn.com/v4/letter/f/ea5d25/32.png) [@Fernando\_Chio\_Achi](https://forum.cursor.com/u/Fernando_Chio_Achi)\
**Post date:** [August 20, 2026, 11:36pm UTC](https://forum.cursor.com/t/streamable-http-mcp-mcp-json-headers-besides-x-domainhost-key-are-dropped-on-tools-call/169015/1 "2026-08-20T23:36:50Z")

</div>

### 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](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](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

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [August 21, 2026, 10:26am UTC](https://forum.cursor.com/t/streamable-http-mcp-mcp-json-headers-besides-x-domainhost-key-are-dropped-on-tools-call/169015/5 "2026-08-21T10:26:57Z")

</div>

Hey @Fernando_Chio_Achi, thanks for the detailed report!

On current builds, the configured headers are attached to every request the MCP client sends — `initialize`, `tools/list`, and `tools/call` all share the same header set. So what you’re describing usually means the tool call is being served by a different copy of the server definition than the one you’re editing.

Could you check two things?

1. Have your sidecar log the incoming header names on `initialize` and `tools/list` as well, so we can see whether the extra headers are missing on every request or only on tool calls.

2. Check whether the same server (same name or same URL) is also defined somewhere else — in your global `C:\Users\<you>\.cursor\mcp.json`, in Cursor Settings → MCP, or in a team config. If so, remove the older copy and then fully restart Cursor.

If after that you still only see `X-DomainHost-Key` arrive, please share your exact Cursor version (Help → About) along with the MCP logs from Output → MCP, and we’ll dig further!

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/system/32/99069_2.png) [@system](https://forum.cursor.com/u/system)\
**Post date:** [September 27, 2026, 11:45am UTC](https://forum.cursor.com/t/streamable-http-mcp-mcp-json-headers-besides-x-domainhost-key-are-dropped-on-tools-call/169015/8 "2026-09-27T11:45:48Z")

</div>

Closed on September 27, 2026, 11:45am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
