Skip to main content
Glama

Visum Thinker MCP Server

MIT License
SESSION_2025-10-10_SUMMARY.mdโ€ข5.73 kB
# Session Summary - 2025-10-10: Visum Procedures API Discovery ## ๐ŸŽฏ Obiettivo Raggiunto Abbiamo **scoperto e documentato** l'API corretta per creare procedure Visum e **implementato un tool MCP riutilizzabile**. ## โœ… Cosa Abbiamo Fatto ### 1. Scoperta API Corretta **Problema iniziale:** - Tentavi di usare `visum.Procedures.ProcedureSequence` โ†’ NON ESISTE - Tentavi di usare `visum.Procedures.Functions.PrTAssignmentBPR` โ†’ NON FUNZIONA **Soluzione trovata:** ```python # API CORRETTA (verificata 2025-10-10) new_op = visum.Procedures.Operations.AddOperation(20) new_op.SetAttValue("OPERATIONTYPE", 101) # 101 = PrT Assignment ``` ### 2. Comando JSON MCP Funzionante ```bash echo '{"jsonrpc":"2.0","id":50,"method":"tools/call","params":{"name":"visum_create_procedure","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","procedureType":"PrT_Assignment","position":20}}}' | node build/index.js ``` **Output:** ``` โœ… Procedura Visum Creata Tipo: PrT_Assignment Posizione: 20 Codice Operazione: 101 Verificata: โœ… Sรฌ ``` ### 3. Tool MCP Creato **Nome tool:** `visum_create_procedure` **Parametri:** - `projectId`: ID del progetto Visum attivo - `procedureType`: "PrT_Assignment" | "PuT_Assignment" | "Demand_Model" | "Matrix_Calculation" - `position`: Posizione dove inserire (1-20, default: 20) - `parameters`: Parametri opzionali (numIterations, precisionDemand, etc.) **Esempio uso:** ```json { "name": "visum_create_procedure", "arguments": { "projectId": "100625_Versione_base_v0.3_sub_ok_priv_10176442", "procedureType": "PrT_Assignment", "position": 20, "parameters": { "numIterations": 50, "precisionDemand": 0.01 } } } ``` ### 4. Documentazione Completa **File creati:** - `VISUM_PROCEDURES_API.md` - Guida completa API Visum - `.github/copilot-instructions.md` - Aggiornato con nuovo tool - `src/index.ts` - Tool implementato **Contenuto documentazione:** - โœ… Comandi verificati e funzionanti - โœ… Tabella tipi di operazioni (OPERATIONTYPE codes) - โœ… Errori comuni e soluzioni - โœ… Pattern per creare altre operazioni - โœ… Riferimenti a file di esempio ## ๐Ÿ“‹ Tipi di Operazioni Supportate | Codice | Tipo | Status | |--------|------|--------| | 101 | PrT Assignment | โœ… Testato | | 102 | PuT Assignment | ๐Ÿ“ Documentato | | 103 | Demand Model | ๐Ÿ“ Documentato | | 104 | Matrix Calculation | ๐Ÿ“ Documentato | ## ๐Ÿš€ Come Usare in Futuro ### Metodo 1: Via tool MCP (Raccomandato) ```bash echo '{"jsonrpc":"2.0","id":N,"method":"tools/call","params":{"name":"visum_create_procedure","arguments":{"projectId":"PROJECT_ID","procedureType":"PrT_Assignment"}}}' | node build/index.js ``` ### Metodo 2: Via project_execute ```bash echo '{"jsonrpc":"2.0","id":N,"method":"tools/call","params":{"name":"project_execute","arguments":{"projectId":"PROJECT_ID","code":"new_op = visum.Procedures.Operations.AddOperation(20); new_op.SetAttValue(\"OPERATIONTYPE\", 101); result = {\"status\": \"ok\"}","description":"Create procedure"}}}' | node build/index.js ``` ### Metodo 3: Script Python diretto ```python import win32com.client visum = win32com.client.Dispatch("Visum.Visum.2501") visum.LoadVersion(r"path\to\project.ver") # Crea procedura new_op = visum.Procedures.Operations.AddOperation(20) new_op.SetAttValue("OPERATIONTYPE", 101) ``` ## ๐Ÿ’ก Pattern Riutilizzabile Per creare **altri tipi di procedure** (Demand Model, Matrix Calc, ecc.): 1. Identifica il codice OPERATIONTYPE (vedi tabella) 2. Usa il tool `visum_create_procedure` con il tipo appropriato 3. Configura parametri specifici tramite l'argomento `parameters` **Esempio per PuT Assignment:** ```bash echo '{"jsonrpc":"2.0","id":60,"method":"tools/call","params":{"name":"visum_create_procedure","arguments":{"projectId":"PROJECT_ID","procedureType":"PuT_Assignment","position":19}}}' | node build/index.js ``` ## ๐Ÿ“š Risorse Create 1. **VISUM_PROCEDURES_API.md** - Documentazione API completa 2. **visum_create_procedure tool** - Tool MCP riutilizzabile 3. **create-complete-prt-procedure.js** - Script di esempio funzionante 4. **copilot-instructions.md** - Istruzioni aggiornate ## โœจ Benefici - โœ… **API verificata** - Non piรน tentativi ed errori - โœ… **Tool riutilizzabile** - Funziona per tutti i tipi di procedure - โœ… **Documentato** - Non dimenticheremo piรน come fare - โœ… **Estensibile** - Pattern chiaro per aggiungere altre operazioni - โœ… **Testato** - Comando funzionante con output verificato ## ๐ŸŽ“ Lezioni Apprese 1. **L'API Visum non รจ intuitiva** - `ProcedureSequence` non esiste in `visum.Procedures` - `Functions` esiste ma non ha metodi diretti - La via corretta รจ `Operations.AddOperation()` 2. **La documentazione va costruita incrementalmente** - Testare comandi uno alla volta - Documentare successi E fallimenti - Creare pattern riutilizzabili 3. **I tool MCP sono la via migliore** - Incapsulano la complessitร  - Forniscono interfaccia pulita - Riutilizzabili in futuro ## ๐Ÿ”ฎ Prossimi Passi Possibili - [ ] Testare altri tipi di operazioni (102, 103, 104) - [ ] Documentare parametri specifici per ciascun tipo - [ ] Creare tool per configurare DSEGSET (demand segments) - [ ] Aggiungere supporto per VDF (Volume Delay Functions) - [ ] Creare tool per eseguire procedure esistenti ## ๐Ÿ“ž Riferimento Rapido **Server MCP attivo:** Porto 7909 **Project ID corrente:** `100625_Versione_base_v0.3_sub_ok_priv_10176442` **Tool principale:** `visum_create_procedure` **Documentazione:** `VISUM_PROCEDURES_API.md` --- **Data:** 2025-10-10 **Status:** โœ… COMPLETATO E DOCUMENTATO **Next session:** Usa tool `visum_create_procedure` - รจ pronto e funzionante!

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