import { defineEventHandler, readBody, setResponseHeaders } from 'h3'; import { startMcpHttpServer, stopMcpHttpServer } from '../../utils/mcp-server-manager'; const MCP_DEFAULT_PORT = 3100; interface PostBody { action: 'start' | 'stop'; port?: number; } /** POST /api/mcp/server — Start or stop the standalone MCP HTTP server. */ export default defineEventHandler(async (event) => { setResponseHeaders(event, { 'Content-Type': 'application/json' }); const body = await readBody(event); if (!body?.action || !['start', 'stop'].includes(body.action)) { return { error: 'Invalid action. Use "start" or "stop".' }; } if (body.action === 'start') { const port = body.port ?? MCP_DEFAULT_PORT; return startMcpHttpServer(port); } return stopMcpHttpServer(); });