Skip to main content
Glama

Visum Thinker MCP Server

MIT License
prt-modes-simple.js•2.9 kB
import net from 'net'; const pythonCode = ` import sys print("TSys PRT e Modes - Versione semplice", file=sys.stderr) print("=" * 60, file=sys.stderr) try: # Lista TSys PRT prt_tsys = [] all_tsys = visum.Net.TSystems.GetAll print(f"\\nTotale TSys: {len(all_tsys)}", file=sys.stderr) for tsys in all_tsys: code = tsys.AttValue("CODE") tsys_type = tsys.AttValue("TYPE") if tsys_type == "PRT": prt_tsys.append(code) print(f" PRT: {code}", file=sys.stderr) print(f"\\nTSys PRT trovati: {prt_tsys}", file=sys.stderr) # Ora per ogni TSys PRT, cerca MODECODE tsys_modes = {} for tsys_code in prt_tsys: tsys_obj = visum.Net.TSystems.ItemByKey(tsys_code) mode = None try: mode = tsys_obj.AttValue("MODECODE") except: try: mode = tsys_obj.AttValue("MODE") except: mode = None tsys_modes[tsys_code] = mode print(f"{tsys_code} -> Mode: {mode}", file=sys.stderr) result = { "status": "ok", "prt_tsys": prt_tsys, "tsys_modes": tsys_modes } except Exception as e: print(f"ERRORE: {e}", file=sys.stderr) import traceback traceback.print_exc(file=sys.stderr) result = {"status": "error", "error": str(e)} `; const client = new net.Socket(); let welcomeReceived = false; console.log('šŸ” TSys PRT e Modes (semplice)'); console.log('='.repeat(60)); client.connect(7905, '::1', () => { console.log('āœ… Connesso\n'); }); client.on('data', (data) => { const response = JSON.parse(data.toString()); if (!welcomeReceived && response.type === 'project_welcome') { welcomeReceived = true; const request = { type: 'query', requestId: Date.now(), description: 'TSys PRT modes simple', code: pythonCode }; client.write(JSON.stringify(request) + '\n'); } else { if (response.success) { const res = response.result; if (res.status === 'ok') { console.log('\nāœ… TSys PRT:'); res.prt_tsys.forEach(t => console.log(` - ${t}`)); console.log('\nšŸ“Š TSys → Mode:'); for (const [tsys, mode] of Object.entries(res.tsys_modes)) { console.log(` ${tsys} → ${mode || 'N/A'}`); } } else { console.log(`\nāŒ ${res.error}`); } } else { console.log('āŒ', response.error); } console.log(`\nā±ļø ${response.executionTimeMs}ms`); client.destroy(); } }); client.on('close', () => console.log('\nšŸ”Œ Chiuso')); client.on('error', (err) => console.error('āŒ', err.message));

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