Steel MCP Server

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STEEL_LOCALNoDetermines if Steel Voyager runs in local (true) or cloud (false) mode.false
STEEL_API_KEYNoRequired only when STEEL_LOCAL = false. Used to authenticate requests with the Steel endpoint.
STEEL_BASE_URLNoThe base URL for the Steel API. Override this if self-hosting the Steel server (either locally or in your own cloud environment). If STEEL_LOCAL = true and STEEL_BASE_URL is unset, it defaults to http://localhost:3000.https://api.steel.dev
GLOBAL_WAIT_SECONDSNoOptional. Number of seconds to wait after each tool action (for instance, to allow slow-loading pages).

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
navigate

Navigate to a specified URL

search

Perform a Google search by navigating to https://www.google.com/search?q=encodedQuery using the provided query text.

click

Click an element on the page specified by its numbered label from the annotated screenshot

type

Type text into an input field specified by its numbered label from the annotated screenshot. Optionally replace existing text first.

scroll_down

Scroll down the page by a pixel amount - if no pixels are specified, scrolls down one page

scroll_up

Scroll up the page by a pixel amount - if no pixels are specified, scrolls up one page

go_back

Go back to the previous page in the browser history

wait

Use this tool when a page appears to be loading or not fully rendered. Common scenarios include: when elements are missing from a screenshot that should be there, when a page looks incomplete or broken, when dynamic content is still loading, or when a previous action (like clicking a button) hasn't fully processed yet. Waits for a specified number of seconds (up to 10) to allow the page to finish loading or rendering.

save_unmarked_screenshot

Capture a screenshot without bounding boxes and store it as a resource. Provide a resourceName to identify the screenshot. It's useful for when you want to view a page unobstructed by annotations or the user asks for a screenshot of the page.