Skip to main content
@reticlehq/server hosts the WebSocket your app dials into, exposes the MCP tools your agent calls, and ships the reticle binary. Version 2.8.0. Licensed under SEE LICENSE IN LICENSE, not Apache 2.0 like the rest. This is the package the enterprise terms apply to.

Why it exists

Agents speak MCP. Browsers speak WebSocket. Somebody has to be fluent in both, and own the .reticle/ directory where flows, baselines, capsules and runs are stored. It never imports a DOM API.

Do you install it?

Not into your project. Your agent launches it:
The bin entry is reticle, so npx @reticlehq/server <command> works once it is on disk.

Dependencies

Runtime: @modelcontextprotocol/sdk, @reticlehq/core, ws, zod. Optional: playwright, pixelmatch, pngjs. Optional on purpose: Reticle observes the browser you already have. You only need Playwright for the paths that launch or diff one, which is reticle drive, reticle verify, and visual baselines.

Exports map

Starting a server in process

start(options?: StartOptions): Promise<RunningServer> boots the bridge plus the MCP stdio transport. startDaemon(options?: StartOptions): Promise<RunningServer> is what the detached daemon runs.

StartOptions

RunningServer

bridge: Bridge, close(): Promise<void>, and the optional realInput, verifyPort, isIdle(), agentAttached(), token.

What else the barrel exports

A large surface, because the test runner and the CI paths are built on it. The families:

Every CLI command

The commands this package installs, one page each.
Last modified on August 15, 2026