A simple MCP Server for controlling Chrome via Puppeteer
@ratiofu
A simple MCP server for controlling Chrome via Puppeteer
Overview
What is A simple MCP Server for controlling Chrome via Puppeteer?
This MCP server connects to a running Chrome instance through its remote debugging port using Puppeteer Core. It acts as a bridge between MCP clients (like Cursor) and Chrome, allowing programmatic control via the Model Context Protocol.
How to use A simple MCP Server for controlling Chrome via Puppeteer?
First, start Chrome with the remote debugging port enabled (e.g., --remote-debugging-port=9222). Then install dependencies with pnpm i and run the server with pnpm run start. Finally, configure Cursor to add a global MCP server pointing to http://localhost:7742/sse.
Key features of A simple MCP Server for controlling Chrome via Puppeteer
- Uses
puppeteer-core(no bundled browser) - Requires an existing Chrome with remote debugging enabled
- Communicates via SSE transport (not Streamable HTTP)
- Designed for use with Cursor IDE
Use cases of A simple MCP Server for controlling Chrome via Puppeteer
- Automating browser actions from an MCP‑compatible client
- Integrating Chrome control into Cursor workflows
- Experimenting with Puppeteer through MCP tools
FAQ from A simple MCP Server for controlling Chrome via Puppeteer
How do I start Chrome for this server?
On macOS, run open -a "Google Chrome" --args --remote-debugging-port=9222. The server expects Chrome to be launched manually with the debugging port.
What dependencies are required?
The project uses puppeteer-core and does not install a browser. You need Node.js, pnpm, and a Chrome/Chromium installation.
How do I connect this server to Cursor?
In Cursor’s MCP settings, add a new global MCP server with the URL http://localhost:7742/sse. The server must be running locally.
Why does the server use SSE instead of Streamable HTTP?
The README explains that Cursor requires SSE support. The TypeScript SDK’s Streamable HTTP example is not compatible; SSE is better documented in the official MCP documentation.
Can I test the server without Cursor?
Yes, you can use the MCP Inspector. With the server already running on SSE, run pnpx @modelcontextprotocol/inspector to explore available tools.