Get the FREE Ultimate OpenClaw Setup Guide →

mcp

puppeteer + mcp + steel [WIP]

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio rdvo-mcp-server node path/to/steel-puppeteer/dist/index.js \
  --env STEEL_LOCAL="true"

How to use

The Steel Puppeteer MCP server exposes a browser automation layer powered by Puppeteer and integrated with Steel. It allows LLMs to navigate web pages, take screenshots, click elements, fill forms, evaluate JavaScript, and extract content from pages, all within a real browser session managed by Steel. Tools include puppeteer_navigate, puppeteer_screenshot, puppeteer_click, puppeteer_fill, puppeteer_select, puppeteer_hover, puppeteer_evaluate, puppeteer_get_content, and puppeteer_scroll, plus access to console logs and captured screenshots through dedicated endpoints. To use it, run the server and feed it commands corresponding to these tools; the server will execute the actions in a browser context and return results such as page content, selectors, or image data as needed. You can also configure whether to use a local Steel instance or the Steel cloud service via environment variables.

Key capabilities include: navigating to URLs with configurable timeouts and wait strategies, capturing full-page or element-specific screenshots, programmatically clicking and filling inputs, selecting options, hovering, executing JavaScript, extracting content with optional selectors, and scrolling to trigger lazy loading. Logs from the browser console are exposed at console://logs, while screenshots are accessible as screenshot://<name> after capture. This setup supports local and remote Steel integrations and is designed to be used by LLMs through a consistent MCP interface.

How to install

Prerequisites:

  • Node.js and npm installed on your system
  • Basic familiarity with running npm scripts

Step-by-step installation:

  1. Install dependencies npm install

  2. Build the project npm run build

  3. Start the server npm start

  4. Configure your client (e.g., Claude Desktop) to point to the running MCP server (default port 3000 unless configured otherwise). For Claude Desktop, use a config similar to: { "mcpServers": { "steel-puppeteer": { "command": "node", "args": ["path/to/steel-puppeteer/dist/index.js"], "env": { "STEEL_LOCAL": "true" } } } }

  5. Verify the server is listening and reachable by issuing a basic navigate or get_content request and checking the responses.

Additional notes

Environment variables:

  • STEEL_LOCAL: true to use a local Steel instance, false to use Steel cloud (default: false)
  • STEEL_API_KEY: required if STEEL_LOCAL is false and using the cloud service
  • STEEL_URL: optional custom Steel instance URL

Troubleshooting tips:

  • Ensure Node.js dependencies are installed and built correctly before starting the server.
  • If Puppeteer complains about missing dependencies, review the Puppeteer troubleshooting guides.
  • When using the cloud Steel service, verify your API key and permissions.
  • If running locally, confirm STEEL_LOCAL=true and that the Steel instance is accessible at the expected URL.
  • Check console://logs for browser console output to diagnose script errors or page issues.

Configuration tips:

  • Use the provided environment variables to switch between local and cloud Steel deployments without code changes.
  • In Claude Desktop, place the path to the built index.js in the command args to ensure seamless integration.

Related MCP Servers

Sponsor this space

Reach thousands of developers