fix: delete description

This commit is contained in:
WangCham
2025-10-24 20:37:48 +08:00
parent 075091ed06
commit 72ca62eae4
4 changed files with 34 additions and 31 deletions

View File

@@ -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()

View File

@@ -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={})

View File

@@ -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<typeof formSchema>) {
const extraArgsObj: Record<string, string | number | boolean> = {};
@@ -895,6 +900,7 @@ export default function PluginConfigPage() {
}
}}
>
<DialogContent>
<DialogHeader>
<DialogTitle>

View File

@@ -319,6 +319,7 @@ export interface ApiRespMCPServer {
}
export interface MCPServer {
extra_args: any;
name: string;
mode: 'stdio' | 'sse';
enable: boolean;