Token导航 LogoToken导航TokenDH.com
Playwright MCP For Crawler logo
浏览器工具未说明官方级别未说明来源级核验

Playwright MCP For Crawler

MCP Server

基于Playwright的Model Context Protocol (MCP)服务器,提供创建和管理多个独立浏览器会话的功能,支持多种浏览器和模式。

工具数

14

提示词数

0

GitHub Stars

0

资源数

0
浏览器自动化TypeScript会话管理

安装说明

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

作者 / 组织

Leviathangk

提供方

Leviathangk

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Playwright MCP Server

Based on Playwright's Model Context Protocol (MCP) server, it provides browser automation functionality.

  • session managementCreate and manage multiple independent browser sessions
  • Concurrent supportSupport multiple concurrent browser sessions and automatically clear expired sessions
  • browser operationCommon operations such as navigation, clicking, and input
  • flexible configuration: Supports different browsers (Chromium, Firefox, WebKit) and modes (with/without headers)
  • Auto CleanupAutomatically clear resources after session timeout

npm 地址: https://www.npmjs.com/package/ @leviathangk/playwright-mcp

GitHub address: https://github.com/Leviathangk/PlaywrightMCPForCrawler

install

npm i @leviathangk/playwright-mcp

MCP configuration

Add:

{
  "mcpServers": {
    "playwright": {
      "command": "node",
      "args": [
        "@leviathangk/playwright-mcp@latest",
        "--browser", "chromium",
        "--headless", "false",
        "--session-timeout", "300000",
        "--max-sessions", "10"
      ]
    }
  }
}

configuration parameters

ParametersDefault ValuesDescription
--browserchromiumBrowser types: Chromium, Firefox, Webkit
--headlessfalseHeadless mode
--session-timeout300000Session timeout (milliseconds)
--max-sessions10Maximum concurrent sessions
--executable-pathNoneBrowser executable path (optional)

Core Tools

Browser installation

  • browser_install -Install Playwright browser (Chrome, Firefox, Webkit)

session management

  • browser_create_session -Create a session
  • browser_close_session -Close session

Page management (multi tab)

  • browser_get_pages -Get a list of all open pages
  • browser_new_page -Create a new page (tab)
  • browser_switch_page -Switch to the specified page
  • browser_close_page -Close the specified page

Page operation

  • browser_navigate -Navigate to URL
  • browser_click -Click on the element
  • browser_type -Enter Text
  • browser_scroll -Scroll Page
  • browser_wait_for_element -Waiting for the element to appear
  • browser_execute_script -Execute custom JavaScript

Page Analysis

  • browser_get_page_structure -Get page structure
  • browser_find_element_by_text -Search for elements based on text
  • browser_query_selector -Using CSS selectors to query elements
  • browser_get_page_content -Retrieve page content (HTML/text/Markdown)
  • browser_get_text_content -Retrieve element text content
  • browser_screenshot -Screenshot

Network request capture

  • browser_search_requests -Search request (supporting regularization)
  • browser_get_requests -Get all requests
  • browser_get_request_detail -Get request details (including curl)
  • browser_clear_requests -Clear request history

Usage example

Basic usage

// 1. 创建会话
const session = await callTool('browser_create_session');

// 2. 导航到页面
await callTool('browser_navigate', {
  sessionId: session.sessionId,
  url: 'https://example.com'
});

// 3. 搜索 API 请求
const results = await callTool('browser_search_requests', {
  sessionId: session.sessionId,
  keyword: 'api/data',
  searchIn: ['url']
});

// 4. 获取请求详情
const detail = await callTool('browser_get_request_detail', {
  sessionId: session.sessionId,
  requestId: results.matches[0].id
});

// 5. 关闭会话
await callTool('browser_close_session', {
  sessionId: session.sessionId
});

Multi tab management

// 获取所有页面
const pages = await callTool('browser_get_pages', {
  sessionId: sessionId
});
console.log(`总共 ${pages.totalPages} 个页面`);
pages.pages.forEach(page => {
  console.log(`${page.index}: ${page.title} ${page.isActive ? '(当前)' : ''}`);
});

// 创建新页面
await callTool('browser_new_page', {
  sessionId: sessionId,
  url: 'https://www.example.com'
});

// 切换到指定页面
await callTool('browser_switch_page', {
  sessionId: sessionId,
  pageIndex: 1
});

// 关闭页面
await callTool('browser_close_page', {
  sessionId: sessionId,
  pageIndex: 2
});

Page Analysis

// 获取页面结构
const structure = await callTool('browser_get_page_structure', {
  sessionId: sessionId,
  maxElements: 50
});

// 查找元素
const element = await callTool('browser_find_element_by_text', {
  sessionId: sessionId,
  text: '登录'
});

// 点击元素
await callTool('browser_click', {
  sessionId: sessionId,
  selector: element.selector
});

// 获取页面内容
const content = await callTool('browser_get_page_content', {
  sessionId: sessionId,
  format: 'html'
});

// 执行自定义脚本
const result = await callTool('browser_execute_script', {
  sessionId: sessionId,
  script: 'return document.title;'
});

Common browser paths

Windows:

  • Chrome: C:\Program Files\Google\Chrome\Application\chrome.exe
  • Edge: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

macOS:

  • Chrome: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • Edge: /Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge

Linux:

  • Chrome: /usr/bin/google-chrome
  • Chromium: /usr/bin/chromium-browser

目录标签

目录标签

浏览器自动化TypeScript会话管理本地部署并发支持页面操作网络请求捕获

接入字段

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

未说明

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

session

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明sessionlocal-only

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP