Skip to main content
Glama
social4hyq

ohos-playwright-mcp

by social4hyq

ohos-playwright-mcp

MCP server for HarmonyOS / OpenHarmony ArkWeb (Chromium 132-based) — the ohos counterpart of @playwright/mcp.

Drives ArkWeb through playwright-core over the Chrome DevTools Protocol. Bootstrap (hdc connect → aa starthdc fport → CDP endpoint) is delegated to ohos-playwright.

Why this exists

ArkWeb on HarmonyOS denies AF_UNIX socket creation in its sandbox, which breaks any tool that tries to launch Chrome the playwright way. connectOverCDP over a TCP-forwarded port works fine, and that's what this server uses end-to-end.

Related MCP server: browser-mcp-server

Install

npm i -g ohos-playwright-mcp ohos-playwright@^0.6.0 playwright-core

Requires Node ≥ 24 and hdc on PATH. Requires ohos-playwright ≥ 0.6.0.

MCP client config

{
  "mcpServers": {
    "ohos": {
      "command": "ohos-playwright-mcp"
    }
  }
}

If the peer deps live in a non-standard location, point at them explicitly:

{
  "mcpServers": {
    "ohos": {
      "command": "node",
      "args": ["/abs/path/to/server.mjs"],
      "env": {
        "ARKWEB_OHOS_PW_REGISTER": "/abs/path/to/ohos-playwright/dist/register.mjs",
        "ARKWEB_OHOS_PW_SETUP":    "/abs/path/to/ohos-playwright/dist/setup.mjs",
        "ARKWEB_PW_CORE":          "/abs/path/to/playwright-core/index.mjs"
      }
    }
  }
}

Other env vars:

  • OHOS_PW_INFO_PATH — where the CDP endpoint cache lives (default: <tmpdir>/ohos-playwright-cdp.json).

  • Any OHOS_PW_* vars consumed by ohos-playwright/setup (device serial, browser bundle name, port, etc.) — see that project's README.

Tools (61)

Navigationnavigate, navigate_back, navigate_forward, reload, wait, wait_for

Read-onlyevaluate, get_text, get_html, screenshot, snapshot

Tabs / lifecyclelist_pages, select_page, tab_new, tab_close, close, resize

Input (selector-based)click, hover, type, fill, fill_form, press_key, select_option, file_upload, drag

Input (raw mouse)mouse_move_xy, mouse_click_xy, mouse_down, mouse_up, mouse_drag_xy, mouse_wheel

Diagnosticsconsole_messages, handle_dialog

Networknetwork_requests, network_request, network_state_set, route, route_list, unroute

Cookiescookie_list, cookie_get, cookie_set, cookie_delete, cookie_clear

Storagelocalstorage_list, localstorage_get, localstorage_set, localstorage_delete, localstorage_clear, sessionstorage_list, sessionstorage_get, sessionstorage_set, sessionstorage_delete, sessionstorage_clear, storage_state

Visualizationhighlight, hide_highlight

Heavypdf_save (may not work on foreground ArkWeb), start_tracing, stop_tracing

Each tool's JSON schema is published via standard MCP tools/list.

ArkWeb-specific notes

  • screenshot uses raw CDP Page.captureScreenshot to skip Playwright's font-wait, which hangs on some ArkWeb pages.

  • snapshot calls Accessibility.getFullAXTree via a fresh CDP session because Playwright 1.x removed page.accessibility.

  • tab_new uses the /json/new HTTP endpoint with PUT (ArkWeb rejects the playwright context.newPage() path).

  • navigate_back / navigate_forward use waitUntil: 'commit' because ArkWeb doesn't re-fire load for cached history navigation.

  • ArkWeb tabs can occasionally crash into arkweb-error://webdata/ under heavy CDP load. The server auto-recovers by spawning a blank tab.

License

MIT © 2026 social4hyq

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    Not graded
    maintenance
    A MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.
    8
    2
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A universal browser automation MCP server using Playwright, enabling programmatic control of Chrome with 63 tools for navigation, interaction, media control, and CDP-based diagnostics.
    63
    6 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.
    11 npm
    1
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    An MCP server for generic browser automation using Playwright. Enables MCP clients to navigate pages, inspect elements, execute JavaScript, capture screenshots, and monitor console logs and network traffic via a headless Chromium instance.
    7
    -