Skip to content

[Bug]: pass-through headers are not functioning as expected #1046

@SharkyND

Description

@SharkyND

🐞 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

  1. Configure MCP server A with master auth headers in the MCP Servers Panel.
  2. Create a virtual server linked to MCP server A, selecting all tools.
  3. Connect a user to the virtual server and pass custom headers (e.g., x-auth tokens).
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageIssues / Features awaiting triage

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions