Environment Variables
DOCKER_CONTAINER=true
Steps
-
Install dependencies:
-
Sign up and authenticate with Meshagent:
See: Meshagent CLI Quickstart -
Run the Puppeteer MCP server as an agent in a Room:
- This launches an MCP server in a temporary Room. Inactive rooms and agents are automatically shut down.
-
Join the Room with a chatbot using the Puppeteer toolkit:
- This starts a chatbot agent in the same Room and connects it to the Puppeteer toolkit.
- Multiple toolkits can be attached to a Room/agent.
- A browser-accessible Room link will be provided in the command output.
-
Try it out!
Visit the provided Room link in your browser and send the agent a message to use Puppeteer tools via chat.
Project Level Deployment
For production, deploy persistent tool agents and chatbots at the project level. These services join every new Room automatically, so you don’t need to start or join them each time.-
Create the MCP Puppeteer server as a persistent service:
-
Create a persistent chatbot service using the Puppeteer toolkit:
Tools Available
Summary
Tool | Short Description |
---|---|
puppeteer_click | Click an element on the page |
puppeteer_evaluate | Execute JavaScript in the browser console |
puppeteer_fill | Fill out an input field |
puppeteer_hover | Hover an element on the page |
puppeteer_navigate | Navigate to a URL |
puppeteer_screenshot | Take a screenshot of the current page or an element |
puppeteer_select | Select an element on the page with Select tag |
Tool Details
puppeteer_click
Click an element on the pageParameters:
selector
(string
): CSS selector for element to click
puppeteer_evaluate
Execute JavaScript in the browser consoleParameters:
script
(string
): JavaScript code to execute
puppeteer_fill
Fill out an input fieldParameters:
selector
(string
): CSS selector for input fieldvalue
(string
): Value to fill
puppeteer_hover
Hover an element on the pageParameters:
selector
(string
): CSS selector for element to hover
puppeteer_navigate
Navigate to a URLParameters:
url
(string
): URL to navigate toallowDangerous
(boolean
, optional): Allow dangerous LaunchOptions (default: false)launchOptions
(object
, optional): PuppeteerJS LaunchOptions. If changed and not null, browser restarts. Example:{ headless: true, args: ['--no-sandbox'] }
puppeteer_screenshot
Take a screenshot of the current page or a specific elementParameters:
name
(string
): Name for the screenshotheight
(number
, optional): Height in pixels (default: 600)selector
(string
, optional): CSS selector for element to screenshotwidth
(number
, optional): Width in pixels (default: 800)
puppeteer_select
Select an element on the page with Select tagParameters:
selector
(string
): CSS selector for element to selectvalue
(string
): Value to select