prxy.monster API-key BYOK is live. Start free

steel-browser

Category: integration · Cloud + Local · Status: v1 — production

Connects PRXY to Steel — cloud browsers and scrape API for AI agents. Injects steel_scrape, fulfills it from the gateway (no client-side Steel SDK required in your app), and pairs with crushers so page dumps stay bounded.

What it does

User: "Summarize https://example.com"
  → model calls steel_scrape
  → PRXY calls Steel POST /v1/scrape
  → tool_result (markdown + metadata) → model answers

On non-streaming requests, PRXY auto-loops: if the provider returns only steel_scrape tool_use blocks, the gateway fulfills them and calls the provider again (up to maxAutoLoops).

Prerequisites

Set STEEL_API_KEY on the gateway process (cloud App Runner env or local .env):

STEEL_API_KEY=steel_xxxxxxxx

Or pass per-module config:

steel-browser:
  apiKey: steel_xxxxxxxx

When to use it

✅ Research agents that need live web content
✅ Mastra / LangGraph / Anthropic SDK agents routed through PRXY
✅ With structured-crusher + ipc for long multi-page sessions

❌ Without a Steel API key
❌ Full browser automation (sessions, Playwright) — use Steel SDK in your agent; this module is scrape-first

Configuration

steel-browser:
  apiKey: steel_xxx          # optional if STEEL_API_KEY env is set
  toolName: steel_scrape
  defaultFormat: markdown    # markdown | html | cleaned_html | readability
  maxResultChars: 120000
  injectTool: true
  fulfillPending: true
  autoLoop: true
  maxAutoLoops: 3

Metrics emitted

- steel-browser
- mcp-optimizer
- structured-crusher
- code-crusher
- ipc
- patterns

Crushers run in pre() before the provider. Scrape results appended during auto-loop are not re-crushed in the same turn — use maxResultChars and markdown format to stay bounded, or rely on ipc on follow-up turns.

See Steel integration and Web research recipe.