Vite MCP Server

by ESnark
Verified
# Blowback > Vite MCP Server is now Blowback > > Blowback aims to support various FE development servers, not only Vite Adds a Model Context Protocol (MCP) server to the FE development server to support integration with Cursor. ## Key Features - Integration of FE development server with MCP server - Browser console log capture and transmission via MCP - Checkpoint-based log management ## Installation Add the server to your Cursor MCP configuration: ```json { "blowback": { "command": "npx", "args": ["-y", "blowback-context"] } } ``` ## Resources ### ~~console-logs~~ A resource for retrieving browser console logs. Note: The MCP Resource feature is not supported by Cursor at the moment. Please use the `get-console-logs` tool instead. ## Tools ### HMR Tools | Tool Name | Description | |-----------|-------------| | `get-hmr-events` | Retrieves recent HMR events | | `check-hmr-status` | Checks the HMR status | ### Browser Tools | Tool Name | Description | |-----------|-------------| | `start-browser` | Starts a browser instance and navigates to the Vite development server | | `capture-screenshot` | Captures a screenshot of the current page or a specific element | | `get-element-properties` | Retrieves properties and state information of a specific element | | `get-element-styles` | Retrieves style information of a specific element | | `get-element-dimensions` | Retrieves dimension and position information of a specific element | | `monitor-network` | Monitors network requests in the browser for a specified duration | | `get-element-html` | Retrieves the HTML content of a specific element and its children | | `get-console-logs` | Retrieves console logs from the browser session with optional filtering | | `execute-browser-commands` | Safely executes predefined browser commands | ### How to use Tools | Tool Name | Description | |-----------|-------------| | `how-to-use` | Provides instructions on how to use the tool | ## Log Management System ### Log Management Method - All browser console logs are stored in log files - You can query logs for specific checkpoints using the `get-console-logs` tool ## Checkpoint System ### Checkpoint Operation Method - Checkpoints are used to manage snapshots, logs, screenshots, etc. of specific versions - When `<meta name="__mcp_checkpoint" data-id="">` is inserted into the `head`, data is recorded separately using the data-id attribute as an identifier ## Architecture and Data Flow ### Core Components 1. **MCP Server**: A central module based on the Model Context Protocol SDK that provides tools to MCP Client. 2. **Browser Automation**: Controls Chrome using Puppeteer to visually inspect changes. 3. **Checkpoint System**: Maintains snapshots of browser states for comparison and testing. ### Data Sources and State Management The server maintains several important data stores: - **HMR Event Records**: Tracks recent HMR events (updates, errors) from Vite. - **Console Message Logs**: Captures browser console output for debugging. - **Checkpoint Storage**: Stores named snapshots of browser states including DOM snapshots. ### Communication Flow 1. **MCP Client → Development Server**: - MCP Client changes the source code and Development Server detects the change - Development Server updates the browser or emits HMR events automatically 2. **Web Browser → MCP Server**: - HMR events and console logs are captured through Puppeteer. - MCP Server queries the current state of the browser or captures a screenshot 3. **MCP Server → MCP Client**: - The server converts HMR events into structured responses. - Provides tools for MCP Client to query HMR status and capture screenshots. ### State Maintenance The server maintains reference objects for: - Current browser and page instances - Recent HMR events