nmp-plus-mcp
Version:
NMP Plus MCP Server - 36 команд через HTTP API (Stdout Fix)
46 lines (38 loc) • 1.5 kB
JavaScript
const { spawn } = require('child_process');
const path = require('path');
// Путь к Python серверу
const pythonServerPath = path.join(__dirname, 'nmp_mcp_server_complete.py');
// Используем системный python3 вместо локального
const pythonPath = 'python3';
// ВАЖНО: всё дополнительное логирование выводим в stderr,
// чтобы не нарушать JSON-протокол MCP, который идёт по stdout
console.error('🧠 Запуск NMP MCP Server...');
console.error(`Python: ${pythonPath}`);
console.error(`Server: ${pythonServerPath}`);
// Запускаем Python сервер
const pythonProcess = spawn(pythonPath, [pythonServerPath], {
stdio: ['inherit', 'inherit', 'inherit'],
env: {
...process.env,
PYTHONPATH: path.join(__dirname, 'venv_py311', 'lib', 'python3.11', 'site-packages')
}
});
// Обработка сигналов
process.on('SIGINT', () => {
console.error('\n🛑 Остановка NMP сервера...');
pythonProcess.kill('SIGINT');
process.exit(0);
});
process.on('SIGTERM', () => {
pythonProcess.kill('SIGTERM');
process.exit(0);
});
pythonProcess.on('close', (code) => {
console.error(`🧠 NMP сервер завершен с кодом ${code}`);
process.exit(code);
});
pythonProcess.on('error', (err) => {
console.error('❌ Ошибка запуска NMP сервера:', err);
process.exit(1);
});