MetaDock API reference
MetaDock exposes every browser in your workspace over 5 protocols totalling 668 operations. They drive the same visible, logged-in browsers you use by hand, they all run on your own machine, and they are all part of MetaDock Pro. The interactive reference below is generated from the OpenAPI spec.
Which protocols does MetaDock expose?
Five, and they are alternatives rather than layers: the same browser keeps its profile state whichever one you reach it through, so you can drive a session over REST and attach to it over CDP without losing anything.
| Protocol | Surface | What it is for |
|---|---|---|
| REST | 199 operations | HTTP calls from any language. The broadest surface, and the one most scripts start with. |
| WebSocket | 200 operations | Bidirectional control plus event subscriptions, for anything that needs to react rather than poll. |
| MCP | 198 tools | Model Context Protocol server. Lets Claude Desktop, Claude Code, or Cursor drive your real browsers. |
| W3C WebDriver | 71 operations | Standard WebDriver, so existing Selenium suites point at MetaDock with minimal changes. |
| Chrome DevTools Protocol | 12 domains handled explicitly | CDP discovery plus passthrough to Chromium, so Puppeteer and Playwright attach to a running browser. Unlisted domains are forwarded, so the reachable surface is larger than the count. |
Where do the machine-readable specs live?
Two files, both generated by the desktop app from its own route table rather than written by hand. openapi.yaml covers REST, WebDriver, CDP discovery and the MCP tool list, and is what the reference below renders. asyncapi.yaml covers the WebSocket surface, which AsyncAPI describes and OpenAPI cannot.
What do I need before the first call?
An API key minted inside the app, and the surface you are targeting switched on. Both live in Settings, both are off until you turn them on, and keys carry per-surface scopes so a REST key cannot drive CDP. A key can be narrowed further: to a set of capabilities, to a deny list of individual tools, to named profiles and layouts, and to an allowlist of domains it may navigate to. You also choose which tools are exposed at all, across every surface at once, and the sensitive groups such as browsing history start switched off. The full walkthrough, including base URLs and a first request in each protocol, is on the getting-started guide.
Read the API getting-started guide