Browses a page with Puppeteer and returns it as Markdown, using AI vision to deal with cookie banners, captchas and other interactive elements.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add puppeteer-vision --env OPENAI_API_KEY='<OPENAI_API_KEY>' -- npx -y puppeteer-vision-mcp-serve~/.codex/config.toml
[mcp_servers.puppeteer-vision]
command = "npx"
args = ["-y", "puppeteer-vision-mcp-serve"]
env = { OPENAI_API_KEY = "<OPENAI_API_KEY>" }
# codex mcp add puppeteer-vision --env OPENAI_API_KEY='<OPENAI_API_KEY>' -- npx -y puppeteer-vision-mcp-serve~/.cursor/mcp.json
{
"mcpServers": {
"puppeteer-vision": {
"command": "npx",
"args": [
"-y",
"puppeteer-vision-mcp-serve"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"puppeteer-vision": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"puppeteer-vision-mcp-serve"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"puppeteer-vision": {
"command": "npx",
"args": [
"-y",
"puppeteer-vision-mcp-serve"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"puppeteer-vision": {
"command": "npx",
"args": [
"-y",
"puppeteer-vision-mcp-serve"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"puppeteer-vision": {
"command": "npx",
"args": [
"-y",
"puppeteer-vision-mcp-serve"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}Environment variables
OPENAI_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.