Vibe-Eyes empowers LLMs to 'see' browser games/apps via real-time vectorized canvas visualization and debug insights, bridging the gap between AI and visual ecosystems." )
91% of users reported increased productivity after just one week
About Vibe-Eyes
What is Vibe-Eyes: Real-Time Visual Analysis & Debug Insights?
Vibe-Eyes is a developer tool suite designed to capture, analyze, and visualize runtime data from web applications in real-time. By integrating debugging metadata with visual output, it enables developers to correlate user interface states with backend activity, errors, and performance metrics. The platform combines automated error tracking, customizable logging, and vectorized visual representation to provide a holistic debugging environment.
How to use Vibe-Eyes: Real-Time Visual Analysis & Debug Insights?
Initialize the client with configuration parameters specifying server endpoints, capture intervals, and data retention limits
Control capture workflows programmatically via start/stop methods or trigger manual captures during critical application states
Access processed data through WebSocket callbacks or REST endpoints for integration with monitoring dashboards
Use the CLI tool to vectorize individual assets for prototyping or static analysis scenarios
Vibe-Eyes Features
Key Features of Vibe-Eyes: Real-Time Visual Analysis & Debug Insights?
Real-time data synchronization between frontend components and backend services
Granular error tracking with stack trace visualization and error type categorization
Automatic image vectorization for size reduction while preserving structural integrity
Modular configuration allowing selective logging of console outputs
Lightweight architecture with minimal performance overhead
Extensible API for integrating with existing CI/CD pipelines
Use cases of Vibe-Eyes: Real-Time Visual Analysis & Debug Insights?
Game Development
Visualize player interactions with error logs to pinpoint collision detection bugs
Web Applications
Monitor form submission workflows alongside network request errors
Education Tools
Create interactive debuggable tutorials with visual error explanations
Automation Testing
Generate visual diffs alongside assertion failures for regression analysis
Vibe-Eyes FAQ
FAQ: Vibe-Eyes Real-Time Analysis
Does it support mobile web apps?
Yes, the client library works in all modern browsers including mobile devices with touch event support
How is data secured?
Data transmission uses encrypted WebSocket connections with configurable token authentication
What performance impact can I expect?
Baseline overhead is <0.5% CPU under standard configurations
Can I customize error handlers?
Yes, through the errorFilter configuration option
Does the CLI support batch processing?
Yes, accepts glob patterns for batch vectorization of asset directories
Content
Vibe-Eyes
An MCP server that enables LLMs to "see" what's happening in browser-based games and applications through vectorized canvas visualization and debug information.
Vibe-Eyes uses a client-server architecture where a lightweight browser client captures canvas content and debug information, sends it to a Node.js server via WebSockets, which then vectorizes the images into compact SVG representations and makes them available to LLMs through the Model Context Protocol (MCP).
flowchart LR
A["Browser Game/App<br/>(Canvas + JavaScript)"] -->|"Captures"| B["Vibe-Eyes Client<br/>(vibe-eyes-client)"]
B -->|"WebSocket<br/>(CORS-free)"| C["Socket.IO Server"]
subgraph server["Vibe-Eyes Server (mcp.js)"]
C -->|"Process"| D["Vectorization<br/>(vectorizer.js)"]
C -->|"Store"| E["Debug Data<br/>(logs, errors, exceptions)"]
D -->|"Rough SVG"| F["MCP Tool: getGameDebug()"]
E --> F
end
F -->|"SVG + Debug Info"| G["Claude/LLM<br/>(MCP Client)"]
G -->|"Debugging<br/>Assistance"| A
classDef default color:#000,font-weight:bold
classDef edgeLabel color:#333,font-size:12px
style A fill:#c0e0ff,stroke:#000,stroke-width:2px
style B fill:#ffe0a0,stroke:#000,stroke-width:2px
style C fill:#a0d0ff,stroke:#000,stroke-width:2px
style D fill:#b0e0a0,stroke:#000,stroke-width:2px
style E fill:#ffb0b0,stroke:#000,stroke-width:2px
style F fill:#d0b0ff,stroke:#000,stroke-width:2px
style G fill:#ffb0d0,stroke:#000,stroke-width:2px
style server fill:#f0f0f0,stroke:#666,stroke-width:1px,stroke-dasharray: 5 5,color:#000
Note: This project is experimental and designed to enhance "vibe coding" sessions with LLMs by providing visual context and rich debug information.
Video Explanation
Key Capabilities
Captures and vectorizes canvas elements from browser games
Collects console logs and errors in real-time
Catches unhandled exceptions with full stack traces
Makes the visual and debug information available to LLMs via MCP
Creates a seamless debugging experience for developers working with LLMs
How It Works
A lightweight client runs in the browser game/application
The client captures canvas snapshots, console logs/errors, and unhandled exceptions
Data is sent to the Vibe-Eyes server via WebSocket (avoiding CORS issues)
The server vectorizes the canvas images and stores them with the debug information
LLMs connect via the Model Context Protocol to access the latest data
LLMs can "see" what's happening and help debug issues with full context
Components
1. Vibe-Eyes MCP Server (mcp.js)
The core server that:
Receives canvas snapshots via Socket.IO
Vectorizes images to compact SVG representation (rough approximation)
Stores debug information (logs, errors, exceptions, timing)
Catches global unhandled exceptions with stack traces
Sends data to the Vibe-Eyes server via WebSockets
Minimizes performance impact on games
Supports explicit initialization to control when capturing starts
3. Vectorization Engine (vectorizer.js)
A high-quality SVG vectorization library that:
Converts raster images to vector SVGs
Optimizes SVGs for size and clarity
Preserves visual information while reducing data size
Getting Started
Installation
# Clone the repository
git clone https://github.com/monteslu/vibe-eyes.git
cd vibe-eyes
# Install dependencies
npm install
Using with LLM Agents
Register the MCP server with your AI agent:
# For Claude Code
claude mcp add
This enables Claude to use the Vibe-Eyes capabilities via MCP.
Integrating with Games/Applications
Add the client to your browser application by including the required scripts:
<script src="https://cdn.socket.io/4.7.4/socket.io.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vibe-eyes-client/dist/index.min.js"></script>
<script>
// Import the initialization function if using as module
// import { initializeVibeEyes } from 'vibe-eyes-client';
// Initialize with configuration
const vibeEyes = initializeVibeEyes({
// WebSocket URL to the Vibe-Eyes server
serverUrl: 'ws://localhost:8869',
// Capture interval in milliseconds
captureDelay: 1000,
// Start capturing automatically after connection
autoCapture: true
});
</script>
Using with Claude or Other LLMs
The MCP server exposes a tool for LLMs to access the latest visual and debug information via Model Context Protocol (MCP):
getGameDebug({ includeSvg: true/false })
The LLM will receive:
Recent console logs and errors from the application
Unhandled exceptions with full stack traces (if any occurred)
Vectorized SVG approximation of the canvas (if includeSvg is true)
Timing and correlation information to connect visual state with logs
This allows the LLM to "see" what's happening in the application and provide better assistance.
Example MCP Config (for Claude Code)
To access Vibe-Eyes from Claude:
{
"name": "vibe-eyes",
"url": "http://localhost:8869",
"tools": [
{
"name": "getGameDebug",
"description": "Retrieves the most recent canvas visualization and debug information from a browser game or application"
}
]
}
How Vibe-Eyes Helps with "Vibe Coding"
Traditional "vibe coding" sessions require developers to manually take screenshots and describe what's happening in their application. Vibe-Eyes automates this process by:
Providing Visual Context : LLMs can see the actual visual state of the game/app
Correlating Visual and Code Issues : Console logs are paired with visual state
Reducing Manual Work : No need to manually capture and upload screenshots
Enabling Real-Time Debugging : LLMs can observe changes as they happen
Optimizing Data Transfer : Vector representation is more compact than screenshots
Performance Considerations
The browser client is designed to minimize impact on application performance
Creating canvas data URLs can be CPU-intensive, so capturing frequency is configurable
WebSocket transport avoids CORS issues common in cross-domain setups
The server processes images sequentially to prevent overload
SVG vectorization balances visual accuracy with size optimization
Direct SVG Access
For applications that want to reuse the vectorized SVG output:
WebSocket Response : The server includes the SVG directly in WebSocket responses: