Skip to main content
Glama

getGameDebugInfoWithLogsAndVisualization

Retrieve debug data, logs, and visualizations to analyze browser-based game performance and behavior for troubleshooting and optimization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeSvgNo

Implementation Reference

  • mcp.js:214-289 (handler)
    Handler function that increments request counters, checks for latestCapture, formats console logs and errors into text, optionally appends SVG visualization, and returns structured MCP content.
    }, async ({ includeSvg }) => { mcpRequestCount++; if (!includeSvg) { mcpRequestWithoutSvgCount++; } // Simply use the latest capture if (!latestCapture) { // Return basic response when no data is available return { success: false, content: [{ type: "text", text: "No game data available yet." }] }; } // Use the capture directly const capture = latestCapture; // Remove SVG if not explicitly requested if (!includeSvg && capture.vectorized) { delete capture.vectorized.svg; } // Extract console logs for easier viewing const consoleLogs = capture.console_logs.map(log => ({ time: new Date(log.timestamp).toISOString(), message: log.data.join(' ') })); // Extract errors if any const errors = capture.console_errors.map(err => ({ time: new Date(err.timestamp).toISOString(), message: err.data.join(' ') })); // Format the data for better MCP display // Create a text representation of the game state const textContent = ` Game State: ${capture.id} (${new Date(capture.timestamp).toISOString()}) Console Logs: ${consoleLogs.map(log => `[${log.time}] ${log.message}`).join('\n')} ${errors.length ? 'Errors:\n' + errors.map(err => `[${err.time}] ${err.message}`).join('\n') : 'No errors.'} ${capture.unhandled_exception ? `\nUnhandled Exception:\n${JSON.stringify(capture.unhandled_exception, null, 2)}` : ''} `; // Return in MCP-compatible format // Prepare result object const result = { success: true, content: [ { type: "text", text: textContent } ] }; // Only add SVG if we have it and it was requested if (capture.vectorized?.svg && includeSvg) { try { // Add SVG as text directly in the response result.content[0].text += "\nSVG Approximation:\n```svg\n" + capture.vectorized.svg + "\n```"; } catch (error) { console.error("Error with SVG data:", error); // Add error note to text content result.content[0].text += "\n\nError processing SVG data"; } } return result; });
  • Input schema using Zod: optional boolean 'includeSvg' parameter defaulting to true, controlling whether SVG visualization is included in the response.
    includeSvg: z.boolean().optional().default(true)
  • mcp.js:212-214 (registration)
    Registration of the tool 'getGameDebugInfoWithLogsAndVisualization' on the McpServer instance, specifying input schema and providing inline async handler function.
    mcpServer.tool("getGameDebugInfoWithLogsAndVisualization", { includeSvg: z.boolean().optional().default(true) }, async ({ includeSvg }) => {
Install Server

Other Tools

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/monteslu/vibe-eyes'

If you have feedback or need assistance with the MCP directory API, please join our Discord server