refactor: enhance server management by adding McpServer re-creation and initialization after server removal

This commit is contained in:
samanhappy
2025-04-04 00:16:30 +08:00
parent 4ab7ad28e0
commit 2e33026151
2 changed files with 55 additions and 6 deletions

View File

@@ -173,7 +173,10 @@ export const addServer = async (
};
// Remove server
export const removeServer = (name: string): { success: boolean; message?: string } => {
export const removeServer = (
name: string,
mcpServer?: McpServer
): { success: boolean; message?: string } => {
try {
const settings = loadSettings();
@@ -197,6 +200,14 @@ export const removeServer = (name: string): { success: boolean; message?: string
// Remove from list
serverInfos = serverInfos.filter((serverInfo) => serverInfo.name !== name);
// Re-create and initialize the McpServer if provided
if (mcpServer) {
console.log(`Re-initializing McpServer after removing ${name}`);
registerAllTools(mcpServer).catch(error => {
console.error(`Error re-initializing McpServer after removing ${name}:`, error);
});
}
return { success: true, message: 'Server removed successfully' };
} catch (error) {
console.error(`Failed to remove server: ${name}`, error);