@@ -18,6 +18,7 @@ const mcpGatewayCustomEnvNamesVar = "GH_AW_MCP_GATEWAY_CUSTOM_ENV_NAMES"
1818const mcpGatewayCustomEnvTransportPrefix = "GH_AW_MCP_GATEWAY_ENV_"
1919const mcpGatewayReservedEnvPrefix = "GH_AW_MCP_GATEWAY_"
2020const mcpGatewayCustomEnvMarker = "__GH_AW_MCP_GATEWAY_CUSTOM_ENV__"
21+ const mcpGatewayConfiguredAgentIDVar = "GH_AW_MCP_GATEWAY_CONFIGURED_AGENT_ID"
2122
2223var optionalPRHeadEnvVars = []string {
2324 "GH_AW_PR_HEAD_BASE_BRANCH" ,
@@ -46,7 +47,7 @@ func generateMCPGatewaySetup(yaml *strings.Builder, tools map[string]any, mcpToo
4647 gatewayConfig := workflowData .SandboxConfig .MCP
4748 mcpEnvVars := collectMCPEnvironmentVariables (tools , mcpTools , workflowData , hasAgenticWorkflows )
4849 customGatewayEnvNames := sanitizedGatewayEnvNames (gatewayConfig .Env )
49- writeMCPGatewayStepEnvWithCustomGatewayEnvNames (yaml , mcpEnvVars , safeOutputsInputEnvVars , gatewayConfig .Env , customGatewayEnvNames )
50+ writeMCPGatewayStepEnvWithCustomGatewayEnvNames (yaml , mcpEnvVars , safeOutputsInputEnvVars , gatewayConfig .Env , customGatewayEnvNames , gatewayConfig . AgentID )
5051 yaml .WriteString (" run: |\n " )
5152 yaml .WriteString (" set -eo pipefail\n " )
5253 yaml .WriteString (" mkdir -p \" ${RUNNER_TEMP}/gh-aw/mcp-config\" \n " )
@@ -101,8 +102,8 @@ func generateMCPGatewaySetup(yaml *strings.Builder, tools map[string]any, mcpToo
101102 return engine .RenderMCPConfig (yaml , tools , mcpTools , workflowData )
102103}
103104
104- func writeMCPGatewayStepEnvWithCustomGatewayEnvNames (yaml * strings.Builder , mcpEnvVars map [string ]string , safeOutputsInputEnvVars map [string ]string , gatewayEnvVars map [string ]string , customEnvVarNames []string ) {
105- if len (mcpEnvVars ) == 0 && len (safeOutputsInputEnvVars ) == 0 && len (customEnvVarNames ) == 0 {
105+ func writeMCPGatewayStepEnvWithCustomGatewayEnvNames (yaml * strings.Builder , mcpEnvVars map [string ]string , safeOutputsInputEnvVars map [string ]string , gatewayEnvVars map [string ]string , customEnvVarNames []string , configuredAgentID string ) {
106+ if len (mcpEnvVars ) == 0 && len (safeOutputsInputEnvVars ) == 0 && len (customEnvVarNames ) == 0 && configuredAgentID == "" {
106107 return
107108 }
108109 yaml .WriteString (" env:\n " )
@@ -148,6 +149,9 @@ func writeMCPGatewayStepEnvWithCustomGatewayEnvNames(yaml *strings.Builder, mcpE
148149 yaml .WriteString (formatYAMLEnv (" " , mcpGatewayCustomEnvTransportName (i ), gatewayEnvVars [envVarName ]))
149150 }
150151 }
152+ if configuredAgentID != "" {
153+ yaml .WriteString (formatYAMLEnv (" " , mcpGatewayConfiguredAgentIDVar , configuredAgentID ))
154+ }
151155}
152156
153157// sanitizedGatewayEnvNames returns the sorted subset of user-supplied gateway
@@ -272,7 +276,7 @@ func writeMCPGatewayExports(yaml *strings.Builder, opts writeMCPGatewayExportsOp
272276 yaml .WriteString (" echo \" ::add-mask::${MCP_GATEWAY_AGENT_ID}\" \n " )
273277 yaml .WriteString (" export MCP_GATEWAY_AGENT_ID\n " )
274278 } else {
275- yaml .WriteString (" export MCP_GATEWAY_AGENT_ID=\" " + gatewayConfig . AgentID + "\" \n " )
279+ yaml .WriteString (" export MCP_GATEWAY_AGENT_ID=\" ${ " + mcpGatewayConfiguredAgentIDVar + "} \" \n " )
276280 yaml .WriteString (" echo \" ::add-mask::${MCP_GATEWAY_AGENT_ID}\" \n " )
277281 }
278282 yaml .WriteString (" export MCP_GATEWAY_PAYLOAD_DIR=\" " + payloadDir + "\" \n " )
0 commit comments