Web research agent (Steel + PRXY)
A minimal pattern for agents that read the live web without blowing the context window.
Architecture
Agent (Mastra / Anthropic SDK / curl)
│
▼
api.prxy.monster ──steel-browser──▶ Steel scrape API
│ │
├─ structured-crusher ◀── tool_result ─┘
├─ ipc
└─ patterns
│
▼
Anthropic / OpenAI (BYOK)
1. Keys and pipeline
export ANTHROPIC_BASE_URL=https://api.prxy.monster
export ANTHROPIC_API_KEY=prxy_live_xxx
export STEEL_API_KEY=steel_xxx # gateway env (cloud or local)
export PRXY_PIPE=steel-browser,mcp-optimizer,structured-crusher,code-crusher,ipc,patterns
In lair, pick the Web research (Steel) preset.
2. Single-shot research (curl)
curl https://api.prxy.monster/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 2048,
"messages": [{
"role": "user",
"content": "Read https://docs.steel.dev/ and list three things Steel does that PRXY does not."
}]
}'
PRXY injects steel_scrape, fulfills it, auto-loops, returns the final answer. Check the receipt for steel-browser.scrapes and crusher savings.
3. Mastra agent
import { Agent } from '@mastra/core';
import { anthropic } from '@ai-sdk/anthropic';
export const researcher = new Agent({
name: 'researcher',
instructions: 'Use steel_scrape when you need live web content. Cite URLs.',
model: anthropic('claude-sonnet-4-6'),
});
Env vars from Steel integration. PRXY handles tools — do not register a duplicate scrape tool in Mastra unless you bypass steel-browser.
4. When to add Steel SDK
Use steel-browser for read-only scrape. Use the Steel SDK when you need:
- Playwright/Puppeteer sessions
- Form fill, login, CAPTCHA
- Computer-use screenshots
Keep routing all model calls through PRXY for receipts and compression.