diff --git a/backend/app/service/mcp_server.go b/backend/app/service/mcp_server.go index 2f82204ef..049b27687 100644 --- a/backend/app/service/mcp_server.go +++ b/backend/app/service/mcp_server.go @@ -52,6 +52,7 @@ func (m McpServerService) Page(req request.McpServerSearch) response.McpServersR total, data, _ := mcpServerRepo.Page(req.PageInfo.Page, req.PageInfo.PageSize) for _, item := range data { + _ = syncMcpServerContainerStatus(&item) serverDTO := response.McpServerDTO{ McpServer: item, Environments: make([]request.Environment, 0), @@ -158,6 +159,7 @@ func (m McpServerService) Create(create request.McpServerCreate) error { BaseURL: create.BaseURL, SsePath: create.SsePath, Dir: mcpDir, + HostIP: create.HostIP, } if err := handleCreateParams(mcpServer, create.Environments, create.Volumes); err != nil { return err @@ -616,6 +618,8 @@ func syncMcpServerContainerStatus(mcpServer *model.McpServer) error { mcpServer.Status = constant.RuntimeRunning case "paused": mcpServer.Status = constant.RuntimeStopped + case "restarting": + mcpServer.Status = constant.RuntimeReStarting default: if mcpServer.Status != constant.RuntimeBuildIng { mcpServer.Status = constant.RuntimeStopped diff --git a/backend/constant/runtime.go b/backend/constant/runtime.go index 97dffda64..e7242d60a 100644 --- a/backend/constant/runtime.go +++ b/backend/constant/runtime.go @@ -13,6 +13,7 @@ const ( RuntimeStopped = "stopped" RuntimeUnhealthy = "unhealthy" RuntimeCreating = "creating" + RuntimeReStarting = "restarting" RuntimePHP = "php" RuntimeNode = "node" diff --git a/frontend/src/views/ai/mcp/server/index.vue b/frontend/src/views/ai/mcp/server/index.vue index 826c46115..25e6cd065 100644 --- a/frontend/src/views/ai/mcp/server/index.vue +++ b/frontend/src/views/ai/mcp/server/index.vue @@ -58,7 +58,9 @@ @click="openLog(row)" link type="primary" - :disabled="row.status !== 'running' && row.status !== 'error'" + :disabled=" + row.status !== 'running' && row.status !== 'error' && row.status !== 'restarting' + " > {{ $t('website.check') }}