You signed in with another tab or window. Reload
to refresh your session. You signed out in another tab or window. Reload
to refresh your session. You switched accounts on another tab or window. Reload
to refresh your session. Dismiss alert
afshawnlotfi / mcp-configurable-puppeteer Public
Configurable Puppeteer MCP Server
1 star
2 forks
Branches
Tags
Activity
Notifications
You must be signed in to change notification settings
main
Go to file
Code
| Name | | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| Latest commit
-------------
History
-------
1 Commit
| | |
| .gitignore | | .gitignore | | |
| README.md | | README.md | | |
| index.ts | | index.ts | | |
| package.json | | package.json | | |
| tsconfig.json | | tsconfig.json | | |
| View all files | | |
A Model Context Protocol server that provides browser automation capabilities using Puppeteer with configurable options. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment, with the ability to customize Puppeteer launch options through environment variables.
puppeteer_navigate
url
(string)puppeteer_screenshot
Capture screenshots of the entire page or specific elements
name
(string, required): Name for the screenshotselector
(string, optional): CSS selector for element to screenshotwidth
(number, optional, default: 800): Screenshot widthheight
(number, optional, default: 600): Screenshot heightpuppeteer_click
Click elements on the page
selector
(string): CSS selector for element to clickpuppeteer_hover
Hover elements on the page
selector
(string): CSS selector for element to hoverpuppeteer_fill
Fill out input fields
selector
(string): CSS selector for input fieldvalue
(string): Value to fillpuppeteer_select
Select an element with SELECT tag
selector
(string): CSS selector for element to selectvalue
(string): Value to selectpuppeteer_evaluate
Execute JavaScript in the browser console
script
(string): JavaScript code to executeThe server provides access to two types of resources:
Console Logs (console://logs
)
Screenshots (screenshot://<name>
)
PNG images of captured screenshots
You can configure Puppeteer launch options by providing a JSON string in the PUPPETEER_ARGS
environment variable. This allows you to customize browser behavior without modifying the server code.
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"],
"env": {
"PUPPETEER_ARGS": "{\"browser\": \"firefox\"}"
}
}
}
}
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"],
"env": {
"PUPPETEER_ARGS": "{\"defaultViewport\": {\"width\": 1280, \"height\": 800}}"
}
}
}
}
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"]
}
}
}
You can also specify a branch, tag, or commit:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer#main"]
}
}
}
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Configurable Puppeteer MCP Server
No releases published
No packages published
You can’t perform that action at this time.