Provides browser automation capabilities using Puppeteer and Steel, configurable for local or cloud instances.
A Model Context Protocol server that provides browser automation capabilities using Puppeteer and Steel. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
puppeteer_navigate
url
(string, required): URL to navigate totimeout
(number, optional, default: 60000): Navigation timeout in millisecondswaitUntil
(string, optional, default: "domcontentloaded"): When to consider navigation succeeded. Options: "load", "domcontentloaded", "networkidle0", "networkidle2"puppeteer_screenshot
name
(string, required): Name for the screenshotselector
(string, optional): CSS selector for element to screenshotpuppeteer_click
selector
(string, required): CSS selector for element to clickpuppeteer_fill
selector
(string, required): CSS selector for input fieldvalue
(string, required): Value to fillpuppeteer_select
selector
(string, required): CSS selector for element to selectvalue
(string, required): Value to selectpuppeteer_hover
selector
(string, required): CSS selector for element to hoverpuppeteer_evaluate
script
(string, required): JavaScript code to executepuppeteer_get_content
selector
(string, optional): CSS selector to get content from specific elements. If not provided, returns whole page contentpuppeteer_scroll
scrollDelay
(number, optional, default: 100): Delay between scrolls in millisecondsmaxScrolls
(number, optional, default: 50): Maximum number of scrollsThe server provides access to two types of resources:
Console Logs (console://logs
)
Screenshots (screenshot://<name>
)
To use the Steel Puppeteer server with Claude Desktop, add the following configuration to your Claude Desktop config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
{
"mcpServers": {
"steel-puppeteer": {
"command": "node",
"args": ["path/to/steel-puppeteer/dist/index.js"],
"env": {
"STEEL_LOCAL": "true"
}
}
}
}
Replace "path/to/steel-puppeteer/dist/index.js"
with the actual path to the compiled JavaScript file on your system.
The Steel Puppeteer server can be configured using the following environment variables:
STEEL_LOCAL
(optional, default: "false"): Set to "true" to use a local Steel instance instead of the cloud service.STEEL_API_KEY
(required only if STEEL_LOCAL
is "false"): Your Steel API key for authentication when using the cloud service.STEEL_URL
(optional): The URL of your Steel instance if using a custom deployment.If you're running the Steel Puppeteer server directly (not through Claude Desktop), you can set these environment variables in your shell or create a .env
file in the project root. Here's an example .env
file for local usage:
STEEL_LOCAL=true
If you're using the Steel cloud service, your .env
file would look like this:
STEEL_API_KEY=your-steel-api-key
STEEL_LOCAL=false
To start the Steel Puppeteer server:
Install dependencies:
npm install
Build the project:
npm run build
Start the server:
npm start
Open Claude Desktop and browse away! The server will start and listen on the specified port (default: 3000).
For more detailed configuration options and advanced usage, refer to the Steel documentation and the Puppeteer API reference.
Fetches and converts website content to Markdown with AI-powered cleanup, OpenAPI support, and stealth browsing.
Execute XPath queries on XML content.
An MCP server for advanced web crawling, content extraction, and AI-powered analysis using the crawl4ai library.
Browser automation using Puppeteer, with support for local, Docker, and Cloudflare Workers deployments.
Fetches and caches daily articles from GeekNews using web scraping.
Automate Chrome via its debugging port with session persistence. Requires Chrome to be started with remote debugging enabled.
A fast, lightweight MCP server that empowers LLMs with browser automation via Puppeteer’s structured accessibility data, featuring optional vision mode for complex visual understanding and flexible, cross-platform configuration.
Control web browsers using the Selenium WebDriver for automation and testing.
A browser screenshot tool to capture scrolling screenshots of webpages using Playwright, with support for intelligent section identification and multiple output formats.
Turn websites into datasets with Scrapezy