Token导航 LogoToken导航TokenDH.com
Puppeteer Laravel MCP Server logo
浏览器工具stdio官方级别未说明来源级核验

Puppeteer Laravel MCP Server

MCP Server

@truefrontier/puppeteer-laravel-mcp-server

专为Laravel Herd设计的浏览器自动化测试服务,支持视觉调试、交互测试和全面的测试自动化。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
浏览器自动化测试自动化TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

truefrontier

提供方

truefrontier

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @truefrontier/puppeteer-laravel-mcp-server

详细介绍

Laravel Herd的Puppeter MCP服务器

一个专门为Laravel Herd本地开发测试设计的模型上下文协议(MCP)服务器,使Claude能够使用Puppeteer自动化Laravel应用程序的浏览器测试。

概述

这个MCP服务器通过与Laravel Herd的原生性能环境深度集成,弥合了人工智能驱动的自动化和现代Laravel开发之间的差距。它使Claude能够通过可视化调试、自动化交互和全面的测试自动化来执行复杂的浏览器测试。

主要特点

核心浏览器自动化

  • 可视化调试:直接在网页上输出调试信息以供Claude分析
  • 交互式测试:执行点击、滚动和JavaScript执行以进行全面测试
  • 屏幕截图分析:捕获和分析页面状态以进行迭代调试
  • 元素交互:使用CSS选择器和可访问性属性进行高级元素选择

Laravel羊群集成

  • 本地.test域支持:通过Herd的dnsmasq自动解析域
  • SSL证书管理:使用自动生成的证书进行无缝HTTPS测试
  • PHP版本管理:通过Herd代理命令支持特定于站点的PHP版本
  • 数据库状态管理:用于并行执行的隔离测试数据库

高性能

  • 浏览器池管理:5-10个浏览器实例的高效连接池
  • 上下文隔离:通过单独的浏览器上下文独立执行测试
  • 性能监控:Chrome DevTools协议集成用于指标收集
  • 网络侦听:API模拟和请求/响应分析

建筑

输运模型

  • 混合式结构:stdio用于本地开发,HTTP+SSE用于远程访问
  • JSON-RPC 2.0:使用OAuth 2.1身份验证的标准MCP协议实现
  • 连接池:优化浏览器实例管理(每个实例100-200MB)

安全功能

  • OAuth 2.1合规性PKCE支持HTTP传输
  • 基于环境的身份验证:确保当地发展准入
  • 输入验证:具有测试灵活性的注射攻击预防
  • 精细权限:团队环境的范围访问控制

绩效目标

  • 响应时间:p95\

cd puppeteer-laravel-mcp-server

Install dependencies

npm install

Configure environment

cp .env.example .env

Edit .env to match your Laravel Herd setup

Build the project

npm run build

Start the MCP server

npm start


### 验证

使用附带的测试脚本测试服务器:

node test-mcp.js


这将验证:

- MCP服务器正确初始化
- 所有工具均已正确注册
- 浏览器池管理工作
- 会话管理功能
- 基本的导航和屏幕截图功能正常工作

### Laravel羊群配置

Ensure Herd is running

herd start

Secure your sites for HTTPS testing (optional)

herd secure your-site.test

Verify PHP version for specific sites

herd php -v --site=your-site.test


## 用法

### 基本浏览器自动化

// Navigate to a Laravel application await page.goto('https://your-app.test');

// Interact with forms await page.fill('#email', 'user@example.com'); await page.click('button[type="submit"]');

// Capture screenshots for debugging await page.screenshot({ path: 'debug.png' });


### Laravel特定功能

// Authentication testing await laravelAuth.loginAs('user@example.com'); await laravelAuth.actingAs(userId);

// Database state management await laravelDb.seed('UserSeeder'); await laravelDb.rollback();


### 使用Claude进行可视化调试

// Output debug information on page await page.evaluate(() => { document.body.innerHTML += `

Debug: Current user ID = ${window.currentUserId}

