@@ -86,6 +86,11 @@ func (m McpServerService) Page(req request.McpServerSearch) response.McpServersR
8686}
8787
8888func (m McpServerService ) Update (req request.McpServerUpdate ) error {
89+ go func () {
90+ if err := docker .PullImage ("supercorp/supergateway:latest" ); err != nil {
91+ global .LOG .Errorf ("docker pull mcp image error: %s" , err .Error ())
92+ }
93+ }()
8994 mcpServer , err := mcpServerRepo .GetFirst (repo .WithByID (req .ID ))
9095 if err != nil {
9196 return err
@@ -108,6 +113,8 @@ func (m McpServerService) Update(req request.McpServerUpdate) error {
108113 mcpServer .BaseURL = req .BaseURL
109114 mcpServer .SsePath = req .SsePath
110115 mcpServer .HostIP = req .HostIP
116+ mcpServer .StreamableHttpPath = req .StreamableHttpPath
117+ mcpServer .OutputTransport = req .OutputTransport
111118 if err := handleCreateParams (mcpServer , req .Environments , req .Volumes ); err != nil {
112119 return err
113120 }
@@ -130,6 +137,11 @@ func (m McpServerService) Update(req request.McpServerUpdate) error {
130137}
131138
132139func (m McpServerService ) Create (create request.McpServerCreate ) error {
140+ go func () {
141+ if err := docker .PullImage ("supercorp/supergateway:latest" ); err != nil {
142+ global .LOG .Errorf ("docker pull mcp image error: %s" , err .Error ())
143+ }
144+ }()
133145 servers , _ := mcpServerRepo .List ()
134146 for _ , server := range servers {
135147 if server .Port == create .Port {
@@ -154,15 +166,17 @@ func (m McpServerService) Create(create request.McpServerCreate) error {
154166 }
155167 mcpDir := path .Join (global .Dir .McpDir , create .Name )
156168 mcpServer := & model.McpServer {
157- Name : create .Name ,
158- ContainerName : create .ContainerName ,
159- Port : create .Port ,
160- Command : create .Command ,
161- Status : constant .StatusStarting ,
162- BaseURL : create .BaseURL ,
163- SsePath : create .SsePath ,
164- Dir : mcpDir ,
165- HostIP : create .HostIP ,
169+ Name : create .Name ,
170+ ContainerName : create .ContainerName ,
171+ Port : create .Port ,
172+ Command : create .Command ,
173+ Status : constant .StatusStarting ,
174+ BaseURL : create .BaseURL ,
175+ SsePath : create .SsePath ,
176+ Dir : mcpDir ,
177+ HostIP : create .HostIP ,
178+ StreamableHttpPath : create .StreamableHttpPath ,
179+ OutputTransport : create .OutputTransport ,
166180 }
167181 if err := handleCreateParams (mcpServer , create .Environments , create .Volumes ); err != nil {
168182 return err
@@ -524,6 +538,8 @@ func handleEnv(mcpServer *model.McpServer) gotenv.Env {
524538 env ["BASE_URL" ] = mcpServer .BaseURL
525539 env ["SSE_PATH" ] = mcpServer .SsePath
526540 env ["HOST_IP" ] = mcpServer .HostIP
541+ env ["STREAMABLE_HTTP_PATH" ] = mcpServer .StreamableHttpPath
542+ env ["OUTPUT_TRANSPORT" ] = mcpServer .OutputTransport
527543 envStr , _ := gotenv .Marshal (env )
528544 mcpServer .Env = envStr
529545 return env
0 commit comments