Skip to content

The Claude Agent SDK is the engine behind Claude Code, exposed as a Python and TypeScript library. You hand query() a prompt and an options object and iterate the typed messages it streams back. The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the browser.

Available in TypeScript and Python.

Requirements

  • Steel API Key: Active Steel subscription
  • Anthropic API Key: Access to a Claude 4 model
  • Runtime: Node.js 20+ or Python 3.10+
  • Packages: @anthropic-ai/claude-agent-sdk or claude-agent-sdk, plus steel-sdk and playwright

Connect Steel to the Claude Agent SDK

Wrap a Steel session in a tool() and bundle it into an in-process MCP server:

typescript
import { createSdkMcpServer, query, tool } from "@anthropic-ai/claude-agent-sdk";
import { chromium } from "playwright";
import Steel from "steel-sdk";

const steel = new Steel({ steelAPIKey: STEEL_API_KEY });

const openSession = tool(
  "open_session",
  "Open a Steel cloud browser session.",
  {},
  async () => {
    const session = await steel.sessions.create({});
    const browser = await chromium.connectOverCDP(
      `${session.websocketUrl}&apiKey=${STEEL_API_KEY}`,
    );
    return {
      content: [
        { type: "text", text: JSON.stringify({ sessionId: session.id }) },
      ],
    };
  },
);

const steelServer = createSdkMcpServer({
  name: "steel",
  version: "1.0.0",
  tools: [openSession],
});

Pass the server into query() via mcpServers and pre-approve calls with allowedTools: ["mcp__steel__*"]. Drop the SDK's built-in tools with tools: [] so the agent only sees Steel.

Full runnable starter: Steel + Claude Agent SDK recipe →

Resources

SOP Documentation Hub - Built from Steel.dev Official Docs