visum_custom_analysis
Execute custom Python code to analyze Visum transportation models, enabling tailored data processing and specialized calculations for specific project requirements.
Instructions
Execute custom Python code with access to the active Visum instance
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pythonCode | Yes | Python code to execute. The 'visum' variable contains the active VisumPy instance. Store results in 'result' dictionary. | |
| description | No | Optional description of the analysis being performed |
Implementation Reference
- src/index-backup.ts:598-657 (handler)Handler function that executes custom Python code on the persistent VisumPy instance via visumController.executeCustomCode, processes the result, filters output, and returns formatted Markdown response with results, performance metrics, or error messages.async ({ pythonCode, description }) => { try { const result = await visumController.executeCustomCode(pythonCode, description); if (result.success) { let analysisResults = ''; if (result.result) { analysisResults = `**Risultati Analisi:**\n\`\`\`json\n${JSON.stringify(result.result, null, 2)}\n\`\`\`\n\n`; } let executionOutput = ''; if (result.output) { const outputLines = result.output.split('\n').filter(line => line.trim() && !line.includes('=====') && !line.includes('Executing analysis') && !line.includes('SUCCESS: Tool call completed') ); if (outputLines.length > 0) { executionOutput = `**Output Esecuzione:**\n\`\`\`\n${outputLines.slice(-20).join('\n')}\n\`\`\`\n\n`; } } return { content: [ { type: "text", text: `✅ **Analisi Personalizzata Completata**\n\n` + `**Descrizione:** ${description || 'Analisi Python personalizzata'}\n\n` + analysisResults + executionOutput + `**Performance:**\n` + `• **Tempo Esecuzione:** ${result.executionTimeMs?.toFixed(3) || 'N/A'}ms\n\n` + `*Eseguito su istanza VisumPy persistente*` } ] }; } else { return { content: [ { type: "text", text: `❌ **Analisi personalizzata fallita**\n\n` + `**Errore:** ${result.error || 'Errore sconosciuto'}\n\n` + `**Codice tentato:**\n\`\`\`python\n${pythonCode}\n\`\`\`\n\n` + `*Controllare la sintassi Python e l'uso corretto della variabile 'visum'*` } ] }; } } catch (error) { return { content: [ { type: "text", text: `❌ **Errore esecuzione analisi personalizzata:**\n\n${error instanceof Error ? error.message : String(error)}` } ] }; }
- src/index-backup.ts:595-596 (schema)Zod input schema defining 'pythonCode' (required string) for the Python script to run in VisumPy context, and optional 'description' string.pythonCode: z.string().describe("Python code to execute. The 'visum' variable contains the active VisumPy instance. Store results in 'result' dictionary."), description: z.string().optional().describe("Optional description of the analysis being performed")
- src/index-backup.ts:591-659 (registration)MCP server.tool registration for 'visum_custom_analysis' tool, including description, schema, and inline handler.server.tool( "visum_custom_analysis", "Execute custom Python code with access to the active Visum instance", { pythonCode: z.string().describe("Python code to execute. The 'visum' variable contains the active VisumPy instance. Store results in 'result' dictionary."), description: z.string().optional().describe("Optional description of the analysis being performed") }, async ({ pythonCode, description }) => { try { const result = await visumController.executeCustomCode(pythonCode, description); if (result.success) { let analysisResults = ''; if (result.result) { analysisResults = `**Risultati Analisi:**\n\`\`\`json\n${JSON.stringify(result.result, null, 2)}\n\`\`\`\n\n`; } let executionOutput = ''; if (result.output) { const outputLines = result.output.split('\n').filter(line => line.trim() && !line.includes('=====') && !line.includes('Executing analysis') && !line.includes('SUCCESS: Tool call completed') ); if (outputLines.length > 0) { executionOutput = `**Output Esecuzione:**\n\`\`\`\n${outputLines.slice(-20).join('\n')}\n\`\`\`\n\n`; } } return { content: [ { type: "text", text: `✅ **Analisi Personalizzata Completata**\n\n` + `**Descrizione:** ${description || 'Analisi Python personalizzata'}\n\n` + analysisResults + executionOutput + `**Performance:**\n` + `• **Tempo Esecuzione:** ${result.executionTimeMs?.toFixed(3) || 'N/A'}ms\n\n` + `*Eseguito su istanza VisumPy persistente*` } ] }; } else { return { content: [ { type: "text", text: `❌ **Analisi personalizzata fallita**\n\n` + `**Errore:** ${result.error || 'Errore sconosciuto'}\n\n` + `**Codice tentato:**\n\`\`\`python\n${pythonCode}\n\`\`\`\n\n` + `*Controllare la sintassi Python e l'uso corretto della variabile 'visum'*` } ] }; } } catch (error) { return { content: [ { type: "text", text: `❌ **Errore esecuzione analisi personalizzata:**\n\n${error instanceof Error ? error.message : String(error)}` } ] }; } } );
- Helper method in PersistentVisumController that delegates custom Python code execution to the persistent Python subprocess via JSON stdin command.public async executeCustomCode(pythonCode: string, description?: string): Promise<VisumResponse> { return this.sendCommandToPersistentProcess(pythonCode, description); }