mcp scrape copilot
Enables LLMs to perform web browsing tasks, take screenshots, and execute JavaScript using Puppeteer for browser automation.
Enables LLMs to perform web browsing tasks, take screenshots, and execute JavaScript using Puppeteer for browser automation.
A Model Context Protocol server that provides browser automation capabilities using Puppeteer. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
Input: url
(string)
puppeteer_screenshot
Inputs:
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
Input: selector
(string): CSS selector for element to click
puppeteer_hover
Input: selector
(string): CSS selector for element to hover
puppeteer_fill
Inputs:
selector
(string): CSS selector for input fieldvalue
(string): Value to fillpuppeteer_select
Inputs:
selector
(string): CSS selector for element to selectvalue
(string): Value to selectpuppeteer_evaluate
script
(string): JavaScript code to executeThe server provides access to two types of resources:
console://logs
)Includes all console messages from the browser
Screenshots (screenshot://<name>
)
Here's the Claude Desktop configuration to use the Puppeter server:
NOTE The docker implementation will use headless chromium, where as the NPX version will open a browser window.
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"]
}
}
}
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
Docker build:
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
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.
[
{
"description": "Navigate to a URL",
"inputSchema": {
"properties": {
"url": {
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "puppeteer_navigate"
},
{
"description": "Get the history of visited URLs, most recent urls first",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "puppeteer_page_history"
},
{
"description": "Make an HTTP request with curl",
"inputSchema": {
"properties": {
"body": {
"description": "Body to include in the request",
"type": "object"
},
"headers": {
"description": "Headers to include in the request",
"type": "object"
},
"type": {
"description": "Type of the request. GET, POST, PUT, DELETE",
"type": "string"
},
"url": {
"description": "Url to make the request to",
"type": "string"
}
},
"required": [
"type",
"url",
"headers",
"body"
],
"type": "object"
},
"name": "make_http_request"
},
{
"description": "Semantically search for requests that occurred within a page URL. Returns the top 10 results.",
"inputSchema": {
"properties": {
"page_url": {
"description": "The page within which to search for requests",
"type": "string"
},
"query": {
"description": "Your search request. Make this specific and detailed to get the best results",
"type": "string"
}
},
"required": [
"query",
"page_url"
],
"type": "object"
},
"name": "semantic_search_requests"
}
]