fix: sort server information by enabled status in getServersInfo

This commit is contained in:
samanhappy
2025-04-15 09:41:20 +08:00
parent 51289b8ca8
commit f94acb8bef

View File

@@ -177,7 +177,7 @@ export const registerAllTools = async (server: McpServer, forceInit: boolean): P
// Get all server information // Get all server information
export const getServersInfo = (): Omit<ServerInfo, 'client' | 'transport'>[] => { export const getServersInfo = (): Omit<ServerInfo, 'client' | 'transport'>[] => {
const settings = loadSettings(); const settings = loadSettings();
return serverInfos.map(({ name, status, tools, createTime }) => { const infos = serverInfos.map(({ name, status, tools, createTime }) => {
const serverConfig = settings.mcpServers[name]; const serverConfig = settings.mcpServers[name];
const enabled = serverConfig ? (serverConfig.enabled !== false) : true; const enabled = serverConfig ? (serverConfig.enabled !== false) : true;
return { return {
@@ -188,6 +188,11 @@ export const getServersInfo = (): Omit<ServerInfo, 'client' | 'transport'>[] =>
enabled, enabled,
}; };
}); });
infos.sort((a, b) => {
if (a.enabled === b.enabled) return 0;
return a.enabled ? -1 : 1;
});
return infos;
}; };
// Get server information by name // Get server information by name