Back to MCP directory
publicPublicdnsLocal runtime

mcp-puppeteer

一个基于Puppeteer的MCP服务器,用于通过远程调试端口控制Chrome浏览器。

article

README

🚀 一个简单的MCP服务器用于通过Puppeteer控制Chrome

本项目提供了一个简单的MCP服务器,借助Puppeteer实现对Chrome的控制。它能让你更便捷地利用Chrome进行相关操作,提升工作效率。

🚀 快速开始

📦 安装指南

  1. 注意,这里使用的是puppeteer-core,不会安装额外的浏览器。期望您知道如何以开启远程调试端口的方式启动Chrome。例如,在Mac上,这可能看起来像这样:
open -a "Google Chrome" --args --remote-debugging-port=9222
  1. 安装依赖
% pnpm i
  1. 运行MCP服务器
% pnpm run start

💻 使用示例

Cursor → 设置 → Cursor Settings → MCP → 添加新的全局MCP服务器,添加以下配置:

{
  "mcpServers": {
    "puppeteer-control": {
      "url": "http://localhost:7742/sse"
    }
  }
}

📚 详细文档

学习要点

  1. TypeScript SDK的文档描述了其中较新的“Streamable HTTP”支持,在其示例中有所体现。不过,对于Cursor来说,我们需要的是SSE(Server-Sent Events)支持,这在官方MCP文档中有更详细的说明。
  2. The Inspector非常有用,但它的使用方法可能有些误导。假设本地的MCP服务器已经运行,并且正在使用SSE,只需简单的pnpx @modelcontextprotocol/inspector命令即可启动。

⚠️ 重要提示

本项目使用puppeteer-core,不会安装额外的浏览器,需要您自行以开启远程调试端口的方式启动Chrome。

💡 使用建议

可参考TypeScript SDK的文档官方MCP文档来更好地理解和使用本项目。同时,使用The Inspector时可按上述说明操作。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client