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.