原文(日本語に翻訳)
MCP headersHelper スクリプトに CLAUDE_CODE_MCP_SERVER_NAME と CLAUDE_CODE_MCP_SERVER_URL 環境変数を追加。1つのヘルパースクリプトで複数のサーバーに対応可能になりました。
原文(英語)
Added CLAUDE_CODE_MCP_SERVER_NAME and CLAUDE_CODE_MCP_SERVER_URL environment variables to MCP headersHelper scripts, allowing one helper to serve multiple servers
概要
MCPの headersHelper スクリプトを呼び出す際に、新しい環境変数 CLAUDE_CODE_MCP_SERVER_NAME と CLAUDE_CODE_MCP_SERVER_URL が渡されるようになりました。これにより、1つのヘルパースクリプトが接続先サーバーの情報を取得して、複数のMCPサーバーに対して適切な認証ヘッダーを動的に生成できます。
基本的な使い方
headersHelper スクリプト内で、以下の環境変数を参照できます:
bash
#!/bin/bash
# 接続先のMCPサーバー名とURLを取得
SERVER_NAME="$CLAUDE_CODE_MCP_SERVER_NAME"
SERVER_URL="$CLAUDE_CODE_MCP_SERVER_URL"
# サーバーに応じたトークンを返す
if [ "$SERVER_NAME" = "my-api-server" ]; then
echo '{"Authorization": "Bearer token-for-api-server"}'
elif [ "$SERVER_NAME" = "my-data-server" ]; then
echo '{"Authorization": "Bearer token-for-data-server"}'
fi実践例
ユースケース: 複数のMCPサーバーを1つのヘルパーで管理
~/.claude/mcp-headers.sh を作成し、すべてのMCPサーバーのヘッダーを一元管理する例:
bash
#!/bin/bash
case "$CLAUDE_CODE_MCP_SERVER_NAME" in
"github-mcp")
TOKEN=$(security find-generic-password -s "github-token" -w)
echo "{\"Authorization\": \"Bearer $TOKEN\"}"
;;
"jira-mcp")
TOKEN=$(security find-generic-password -s "jira-token" -w)
echo "{\"Authorization\": \"Basic $TOKEN\"}"
;;
"custom-api")
echo "{\"X-API-Key\": \"$(cat ~/.api-keys/custom-api)\"}"
;;
*)
echo "{}"
;;
esacMCPの設定例(.claude/settings.json):
json
{
"mcpServers": {
"github-mcp": {
"url": "https://mcp.github.com",
"headersHelper": "~/.claude/mcp-headers.sh"
},
"jira-mcp": {
"url": "https://mcp.atlassian.com",
"headersHelper": "~/.claude/mcp-headers.sh"
}
}
}注意点
CLAUDE_CODE_MCP_SERVER_NAMEはMCPサーバーの設定キー名が渡されますCLAUDE_CODE_MCP_SERVER_URLはMCPサーバーのURLが渡されます- スクリプトはJSON形式のヘッダーオブジェクトを標準出力に返す必要があります
- セキュリティのため、トークンはスクリプト内にハードコードせず、キーチェーンや環境変数から取得することを推奨します