mait.sh1.132.1

Private beta: features and content may change. No warranty; use at your own risk.

Install and configure mcp-playwright

Install the browser integration, connect it to your agent or to MCP Registry, then ask for your first page.

Beta
Steps

Five steps from install to a first question.

MCP Playwright is an MCP tool: you install it, point your agent at it, and then ask in plain language.

  1. Illustrative
    Check the version
    $ mcp-playwright version
    mcp-playwright 2.2.10
    Install the browser integration
    $ aidc install playwright latest nodejs@22
    Step 1 of 5

    Check that it arrived

    The MAIT image ships mcp-playwright and updates it with the image. It runs on Linux. On macOS and Windows, MCP Playwright runs in the managed Linux environment that AIDC Launch provides (see Prepare AIDC Launch). Install the browser integration and browsers with AIDC, which uses a private Node.js runtime.

    The service looks for the integration on its PATH, then under ~/.aidc/installs/playwright/<version>/bin/. Chromium and Firefox are enabled by default, and each must be installed. See AIDC and mait-image.

    What you get

    The version command answers, and the browsers are installed where the service looks for them.

  2. Illustrative
    Add it to the registry
    mcp_registry_add { "name": "playwright", "transport": "stdio",
                       "command": "/usr/local/bin/mcp-playwright", "args": ["serve"] }
    Step 2 of 5

    Register it as a backend of MCP Registry

    If you reach your tools through the registry, add playwright once and every client sees it with the playwright__ prefix. Follow the registry guide and call mcp_registry_add.

    What you get

    One entry in the registry that every client sees, with the tools prefixed playwright__.

  3. mcpServers entry
    {
      "mcpServers": {
        "playwright": {
          "command": "mcp-playwright",
          "args": ["serve"],
          "env": { "MCP_SUPPORTED_BROWSERS": "chromium,firefox" }
        }
      }
    }
    Step 3 of 5

    Configure your agent directly (generic)

    Any client that accepts an mcpServers launch entry uses this shape. Place it where your client keeps server configuration and restart the client.

    Leave MAIT_LOG_FORMAT unset in the launch environment.

    What you get

    A client that starts the service on its own and keeps one session open.

  4. ClientWhere the entry goes
    Claude CodeThe mcpServers entry from step 3, in the project's .mcp.json
    CursorThe same entry, in Cursor's mcp.json
    Codex, VS Code and other clientsThe same entry in the client's own MCP settings
    Step 4 of 5

    Agent CLI examples

    The client must keep one session open and be able to read resources.

    What you get

    The same server entry in whichever client you use.

  5. Illustrative conversation
    YouOpen https://example.com in Chromium and tell me what is on the page.
    Tool callbrowser_start { "browser": "chromium" }
    What happensA Chromium instance starts and returns a browserId.
    Tool callbrowser_navigate { "browserId": "<chromium-id>", "url": "https://example.com" }
    Tool callbrowser_snapshot { "browserId": "<chromium-id>" }
    AgentThe page title is Example Domain, with one heading and a link to learn more.
    Illustrative conversation
    YouCompare this page in Chromium and Firefox and save a screenshot from each.
    Tool callbrowser_group_create { "groupId": "comparison", "browserIds": ["<chromium-id>", "<firefox-id>"] }
    Tool callbrowser_navigate { "browserId": "comparison", "url": "https://example.com" }
    What happensOne call reaches both browsers and returns a summary with one result per browser.
    Tool callbrowser_take_screenshot { "browserId": "<chromium-id>", "filename": "comparison-chromium.png" }
    Tool callbrowser_take_screenshot { "browserId": "<firefox-id>", "filename": "comparison-firefox.png" }
    What happensTwo screenshots are published as resources; the replies carry URIs, not image data.
    AgentBoth engines loaded the page. I saved one screenshot each, so you can compare them.
    Illustrative conversation
    YouUse a separate browser for the admin test account and stop it when done.
    Tool callbrowser_start { "browser": "firefox" }
    What happensA second browser with its own id and its own website state starts in this session.
    Tool callbrowser_list {}
    AgentTwo browsers are running in this session. I will sign in as the admin only in the Firefox one.
    Tool callbrowser_stop { "browserId": "<firefox-id>" }
    What happensThe browser ends and its id disappears from the list.
    Step 5 of 5

    Talk to it

    Ask in plain language. The agent starts browsers, keeps their ids and fetches captures by reference.

    What you get

    Answers from a real page, with evidence returned as references instead of pasted images.

Result

Installed, reachable and answering.

MCP Playwright is installed, reachable from your agent and answering in conversation. Keep all calls on one connection: ids and resources belong to that session.

Next

Where to go next.