Skip to main content
Glama

Visum Thinker MCP Server

MIT License
test-optimized-server.mjs4.28 kB
// Test del server MCP ottimizzato import { spawn } from 'child_process'; console.log("🚀 TEST SERVER MCP OTTIMIZZATO"); console.log("═".repeat(45)); async function testOptimizedServer(toolName) { console.log(`\n🛠️ TESTING: ${toolName}`); console.log("-".repeat(35)); const request = { jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: toolName, arguments: {} } }; console.log("📤 Sending request..."); const server = spawn('node', ['optimized-visum-mcp.mjs'], { stdio: ['pipe', 'pipe', 'pipe'] }); let response = ''; let serverReady = false; server.stdout.on('data', (data) => { const text = data.toString(); response += text; console.log("📥 Response:", text.trim()); }); server.stderr.on('data', (data) => { const text = data.toString(); console.log("🔧 Server log:", text.trim()); if (text.includes('ready for Claude')) { serverReady = true; } }); return new Promise((resolve) => { // Wait for server to be ready, then send request setTimeout(() => { if (serverReady) { console.log("✅ Server ready, sending request..."); server.stdin.write(JSON.stringify(request) + '\n'); } }, 2000); // Extended timeout for response const timeout = setTimeout(() => { console.log("⏱️ Test timeout - terminating"); server.kill(); resolve({ success: false, error: 'Test timeout', response: response }); }, 35000); // 35 second timeout server.on('close', (code) => { clearTimeout(timeout); console.log(`🏁 Server closed with code: ${code}`); // Parse JSON response const jsonMatch = response.match(/\{"jsonrpc"[^}]*\}/); let parsedResponse = null; if (jsonMatch) { try { parsedResponse = JSON.parse(jsonMatch[0]); console.log("✅ Valid JSON response received"); } catch (e) { console.log("❌ JSON parse error:", e.message); } } resolve({ success: parsedResponse && !parsedResponse.error, response: parsedResponse, fullOutput: response, code: code }); }); }); } async function runOptimizedTest() { console.log("🎯 Starting optimized MCP server test...\n"); // Test 1: Status check (fastest) console.log("═".repeat(45)); console.log("📊 TEST 1: Status Check"); const statusResult = await testOptimizedServer('get_visum_status'); console.log("\n📋 RISULTATO STATUS:"); if (statusResult.success) { console.log("✅ STATUS OK - Visum status retrieved successfully"); } else { console.log("❌ STATUS FAILED:", statusResult.error); } // Brief pause between tests await new Promise(r => setTimeout(r, 3000)); // Test 2: COM check console.log("\n" + "═".repeat(45)); console.log("📊 TEST 2: COM Interface Check"); const comResult = await testOptimizedServer('check_visum'); console.log("\n📋 RISULTATO COM:"); if (comResult.success) { console.log("✅ COM OK - Visum COM interface accessible"); } else { console.log("❌ COM FAILED:", comResult.error); } // Final assessment console.log("\n" + "═".repeat(45)); console.log("🎯 RISULTATO FINALE"); console.log("═".repeat(45)); if (statusResult.success && comResult.success) { console.log("🎉 🏆 SUCCESSO COMPLETO!"); console.log(" ✅ Server MCP ottimizzato funzionante"); console.log(" ✅ Visum accessibile via MCP"); console.log(" ✅ Timeout estesi sufficienti"); console.log(" ✅ Comunicazione stabile"); console.log("\n🚀 PRONTO PER CLAUDE!"); console.log(" Il server può essere utilizzato con sicurezza"); } else if (statusResult.success || comResult.success) { console.log("⚠️ 🔧 SUCCESSO PARZIALE"); console.log(" - Alcuni test passati, altri no"); console.log(" - Necessari ulteriori aggiustamenti"); } else { console.log("❌ 🔧 NECESSARI ULTERIORI MIGLIORAMENTI"); console.log(" - Timeout ancora insufficienti"); console.log(" - Problemi di comunicazione persistenti"); } } runOptimizedTest().catch(console.error);

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