-
Notifications
You must be signed in to change notification settings - Fork 414
Description
🐞 Bug Summary
Briefly describe the issue or unexpected behavior.
The pass-through headers are not functioning as expected. Here's the scenario:
I have an MCP server A configured in the MCP Servers Panel, with master authentication headers set up. This allows the server to discover all the tools.
I created a virtual server linked to MCP server A and selected all relevant tools.
My goal is for individual users connecting to MCP server A via the virtual server to pass their own headers (e.g., custom authentication tokens) to MCP server A.
If a user passes an expired or invalid custom token, the request should fail, reflecting the user's headers.
However, the pass-through mechanism is not working as intended. Instead, MCP server A always uses the headers from the master configuration, ignoring user-passed headers.
I am looking for a workaround or guidance on how to enable header pass-through for individual users.
🧩 Affected Component
Select the area of the project impacted:
-
mcpgateway- API -
mcpgateway- UI (admin panel) -
mcpgateway.wrapper- stdio wrapper - Federation or Transports
- CLI, Makefiles, or shell scripts
- Container setup (Docker/Podman/Compose)
- Other (explain below)
🔁 Steps to Reproduce
- Configure MCP server A with master auth headers in the MCP Servers Panel.
- Create a virtual server linked to MCP server A, selecting all tools.
- Connect a user to the virtual server and pass custom headers (e.g., x-auth tokens).
- Observe that MCP server A always uses the master headers, ignoring user headers.
🤔 Expected Behavior
What should have happened instead?
Observe that MCP server A always uses user headers.
🧠 Environment Info
You can retrieve most of this from the /version endpoint.
| Key | Value |
|---|---|
| Version or commit | 0.7.0 |