Run the Puppeteer MCP Server agent and access its tools inside a Meshagent Room in the cloud.

Environment Variables

Set these environment variables based on your desired configuration (example shown for Docker):

  • DOCKER_CONTAINER: Set to "true" to signal container environment (required).

Steps

  1. Install the Meshagent CLI:

    pip install "meshagent[all]"
    
  2. Sign up and authenticate:

  3. Start the Puppeteer MCP Server as a Meshagent Room service:

    meshagent service test \
      --room=test \
      --role=agent \
      --image=meshagent/mcp-puppeteer:latest \
      --env=DOCKER_CONTAINER=true \
      --env=MESHAGENT_PORT=8001 \
      --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
      --name=mcp-puppeteer-service
    
    • This command launches a Meshagent Room with the Puppeteer MCP server available.
    • Rooms automatically close if inactive.
  4. Connect a chatbot agent with the Puppeteer toolkit:

    meshagent chatbot join \
      --room=test \
      --agent-name=sample \
      --name=sample \
      --toolkit=mcp-puppeteer
    
    • This starts a chatbot inside the room that can use the Puppeteer tool suite.
    • Multiple toolkits can be loaded for the same agent in a room.
    • The output will include a link to visit the room and interact with your agent and tools.

Tools Available

Browser automation and web scraping using Puppeteer tools via the MCP Server.

Tools Provided

ToolShort Description
puppeteer_clickClick an element on the page
puppeteer_evaluateExecute JavaScript in the browser console
puppeteer_fillFill out an input field
puppeteer_hoverHover an element on the page
puppeteer_navigateNavigate to a URL
puppeteer_screenshotTake a screenshot of the current page or a specific element
puppeteer_selectSelect an element on the page with Select tag

Tools Details

puppeteer_click

  • Click an element on the page
    ParameterTypeDescription
    selectorstringCSS selector for element to click

puppeteer_evaluate

  • Execute JavaScript in the browser console
    ParameterTypeDescription
    scriptstringJavaScript code to execute

puppeteer_fill

  • Fill out an input field
    ParameterTypeDescription
    selectorstringCSS selector for input field
    valuestringValue to fill

puppeteer_hover

  • Hover an element on the page
    ParameterTypeDescription
    selectorstringCSS selector for element

puppeteer_navigate

  • Navigate to a URL
    ParameterTypeDescription
    urlstringURL to navigate to
    allowDangerousboolean optionalAllow dangerous LaunchOptions (default: false)
    launchOptionsobject optionalPuppeteerJS LaunchOptions. Example: { headless: true, args: ['--no-sandbox'] }

puppeteer_screenshot

  • Take a screenshot of the current page or a specific element
    ParameterTypeDescription
    namestringName for the screenshot
    heightnumber optionalHeight in pixels (default: 600)
    selectorstring optionalCSS selector for element to screenshot
    widthnumber optionalWidth in pixels (default: 800)

puppeteer_select

  • Select an element on the page with Select tag
    ParameterTypeDescription
    selectorstringCSS selector for element to select
    valuestringValue to select

Meshagent & Resources