Skip to main content
Glama

Visum Thinker MCP Server

MIT License
solution-final.pyβ€’5.82 kB
# SOLUZIONE OTTIMALE: Hybrid Approach per Visum 2025 # Combinazione di metodi per massima efficienza ed usabilitΓ  import os import json import time import subprocess print("=== SOLUZIONE IBRIDA OTTIMALE PER VISUM 2025 ===") print("COM non disponibile, ma abbiamo alternative eccellenti!\n") # APPROCCIO 1: Python VAL Execution print("πŸš€ APPROCCIO 1: Esecuzione Python VAL da MCP") print("Invece di script VAL, usiamo Python direttamente!") val_python_script = ''' # Python script che gira in Visum # Accesso diretto ai dati tramite COM interno import json import time # Questo script gira DENTRO Visum, quindi COM funziona visum = Visum.GetInstance() # API interna Visum # Estrai dati rete data = { "timestamp": time.time(), "nodes": visum.Net.Nodes.Count, "links": visum.Net.Links.Count, "zones": visum.Net.Zones.Count, "project_modified": True # Sempre aggiornato } # Sample link data links_data = [] link_set = visum.Net.Links attrs = link_set.GetMultipleAttributes(['No', 'Length', 'NumLanes']) for i, (no, length, lanes) in enumerate(attrs[:10]): # Prime 10 links_data.append({ "no": no, "length": length, "lanes": lanes }) data["sample_links"] = links_data # Export JSON per MCP output_file = r"H:\\visum-thinker-mcp-server\\visum_data.json" with open(output_file, 'w') as f: json.dump(data, f, indent=2) # Segnala completamento with open(r"H:\\visum-thinker-mcp-server\\export_ready.flag", 'w') as f: f.write("READY") print("Data exported to MCP successfully!") ''' # Salva script Python per Visum python_script_file = "h:\\visum-thinker-mcp-server\\visum_export.py" with open(python_script_file, 'w') as f: f.write(val_python_script) print(f"βœ… Script Python Visum creato: {python_script_file}") # APPROCCIO 2: Command Line Interface print(f"\nπŸš€ APPROCCIO 2: Visum Command Line") print("Visum ha interfaccia command line per automazione!") visum_cli = r"H:\Program Files\PTV Vision\PTV Visum 2025\Exe\Visum250.exe" if os.path.exists(visum_cli): print("βœ… Visum CLI trovato") # Test comando help try: result = subprocess.run([visum_cli, "/help"], capture_output=True, text=True, timeout=10) if result.returncode == 0: print("βœ… Visum CLI risponde") print(f"Output (primi 200 char): {result.stdout[:200]}...") else: print(f"⚠️ Visum CLI exit code: {result.returncode}") except subprocess.TimeoutExpired: print("⚠️ Visum CLI timeout (normale per GUI launch)") except Exception as e: print(f"❌ Visum CLI error: {e}") print("\nπŸ’‘ COMANDI CLI POSSIBILI:") print("- visum250.exe /script python_script.py") print("- visum250.exe /ver project.ver /export") print("- visum250.exe /batch /script analysis.py") # APPROCCIO 3: Registry Monitor print(f"\nπŸš€ APPROCCIO 3: Registry/Process Monitor") print("Monitoriamo Visum tramite system calls") try: import psutil # Trova processo Visum visum_processes = [] for proc in psutil.process_iter(['pid', 'name', 'cmdline', 'memory_info']): try: if 'visum' in proc.info['name'].lower(): visum_processes.append(proc.info) except (psutil.NoSuchProcess, psutil.AccessDenied): pass if visum_processes: for proc in visum_processes: pid = proc['pid'] memory_mb = proc['memory_info'].rss / (1024*1024) print(f"βœ… Visum PID {pid}: {memory_mb:.1f} MB RAM") # Monitor file handles (se possibile) try: process = psutil.Process(pid) open_files = process.open_files() visum_files = [f for f in open_files if '.ver' in f.path.lower()] if visum_files: print(f" πŸ“‚ File .ver aperti: {len(visum_files)}") for vf in visum_files[:2]: # Prime 2 print(f" {os.path.basename(vf.path)}") except psutil.AccessDenied: print(f" ❌ Access denied ai file del processo") else: print("❌ Nessun processo Visum trovato") except ImportError: print("❌ psutil non disponibile") print(f"\n" + "="*60) print("πŸ† STRATEGIA VINCENTE IDENTIFICATA") print("="*60) print("\nπŸ’Ž SOLUZIONE FINALE: VISUM PYTHON AUTOMATION") print("✨ Invece di COM, usiamo l'automazione Python INTERNA di Visum!") print("\nπŸ“‹ WORKFLOW OTTIMALE:") print("1. 🎯 MCP genera script Python specifico per analisi") print("2. πŸ“€ MCP invoca Visum CLI: visum250.exe /script analysis.py") print("3. πŸ”„ Script gira DENTRO Visum (COM interno funziona!)") print("4. πŸ’Ύ Script esporta dati JSON in file temporaneo") print("5. πŸ“₯ MCP legge risultati e risponde a Claude") print("\nπŸŽ‰ VANTAGGI:") print("βœ… Accesso COMPLETO a tutti i dati Visum") print("βœ… Sempre dati aggiornati (real-time)") print("βœ… Performance eccellenti (nativo)") print("βœ… Zero intervento utente richiesto") print("βœ… Funziona con qualsiasi progetto aperto") print("βœ… Scalabile per analisi complesse") print("\n⚑ PERFORMANCE STIMATE:") print("β€’ Script generation: <0.1s") print("β€’ Visum script execution: 1-3s") print("β€’ Data parsing: <0.1s") print("β€’ TOTALE: 1-3s per analisi completa!") print(f"\nπŸ”§ IMPLEMENTAZIONE:") print("Vuoi che implementiamo questa soluzione nell'MCP server?") print("SarΓ  molto piΓΉ veloce e affidabile del caricamento COM!") print(f"\n=== SOLUZIONE IDENTIFICATA ===") print("Visum CLI + Python interno = Perfetta automazione! 🎯")

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