mcp-puppeteer
0
This project is an MCP Server designed to control Chrome using Puppeteer. It focuses on facilitating remote debugging and integration with Cursor using Server-Sent Events.
A simple MCP Server for controlling Chrome via Puppeteer
Usage
Note that this is using puppeteer-core
and does not install additional browsers. The expectation here is that you know how to start Chrome with the remote debugging port enabled. On the Mac, for example, this may look something like this:
open -a "Google Chrome" --args --remote-debugging-port=9222
- Install dependencies
% pnpm i
- Run the MCP Server
% pnpm run start
- Go to Cursor → Settings → Cursor Settings → MCP → Add new global MCP server and add the following configuration:
{
"mcpServers": {
"puppeteer-control": {
"url": "http://localhost:7742/sse"
}
}
}
Learnings
- The documentation for the TypeScript SDK describes the newer "Streamable HTTP" support in its example. What we need for Cursor, though, is the SSE support, which is better discribed in the official MCP documentation for Server-Sent Events.
- The Inspector is very helpful, but it's a bit misleading on how to start it. Assuming the local MCP server is already running and using SSE, a simple
pnpx @modelcontextprotocol/inspector
is sufficient.