Skip to main content
Glama

visum_launch_project

Open a Visum project file to enable structured sequential thinking for breaking down complex problems into manageable steps.

Instructions

⚠️ DEPRECATED: Use 'project_open' tool instead. This tool is obsolete and slower than the new TCP-based project_open tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectPathYesFull path to the Visum project file (.ver)

Implementation Reference

  • The handler function for the 'visum_launch_project' tool. It executes VisumPy code to load a specific Visum project (.ver file), retrieves basic network statistics, and returns formatted success or error messages.
      async ({ projectPath }) => {
        try {
          const result = await visumController.executeVisumAnalysis(
            `# Load specific Visum project
    import time
    try:
        start_time = time.time()
        visum.LoadVersion(r"${projectPath}")
        load_time = time.time() - start_time
        
        # Get basic network info
        num_nodes = visum.Net.Nodes.Count
        num_links = visum.Net.Links.Count  
        num_zones = visum.Net.Zones.Count
        
        result = {
            'project_path': r"${projectPath}",
            'loaded_successfully': True,
            'load_time_seconds': round(load_time, 3),
            'network_summary': {
                'nodes': num_nodes,
                'links': num_links, 
                'zones': num_zones
            }
        }
    except Exception as e:
        result = {
            'project_path': r"${projectPath}",
            'loaded_successfully': False,
            'error': str(e)
        }`,
            `Loading Visum project: ${projectPath}`
          );
    
          if (result.success && result.result?.loaded_successfully) {
            const info = result.result;
            return {
              content: [
                {
                  type: "text",
                  text: `✅ **Progetto Visum Caricato**\n\n` +
                        `**Progetto:** \`${info.project_path}\`\n` +
                        `**Tempo di Caricamento:** ${info.load_time_seconds}s\n\n` +
                        `**Statistiche Rete:**\n` +
                        `• **Nodi:** ${info.network_summary?.nodes?.toLocaleString() || 'N/A'}\n` +
                        `• **Link:** ${info.network_summary?.links?.toLocaleString() || 'N/A'}\n` +
                        `• **Zone:** ${info.network_summary?.zones?.toLocaleString() || 'N/A'}\n\n` +
                        `**Performance:**\n` +
                        `• **Tempo Esecuzione:** ${result.executionTimeMs?.toFixed(3) || 'N/A'}ms\n\n` +
                        `*Progetto pronto per l'analisi della rete*`
                }
              ]
            };
          } else {
            return {
              content: [
                {
                  type: "text",
                  text: `❌ **Errore Caricamento Progetto**\n\n` +
                        `**Progetto:** \`${projectPath}\`\n` +
                        `**Errore:** ${result.result?.error || result.error || 'Errore sconosciuto'}\n\n` +
                        `*Verificare che il percorso del file sia corretto e che il progetto sia valido*`
                }
              ]
            };
          }
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `❌ **Errore durante il caricamento:**\n\n${error instanceof Error ? error.message : String(error)}`
              }
            ]
          };
        }
      }
  • Zod input schema for the tool, requiring the full path to the Visum project file.
      projectPath: z.string().describe("Full path to the Visum project file (.ver)")
    },
  • Registration of the 'visum_launch_project' tool using McpServer's server.tool() method. Marked as deprecated in favor of 'project_open'.
    server.tool(
      "visum_launch_project",
      "⚠️ DEPRECATED: Use 'project_open' tool instead. This tool is obsolete and slower than the new TCP-based project_open tool.",
      {
        projectPath: z.string().describe("Full path to the Visum project file (.ver)")
      },
      async ({ projectPath }) => {
        try {
          const result = await visumController.executeVisumAnalysis(
            `# Load specific Visum project
    import time
    try:
        start_time = time.time()
        visum.LoadVersion(r"${projectPath}")
        load_time = time.time() - start_time
        
        # Get basic network info
        num_nodes = visum.Net.Nodes.Count
        num_links = visum.Net.Links.Count  
        num_zones = visum.Net.Zones.Count
        
        result = {
            'project_path': r"${projectPath}",
            'loaded_successfully': True,
            'load_time_seconds': round(load_time, 3),
            'network_summary': {
                'nodes': num_nodes,
                'links': num_links, 
                'zones': num_zones
            }
        }
    except Exception as e:
        result = {
            'project_path': r"${projectPath}",
            'loaded_successfully': False,
            'error': str(e)
        }`,
            `Loading Visum project: ${projectPath}`
          );
    
          if (result.success && result.result?.loaded_successfully) {
            const info = result.result;
            return {
              content: [
                {
                  type: "text",
                  text: `✅ **Progetto Visum Caricato**\n\n` +
                        `**Progetto:** \`${info.project_path}\`\n` +
                        `**Tempo di Caricamento:** ${info.load_time_seconds}s\n\n` +
                        `**Statistiche Rete:**\n` +
                        `• **Nodi:** ${info.network_summary?.nodes?.toLocaleString() || 'N/A'}\n` +
                        `• **Link:** ${info.network_summary?.links?.toLocaleString() || 'N/A'}\n` +
                        `• **Zone:** ${info.network_summary?.zones?.toLocaleString() || 'N/A'}\n\n` +
                        `**Performance:**\n` +
                        `• **Tempo Esecuzione:** ${result.executionTimeMs?.toFixed(3) || 'N/A'}ms\n\n` +
                        `*Progetto pronto per l'analisi della rete*`
                }
              ]
            };
          } else {
            return {
              content: [
                {
                  type: "text",
                  text: `❌ **Errore Caricamento Progetto**\n\n` +
                        `**Progetto:** \`${projectPath}\`\n` +
                        `**Errore:** ${result.result?.error || result.error || 'Errore sconosciuto'}\n\n` +
                        `*Verificare che il percorso del file sia corretto e che il progetto sia valido*`
                }
              ]
            };
          }
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `❌ **Errore durante il caricamento:**\n\n${error instanceof Error ? error.message : String(error)}`
              }
            ]
          };
        }
      }
    );

Latest Blog Posts

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