From 72ca62eae4b9e37b9744e7942b9dde748806430e Mon Sep 17 00:00:00 2001 From: WangCham <651122857@qq.com> Date: Fri, 24 Oct 2025 20:37:48 +0800 Subject: [PATCH] fix: delete description --- pkg/api/http/controller/groups/mcp.py | 3 -- pkg/entity/persistence/mcp.py | 1 - web/src/app/home/plugins/page.tsx | 60 ++++++++++++++----------- web/src/app/infra/entities/api/index.ts | 1 + 4 files changed, 34 insertions(+), 31 deletions(-) diff --git a/pkg/api/http/controller/groups/mcp.py b/pkg/api/http/controller/groups/mcp.py index 01f91f1d..9d85925a 100644 --- a/pkg/api/http/controller/groups/mcp.py +++ b/pkg/api/http/controller/groups/mcp.py @@ -83,7 +83,6 @@ class MCPRouterGroup(group.RouterGroup): 'name': data['name'], 'mode': 'sse', 'enable': data.get('enable', False), - 'description': data.get('description',''), 'extra_args': { 'url':data.get('url',''), 'headers':data.get('headers',{}), @@ -118,7 +117,6 @@ class MCPRouterGroup(group.RouterGroup): data = await quart.request.json update_data = { 'enable': data.get('enable', server.enable), - 'description': data.get('description', server.description), } extra_args = server.extra_args or {} @@ -175,7 +173,6 @@ class MCPRouterGroup(group.RouterGroup): 'name': server.name, 'mode': server.mode, 'enable': server.enable, - 'description': server.description, 'extra_args': server.extra_args or {}, }, self.ap) await session.initialize() diff --git a/pkg/entity/persistence/mcp.py b/pkg/entity/persistence/mcp.py index 8f2869f3..74478dc7 100644 --- a/pkg/entity/persistence/mcp.py +++ b/pkg/entity/persistence/mcp.py @@ -8,7 +8,6 @@ class MCPServer(Base): uuid = sqlalchemy.Column(sqlalchemy.String(255), primary_key=True, unique=True) name = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) - description = sqlalchemy.Column(sqlalchemy.Text, nullable=True) enable = sqlalchemy.Column(sqlalchemy.Boolean, nullable=False, default=False) mode = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) # stdio, sse extra_args = sqlalchemy.Column(sqlalchemy.JSON, nullable=False, default={}) diff --git a/web/src/app/home/plugins/page.tsx b/web/src/app/home/plugins/page.tsx index 38f70b85..5fe06c4c 100644 --- a/web/src/app/home/plugins/page.tsx +++ b/web/src/app/home/plugins/page.tsx @@ -396,39 +396,44 @@ export default function PluginConfigPage() { } } - // 加载服务器数据用于编辑 async function loadServerForEdit(serverName: string) { - try { - const resp = await httpClient.getMCPServer(serverName); - const server = resp.server; + try { + const resp = await httpClient.getMCPServer(serverName); + const server = resp.server ?? resp; // 有的接口包了一层,有的直接返回对象 - // 填充表单数据 - form.setValue('name', server.name); - form.setValue('url', server.config.url || ''); - form.setValue('timeout', server.config.timeout || 30); - form.setValue('ssereadtimeout', 300); // 默认值,如果后端有返回则使用后端的 + console.log('Loaded server for edit:', server); - // 填充 headers 作为 extra_args - if (server.config.headers) { - const headers = Object.entries(server.config.headers).map( - ([key, value]) => ({ - key, - type: 'string' as const, - value: String(value), - }), - ); - setExtraArgs(headers); - form.setValue('extra_args', headers); - } + // 填充表单数据 + form.setValue('name', server.name); + form.setValue('url', server.extra_args?.url || ''); + form.setValue('timeout', server.extra_args?.timeout || 30); + form.setValue('ssereadtimeout', 300); - setEditingServerName(serverName); - setIsEditMode(true); - setMcpSSEModalOpen(true); - } catch (error) { - console.error('Failed to load server:', error); - toast.error(t('mcp.loadFailed')); + // 填充 headers + if (server.extra_args?.headers) { + const headers = Object.entries(server.extra_args.headers).map( + ([key, value]) => ({ + key, + type: 'string' as const, + value: String(value), + }), + ); + setExtraArgs(headers); + form.setValue('extra_args', headers); } + + //在这里返回mcp里的tools + const tools = await httpClient.getMCPTools(server.name); + + setEditingServerName(serverName); + setIsEditMode(true); + setMcpSSEModalOpen(true); + } catch (error) { + console.error('Failed to load server:', error); + toast.error(t('mcp.loadFailed')); } +} + async function handleFormSubmit(value: z.infer) { const extraArgsObj: Record = {}; @@ -895,6 +900,7 @@ export default function PluginConfigPage() { } }} > + diff --git a/web/src/app/infra/entities/api/index.ts b/web/src/app/infra/entities/api/index.ts index cda8c7ba..c8252385 100644 --- a/web/src/app/infra/entities/api/index.ts +++ b/web/src/app/infra/entities/api/index.ts @@ -319,6 +319,7 @@ export interface ApiRespMCPServer { } export interface MCPServer { + extra_args: any; name: string; mode: 'stdio' | 'sse'; enable: boolean;