Steel MCP Server logo

Steel MCP Server

by steel-dev

The Steel MCP Server enables LLMs like Claude to navigate the web using Puppeteer-based tools and Steel. It's based on the Web Voyager framework and provides standard web actions like clicking, scrolling, typing, and taking screenshots.

View on GitHub

Last updated: N/A

What is Steel MCP Server?

Steel MCP Server is a Model Context Protocol server that allows Large Language Models (LLMs) like Claude to interact with the web. It leverages Puppeteer for browser automation and Steel for session management, providing a set of tools for common web actions.

How to use Steel MCP Server?

To use the Steel MCP Server, you need to configure Claude Desktop to connect to it. This involves cloning the repository, building the project, and modifying the Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json) to include the server details. You can run it in either Steel Cloud mode (using an API key) or local/self-hosted Steel mode.

Key features of Steel MCP Server

  • Browser automation with Puppeteer

  • Steel integration for browser session management

  • Visual element identification through numbered labels

  • Screenshot capabilities

  • Basic web interaction (navigation, clicking, form filling)

  • Lazy-loading support through scrolling

  • Local and remote Steel instance support

Use cases of Steel MCP Server

  • Search for a recipe and save the ingredients list

  • Track a package delivery status

  • Find and compare prices for a specific product

  • Fill out an online job application

FAQ from Steel MCP Server

How do I verify that the cloud service is working?

Verify your Steel API key when using cloud service and ensure your local Steel instance is running. Check that you have proper network connectivity to the service.

What can I do if pages aren't rendering correctly?

If you're having issues with how pages are being rendered or marked up and sent to claude, try to add a delay in your config via the GLOBAL_WAIT_SECONDS env variable.

What if I'm getting screenshot errors?

Ensure the page has fully loaded and check your viewport size settings. Make sure your system has sufficient available memory for capturing screenshots.

How can I improve performance?

Prompting claude the right way can go a long way in improving performance and avoiding silly mistakes it may produce. Leverage the session viewer to analyse where your model may be getting stopped out.

Why is Claude slowing down after many browser actions?

After ~15-20 browser actions claude starts to slow down as it's context window gets filled but with images. It shouldn't be horrible but we've noticed some latency here, especially with the Claude Desktop client lagging behind.