@@ -15,13 +15,13 @@ import (
1515 "gopkg.in/yaml.v3"
1616)
1717
18- const DOCKER_MCP_GATEWAY_URL_ENV = "DOCKER_MCP_GATEWAY_URL "
18+ const ENV_DOCKER_MCP_URL_PREFIX = "DOCKER_MCP_URL_ "
1919
2020type GatewayToolset struct {
21- ref string
22- config any
23- toolFilter []string
24- envProvider environment.Provider
21+ mcpServerName string
22+ config any
23+ toolFilter []string
24+ envProvider environment.Provider
2525
2626 once sync.Once
2727 initErr error
@@ -32,11 +32,11 @@ type GatewayToolset struct {
3232
3333var _ tools.ToolSet = (* GatewayToolset )(nil )
3434
35- func NewGatewayToolset (ref string , config any , toolFilter []string , envProvider environment.Provider ) * GatewayToolset {
36- slog .Debug ("Creating MCP Gateway toolset" , "ref " , ref , "toolFilter" , toolFilter )
35+ func NewGatewayToolset (mcpServerName string , config any , toolFilter []string , envProvider environment.Provider ) * GatewayToolset {
36+ slog .Debug ("Creating MCP Gateway toolset" , "name " , mcpServerName , "toolFilter" , toolFilter )
3737
3838 return & GatewayToolset {
39- ref : ref ,
39+ mcpServerName : mcpServerName ,
4040 config : config ,
4141 toolFilter : toolFilter ,
4242 envProvider : envProvider ,
@@ -50,23 +50,21 @@ func (t *GatewayToolset) Instructions() string {
5050}
5151
5252func (t * GatewayToolset ) configureOnce (ctx context.Context ) error {
53- mcpServerName := gateway .ParseServerRef (t .ref )
54-
5553 // Check which secrets (env vars) are required by the MCP server.
56- secrets , err := gateway .RequiredEnvVars (ctx , mcpServerName , gateway .DockerCatalogURL )
54+ secrets , err := gateway .RequiredEnvVars (ctx , t . mcpServerName , gateway .DockerCatalogURL )
5755 if err != nil {
5856 return fmt .Errorf ("reading which secrets the MCP server needs: %w" , err )
5957 }
6058
6159 // Make sure all the required secrets are available in the environment.
6260 // TODO(dga): Ideally, the MCP gateway would use the same provider that we have.
63- fileSecrets , err := writeSecretsToFile (ctx , mcpServerName , secrets , t .envProvider )
61+ fileSecrets , err := writeSecretsToFile (ctx , t . mcpServerName , secrets , t .envProvider )
6462 if err != nil {
6563 return fmt .Errorf ("writing secrets to file: %w" , err )
6664 }
6765 t .cleanUpSecrets = func () error { return os .Remove (fileSecrets ) }
6866
69- fileConfig , err := writeConfigToFile (ctx , mcpServerName , t .config )
67+ fileConfig , err := writeConfigToFile (ctx , t . mcpServerName , t .config )
7068 if err != nil {
7169 return fmt .Errorf ("writing config to file: %w" , err )
7270 }
@@ -76,7 +74,7 @@ func (t *GatewayToolset) configureOnce(ctx context.Context) error {
7674 // This improves shareability of agents.
7775 args := []string {
7876 "mcp" , "gateway" , "run" ,
79- "--servers" , mcpServerName ,
77+ "--servers" , t . mcpServerName ,
8078 "--catalog" , gateway .DockerCatalogURL ,
8179 "--secrets" , fileSecrets ,
8280 "--config" , fileConfig ,
0 commit comments