mirror of
https://github.com/samanhappy/mcphub.git
synced 2025-12-24 02:39:19 -05:00
refactor: update addServer function to return detailed success messages; clean up whitespace in index.ts
This commit is contained in:
18
src/index.ts
18
src/index.ts
@@ -2,7 +2,13 @@ import express, { Request, Response } from 'express';
|
||||
import dotenv from 'dotenv';
|
||||
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
||||
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
||||
import { registerAllTools, getServersInfo, getServersSettings, addServer, removeServer } from './server.js';
|
||||
import {
|
||||
registerAllTools,
|
||||
getServersInfo,
|
||||
getServersSettings,
|
||||
addServer,
|
||||
removeServer,
|
||||
} from './server.js';
|
||||
import path from 'path';
|
||||
|
||||
dotenv.config();
|
||||
@@ -48,7 +54,7 @@ app.get('/api/settings', (req: Request, res: Response) => {
|
||||
// API endpoint to add a new server
|
||||
app.post('/api/servers', async (req: Request, res: Response) => {
|
||||
const { name, config } = req.body;
|
||||
|
||||
|
||||
if (!name || typeof name !== 'string') {
|
||||
return res.status(400).json({ success: false, message: 'Server name is required' });
|
||||
}
|
||||
@@ -65,18 +71,18 @@ app.post('/api/servers', async (req: Request, res: Response) => {
|
||||
});
|
||||
}
|
||||
|
||||
const success = await addServer(server, name, config);
|
||||
const { success, message } = await addServer(server, name, config);
|
||||
if (success) {
|
||||
res.json({ success: true, message: 'Server added successfully' });
|
||||
} else {
|
||||
res.status(400).json({ success: false, message: 'Failed to add server' });
|
||||
res.status(400).json({ success: false, message: message || 'Failed to add server' });
|
||||
}
|
||||
});
|
||||
|
||||
// API endpoint to remove a server
|
||||
app.delete('/api/servers/:name', async (req: Request, res: Response) => {
|
||||
const { name } = req.params;
|
||||
|
||||
|
||||
if (!name) {
|
||||
return res.status(400).json({ success: false, message: 'Server name is required' });
|
||||
}
|
||||
@@ -88,7 +94,7 @@ app.delete('/api/servers/:name', async (req: Request, res: Response) => {
|
||||
version: '0.0.1',
|
||||
});
|
||||
await registerAllTools(server);
|
||||
|
||||
|
||||
res.json({ success: true, message: 'Server removed successfully' });
|
||||
} else {
|
||||
res.status(404).json({ success: false, message: 'Server not found or failed to remove' });
|
||||
|
||||
@@ -179,17 +179,17 @@ export async function addServer(
|
||||
mcpServer: McpServer,
|
||||
name: string,
|
||||
config: { url?: string; command?: string; args?: string[]; env?: Record<string, string> },
|
||||
): Promise<boolean> {
|
||||
): Promise<{ success: boolean; message?: string }> {
|
||||
try {
|
||||
const settings = loadSettings();
|
||||
if (settings.mcpServers[name]) {
|
||||
return false;
|
||||
return { success: false, message: 'Server name already exists' };
|
||||
}
|
||||
|
||||
settings.mcpServers[name] = config;
|
||||
|
||||
if (!saveSettings(settings)) {
|
||||
return false;
|
||||
return { success: false, message: 'Failed to save settings' };
|
||||
}
|
||||
|
||||
const result = initializeClientsFromSettings();
|
||||
@@ -199,10 +199,10 @@ export async function addServer(
|
||||
|
||||
await registerAllTools(mcpServer);
|
||||
|
||||
return true;
|
||||
return { success: true, message: 'Server added successfully' };
|
||||
} catch (error) {
|
||||
console.error(`Failed to add server: ${name}`, error);
|
||||
return false;
|
||||
return { success: false, message: 'Failed to add server' };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user