`; });

// Capture for Claude analysis const screenshot = await page.screenshot(); // Screenshot is automatically sent to Claude for analysis


## 配置

### 环境变量

Browser settings

BROWSER_POOL_SIZE=5 BROWSER_TIMEOUT=30000 HEADLESS=true

Laravel Herd integration

HERD_DIRECTORY=~/Herd DEFAULT_DOMAIN_SUFFIX=.test SSL_ENABLED=true

MCP server settings

MCP_TRANSPORT=stdio MCP_PORT=3000 MCP_AUTH_ENABLED=false


### 浏览器池配置

{ "browserPool": { "min": 0, "max": 10, "acquireTimeoutMillis": 30000, "createTimeoutMillis": 30000, "destroyTimeoutMillis": 5000, "idleTimeoutMillis": 300000, "reapIntervalMillis": 1000, "createRetryIntervalMillis": 200, "autostart": false } }


**备注**:浏览器池配置为 `min: 0` 和 `autostart: false` 确保浏览器仅在需要时通过工具调用启动,而不是在服务器启动时启动。这可以防止MCP健康检查或状态查询启动浏览器实例,优化资源使用并防止不必要的浏览器进程。

## api参考

### 核心工具

#### `navigate(url, options)`

导航到具有Laravel Herd域解析的URL。

#### `screenshot(options)`

捕获页面截图,针对克劳德分析进行了优化。

#### `interact(selector, action, value)`

执行用户交互(单击、键入、滚动)。

#### `execute(script)`

在浏览器上下文中执行JavaScript。

#### `waitFor(selector, options)`

等待具有智能超时处理的元素。

### Laravel集成工具

#### `laravelAuth.loginAs(email)`

以特定用户身份进行身份验证。

#### `laravelDb.seed(seeder)`

运行数据库种子程序以获取测试数据。

#### `laravelRoute.visit(routeName, params)`

使用Laravel路由名称导航。

## 贡献

### 开发设置

Install development dependencies

npm install --dev

Run tests

npm test

Run linting

npm run lint

Start development server with hot reload

npm run dev


### 代码规范

- 遵循Laravel编码规范
- 使用TypeScript实现类型安全
- 实施全面的错误处理
- 包括可视化调试功能
- 维护基于屏幕截图的测试模式

### 测试

Run unit tests

npm run test:unit

Run integration tests with Laravel Herd

npm run test:integration

Run visual regression tests

npm run test:visual


## 实施状态

✅ **完整且功能齐全**

MCP服务器完全通过以下方式实现:

### 已实现核心功能

- **MCP协议合规性**:通过正确的工具注册实现完整的JSON-RPC 2.0
- **浏览器池管理**:5-10个浏览器实例的高效连接池
- **会话管理**:用于并行测试的独立浏览器上下文
- **可视化调试**:Claude分析的页面调试信息显示
- **电脑屏幕截图工具**:自动生成用于AI反馈的屏幕截图

### 可用工具集

- **浏览器导航**: `navigate` 使用Laravel Herd域解析
- **用户交互**: `interact` 用于单击、键入、滚动和选择
- **JavaScript执行**: `execute` 用于自定义浏览器脚本
- **元素等待**: `wait_for` 具有智能超时处理功能
- **视觉捕捉**: `screenshot` 具有多种格式选项

### Laravel羊群集成

- **认证**: `laravel_auth_login`, `laravel_auth_acting_as` 用于用户模拟
- **数据库管理**: `laravel_db_seed` 用于测试数据设置
- **路线导航**: `laravel_route_visit` 用于Laravel基于路线的导航
- **Artisan命令**: `laravel_artisan` 用于Laravel CLI集成

### 测试已验证

- JSON-RPC协议通信
- 工具注册和发现
- 会话创建和管理
- 浏览器池统计信息
- 错误处理和优雅关机

### 生产就绪功能

- TypeScript类型安全贯穿始终
- 具有重试机制的全面错误处理
- 基于环境的配置
- 自动清理和资源管理
- 性能监控和调试功能

这个MCP服务器代表了人工智能驱动的自动化和现代Laravel开发环境的融合,实现了更智能、高效和可靠的测试工作流程,以适应不断变化的web开发需求。

目录标签

目录标签

浏览器自动化测试自动化TypeScriptClaude本地部署Laravel测试视觉调试交互测试

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@truefrontier/puppeteer-laravel-mcp-server

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP