http_mcp_headers

Convert HTTP MCP header secrets into environment variable passthrough.

4.9k|489|Updated Aug 12, 2025
One-click install
npx skills add https://github.com/github/gh-aw --skill http-mcp-headers-github
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: http_mcp_headers
Source: https://github.com/github/gh-aw/tree/main/skills/http-mcp-headers
Command: npx skills add https://github.com/github/gh-aw --skill http-mcp-headers-github

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill ensures secure handling of secrets in HTTP MCP header configurations for Copilot-driven workflows, preventing secret leakage into config files and logs.

Core Features & Use Cases

  • Secret extraction: identify and extract secrets referenced in HTTP headers like ${{ secrets.VAR }} and convert them to environment variables.
  • Env passthrough: render MCP headers using env references (e.g., ${VAR}) to keep sensitive data out of the MCP config.
  • Use Case: Implement secure header management for multiple MCP servers in a single workflow, enabling safe cross-service authentication without exposing secrets.

Quick Start

To start, enable the HTTP MCP header secret support skill and run a Copilot-driven workflow that includes a tool requiring headers with secrets.

Frequently Asked Questions about http_mcp_headers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I keep secrets out of my MCP config when using HTTP headers in Copilot workflows?

You keep secrets out of MCP config by extracting header secret references like ${{ secrets.VAR }} and converting them to environment passthroughs. The config then renders headers using env references, preventing sensitive data leakage.

How does environment passthrough work for MCP header secrets?

Environment passthrough works by transforming HTTP header secret references into environment variables. It generates an mcp-config.json that renders headers using env references like ${VAR}, keeping actual secret values out of the configuration file.

Can I manage secure HTTP headers across multiple MCP servers in a single workflow?

Yes, you can manage secure HTTP headers across multiple MCP servers in a single Copilot-driven workflow. It handles env passthrough and secure rendering for each server, enabling safe cross-service authentication without exposing secrets.

What's the best way to extract secrets from MCP header values for automation workflows?

The best way to extract secrets from MCP header values is to identify patterns like ${{ secrets.VAR }} and convert them to environment passthroughs. This generates a secure mcp-config.json that renders headers with env variables instead of raw secrets.

Does this approach prevent secret leakage into logs when using Copilot MCP tools?

Yes, this approach prevents secret leakage into logs and config files. By transforming secret references into environment passthroughs, sensitive values are never written to the mcp-config.json, ensuring secure rendering across Copilot MCP workflows.

Why should I use environment passthrough instead of inline secrets in mcp-config.json?

You should use environment passthrough to prevent secret leakage into config files and logs. Inline secrets in mcp-config.json expose sensitive data, whereas env references like ${VAR} keep values secure during rendering and cross-service authentication.