Skip to main content
Glama

Visum Thinker MCP Server

MIT License
visum-server.mjsโ€ข3.66 kB
// SERVER PERMANENTE VISUM // Questo server rimane attivo permanentemente in background // per servire richieste da client esterni import { PersistentVisumController } from './build/persistent-visum-controller.js'; import { writeFileSync } from 'fs'; console.log('๐Ÿ—๏ธ VISUM SERVER PERMANENTE'); console.log('=' .repeat(50)); console.log('โš ๏ธ QUESTO SERVER RIMANE ATTIVO FINO A Ctrl+C'); console.log('=' .repeat(50)); const SERVER_INFO_FILE = 'visum-server-info.json'; async function startPermanentServer() { const controller = PersistentVisumController.getInstance(); try { console.log('๐Ÿš€ Avvio server Visum permanente...'); // Avvia l'istanza Visum persistente const result = await controller.startPersistentVisumProcess(); if (result.success) { console.log('โœ… SERVER VISUM ATTIVO!'); console.log(`๐Ÿ“Š Network: ${result.nodes} nodi, ${result.links} link, ${result.zones} zone`); // Salva informazioni server per i client const serverInfo = { pid: process.pid, startTime: Date.now(), startTimeString: new Date().toLocaleString('it-IT'), nodes: result.nodes, links: result.links, zones: result.zones, status: 'active', project: 'Campoleone' }; writeFileSync(SERVER_INFO_FILE, JSON.stringify(serverInfo, null, 2)); console.log(`๐Ÿ“ Info server salvate in ${SERVER_INFO_FILE}`); console.log('\\n๐ŸŸข SERVER IN ASCOLTO'); console.log('๐Ÿ“ก Il server รจ ora pronto per ricevere comandi dai client'); console.log('๐Ÿ”— I client possono connettersi usando PersistentVisumController.getInstance()'); console.log('โšก Risposte ultra-veloci garantite (0-16ms)'); console.log('\\n๐Ÿ“‹ COMANDI:'); console.log(' โ€ข Ctrl+C per fermare il server'); console.log(' โ€ข node visum-client.mjs per testare connessione client'); // Test periodici per mantenere viva la connessione let pingCount = 0; const pingInterval = setInterval(async () => { try { pingCount++; const pingResult = await controller.executeCustomCode(` result = { 'server_ping': ${pingCount}, 'nodes': visum.Net.Nodes.Count, 'timestamp': time.time(), 'uptime_minutes': ${pingCount * 2} } `, `Server Ping #${pingCount}`); if (pingResult.success) { const uptime = Math.floor(pingCount * 2); console.log(`๐Ÿ”” Server attivo - Ping #${pingCount} - Uptime: ${uptime} min - ${new Date().toLocaleTimeString()}`); } else { console.error('โš ๏ธ Ping server fallito:', pingResult.error); } } catch (error) { console.error('โš ๏ธ Errore ping server:', error.message); } }, 120000); // Ping ogni 2 minuti // Gestione Ctrl+C per shutdown pulito process.on('SIGINT', () => { console.log('\\n๐Ÿ›‘ Ricevuto segnale di arresto...'); console.log('๐Ÿ”„ Shutdown server in corso...'); clearInterval(pingInterval); // Aggiorna status server serverInfo.status = 'shutting_down'; serverInfo.shutdownTime = Date.now(); writeFileSync(SERVER_INFO_FILE, JSON.stringify(serverInfo, null, 2)); console.log('โœ… Server Visum arrestato'); process.exit(0); }); } else { console.error(`โŒ Errore avvio server: ${result.message}`); process.exit(1); } } catch (error) { console.error('โŒ Errore critico server:', error.message); process.exit(1); } } startPermanentServer();

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/multiluca2020/visum-thinker-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server