Puppeteer MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port | 3000 |
| TIMEOUT | No | Default operation timeout (ms) | 30000 |
| HEADLESS | No | Run browser headless | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tabsA | List all open browser tabs with their IDs, URLs, and titles |
| new_tabA | Open a new browser tab, optionally navigating to a URL. The new tab becomes active. |
| close_tabA | Close a browser tab. If no tabId provided, closes the active tab. |
| switch_tabB | Switch to a different tab, making it the active tab for subsequent operations. |
| navigateC | Navigate to a URL in the browser |
| reloadC | Reload the current page |
| go_backB | Navigate back in browser history |
| go_forwardB | Navigate forward in browser history |
| clickC | Click an element on the page |
| fillC | Fill a text input or textarea with a value |
| selectC | Select option(s) from a dropdown/select element |
| hoverC | Hover over an element on the page |
| focusC | Focus an element on the page |
| evaluateB | Execute JavaScript code in the browser context and return the result |
| get_contentC | Get the HTML or text content of the page or a specific element |
| query_selectorC | Get information about an element matching a CSS selector |
| wait_for_selectorC | Wait for an element matching the selector to appear in the page |
| wait_for_navigationC | Wait for the page to navigate to a new URL |
| waitA | Wait for a specified number of milliseconds |
| screenshotB | Capture a screenshot of the page or a specific element |
| pdfC | Generate a PDF of the current page |
| get_cookiesC | Get cookies for the current page or specified URLs |
| set_cookiesC | Set cookies in the browser |
| delete_cookiesC | Delete cookies by name |
| keyboardC | Press a key or key combination |
| mouseC | Perform mouse actions at specific coordinates |
| scrollC | Scroll the page or a specific element |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools have distinct purposes, such as navigation (navigate, go_back), interaction (click, fill, hover), and waiting (wait, wait_for_selector). However, some overlap exists between mouse actions: 'mouse' (perform actions at coordinates) and 'click' (click an element) could be confused for similar tasks, though descriptions clarify their differences.
All tool names follow a consistent snake_case pattern with clear verb_noun or verb_preposition_noun structures, such as 'click', 'close_tab', 'get_content', and 'wait_for_selector'. There are no deviations in naming conventions, making the set predictable and readable.
With 27 tools, the count is borderline high for a Puppeteer server, as it includes many specific actions like 'hover' and 'keyboard' that might be consolidated. While comprehensive, it risks feeling heavy compared to typical well-scoped sets of 3-15 tools, but it's reasonable for browser automation.
The tool set provides complete coverage for browser automation, including navigation, interaction, content retrieval, tab management, cookies, and waiting mechanisms. There are no obvious gaps; agents can perform full CRUD-like operations (e.g., get/set cookies, open/close tabs) and handle common workflows without dead ends.