Steel Puppeteer
About
Provides browser automation capabilities using Puppeteer and Steel, configurable for local or cloud instances.
Details
- Author
- rdvo
- Categories
- Web Scraping, Automation, Developer Tools
Jump to
Setup
Install Steel Puppeteer in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/rdvo/mcp-server
Follow the installation instructions in the repository README, then restart your MCP client.
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.
- Navigate to any URL in the browser
- Inputs:
- url(string, required): URL to navigate to
- timeout(number, optional, default: 60000): Navigation timeout in milliseconds
- waitUntil(string, optional, default: "domcontentloaded"): When to consider navigation succeeded. Options: "load", "domcontentloaded", "networkidle0", "networkidle2"
- Capture screenshots of the entire page or specific elements
- Inputs:
- name(string, required): Name for the screenshot
- selector(string, optional): CSS selector for element to screenshot
- Click elements on the page
- Input:selector(string, required): CSS selector for element to click
- Fill out input fields
- Inputs:
- selector(string, required): CSS selector for input field
- value(string, required): Value to fill
- Select an element with SELECT tag
- Inputs:
- selector(string, required): CSS selector for element to select
- value(string, required): Value to select
- Hover elements on the page
- Input:selector(string, required): CSS selector for element to hover
- Execute JavaScript in the browser console
- Input:script(string, required): JavaScript code to execute
- Extract content from the current page
- Input:selector(string, optional): CSS selector to get content from specific elements. If not provided, returns whole page content
- Scroll the page to trigger lazy-loading
- Inputs:
- scrollDelay(number, optional, default: 100): Delay between scrolls in milliseconds
- maxScrolls(number, optional, default: 50): Maximum number of scrolls
The server provides access to two types of resources:
- Browser console output in text format
- Includes all console messages from the browser
Screenshots(screenshot://<name>)
- PNG images of captured screenshots
- Accessible via the screenshot name specified during capture
- Browser automation with Puppeteer
- Steel integration for browser session management
- Console log monitoring and capture
- Screenshot capabilities
- JavaScript execution
- Basic web interaction (navigation, clicking, form filling)
- Content extraction with token limit handling
- Lazy-loading support through scrolling
- Local and remote Steel instance support
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.jsonon 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 ifSTEEL_LOCALis "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.envfile in the project root. Here's an example.envfile for local usage:
If you're using the Steel cloud service, your.envfile would look like this:
STEEL_API_KEY=your-steel-api-key STEEL_LOCAL=false
Open Claude Desktop and browse away! The server will start and listen on the specified port (default: 3000).
- If you encounter issues with Puppeteer, ensure that you have the necessary dependencies installed on your system. Refer to thePuppeteer troubleshooting guidefor more information.
- If using the Steel cloud service, make sure your Steel API key is valid and has the necessary permissions.
- If using a local Steel instance, ensure it's running and accessible at the specified URL (if custom) or at the default local address.
For more detailed configuration options and advanced usage, refer to the Steel documentation and the Puppeteer API reference.
Official Playwright MCP server for browser automation, page inspection, screenshots, and web interaction from Claude, Cursor, and other AI agents.
Render website screenshots with ScreenshotOne
Attaches to existing browser sessions using the Chrome DevTools Protocol for automation and interaction.
Help your AI agent finish more browser tasks.
Automate remote browsers using the BrowserCat API.
Remote browser automation using the BrowserCat API.
Take screenshots and read console logs from web pages using Playwright.
Automate browser tasks using the Browser Use API.
A Node.js server that enables AI assistants to control the Chrome browser via WebSocket. Requires the CodingBaby Chrome Extension.
A configurable MCP server for browser automation using Puppeteer.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


