Skip to main content
Glama
contributory

Steel MCP Server

by contributory
README.md
# Steel MCP Server

Stateless Streamable HTTP MCP server for the Steel Browser API, built with Hono and deployed on Ampt.

## Endpoint

- `POST /mcp` — MCP Streamable HTTP endpoint in JSON response mode
- `GET /` — service metadata
- `GET /health` — health check

Each MCP request gets a fresh MCP server and transport, so the deployment does not depend on sticky sessions or in-memory session routing.

## Authentication

Pass the Steel API key with each MCP request using one of these forms:

```http
Authorization: Bearer <STEEL_API_KEY>
```

or:

```http
steel-api-key: <STEEL_API_KEY>
```

or append `?apiKey=<STEEL_API_KEY>` to the MCP URL. `api_key` and `key` are accepted aliases.

For local development and server-side use, `STEEL_API_KEY` is also accepted as an environment-variable fallback.

## Structure

```text
index.ts               # Ampt entrypoint; registers the Hono fetch handler
src/
├── app.ts             # Hono routes
└── mcp/
    └── server.ts      # MCP server, Steel API client, CDP helpers, tools
test/
└── server.test.ts     # Hono + MCP transport tests
```

## Test

```bash
npm install
npm test
```

## Deploy to Ampt

Ampt loads the root `index.ts` entrypoint. The Hono app is attached to Ampt's web-standard fetch runtime via `fire(app)`.

```bash
npx @ampt/cli deploy prod --org bosuutap --app steel-mcp
```

The permanent environment exposes the MCP endpoint at:

```text
https://<your-ampt-domain>/mcp
```

## MCP tools

The server exposes 10 tools for stateless scraping/screenshots, Steel session lifecycle, computer-use actions, navigation, session screenshots, DOM selector extraction through CDP, and network request capture through CDP.

Maintenance

ActivityMaintained
ResponsivenessNo issues