Your agent drives the browser.
Connect Reflow over MCP, then your coding agent can author plain-language flows, run them in a real cloud browser, and return the evidence.
$ claude mcp add --transport http reflow https://mcp.reflow.io/mcpThe browser loop, in one transcript.
The agent connects, inspects the live page, turns what worked into RFL, runs the flow,
and reads the terminal result and screenshot through the same MCP surface.
$ claude mcp add --transport http reflow https://mcp.reflow.io/mcp browser consent granted · OAuth 2.1 · token stored by client reflow:get_me → user=agent@example.test · scope=admin · team=Example reflow:open_session target_url=https://pr-418.example.test → session_id=3f450afe-b1cf-45d6-b558-2ec98d42fe7d · ready=true reflow:act line='click "sign in"' → status=completed · url=/login reflow:snapshot → title='Welcome' · heading='Welcome back' · textbox='Email' reflow:create_flow name='Login screen loads' ---
name: Login screen loads
url: /
---
```ts step="open the login screen"
open /
click "sign in"
expect "welcome"
``` reflow:create_run target_url=https://pr-418.example.test flow=login-screen-loads@latest → run_id=f41b5dc9-8d47-4a83-a92f-73ef1d559ad4 reflow:tail_run after=2 → status=succeeded · steps=3/3 · duration_ms=18420 · summary='intent satisfied' reflow:get_run_screenshot step_idx=2 → url=[redacted signed GET URL] · expires_in=300s PASS · login-screen-loads · screenshot returned · no heal required
Each call shown is a shipped MCP tool. RFL executes deterministically; self-heal is
available when a scripted step fails and a provider key is configured.
38 tools, one working surface.
Every tool description is hand-written. Together they cover authoring, DAGs, RFL runs,
live sessions, screenshots, email journeys, visual evidence, and custom harnesses.
Identity & guidance
3 toolsConfirm the signed-in user, load the authoring guides, and report tool friction.
get_me · get_context · give_feedback
Flows & DAGs
8 toolsCreate and version flows, inspect tags, follow dependencies, and reuse upstream output.
list_flows · create_flow · get_flow_graph · get_flow_memory · save_flow_content
Runs & results
10 toolsRun flows, tail step events, retrieve screenshots, and complete email-based journeys.
create_run · tail_run · get_run_screenshot · get_mailbox · wait_for_message
Live browser sessions
9 toolsOpen a cloud browser, read its state, drive it with RFL, and capture the viewport.
open_session · snapshot · act · screenshot · close_session
Harness & containers
8 toolsBoot approved team images, run shell commands, stream output, and inspect containers.
list_images · run_image · exec · tail_exec · get_container
Settings & keys
dashboard boundaryProvider keys and API tokens stay in the dashboard. MCP OAuth never asks for a token to paste.
OAuth 2.1 · provider keys · API tokens
Registry source: services/mcp/src/tools.ts · contract test: 38 registered tools
we test this the way a stranger would.
A cold agent gets nothing but the tool descriptions — no examples, no hints — and has to
author a flow, run it, and report the result. It authored
login-screen-loads, ran it, and we verified the
run succeeded in the database, not the transcript.
“Using only the tools available, author a flow that verifies the Reflow login screen, run it, and report PASS/FAIL with the run id.”
The harness then matched the reported run_id to the
disposable team and asserted runs.status = 'succeeded'
directly in the database.
- model
- claude-sonnet-5
- flow
- login-screen-loads
- tool calls
- 19 / 30
- provider spend
- $0.44 / $0.90 cap
- agent report
- PASS
- DB verification
- succeeded
Every PR, proven where you merge.
The GitHub Action runs selected flows against the pull-request preview and posts one
check per flow. Each check carries the run status, step evidence, screenshots, and any
visual diff from declared snapshot checkpoints.
All checks have passed
Reflow ran each selected flow against the PR preview.
- 18.42s · 3 screenshots
reflow / login-screen-loads - 22.08s · 4 screenshots
reflow / account-navigation - 27.61s · 5 screenshots
reflow / checkout-summary
reflow / login-screen-loads
The login screen rendered at the PR preview URL. All RFL expectations passed, and the
step screenshots are attached to the run.
- status
- succeeded
- browser
- chromium
- steps
- 3 / 3
- visual
- 1 snapshot passed
- run_id
- f41b5dc9-8d47-4a83-a92f-73ef1d559ad4
Give the browser to your agent.
Connect over MCP, then follow the getting-started path through one deterministic run.
Read the getting-started guide$ claude mcp add --transport http reflow https://mcp.reflow.io/mcp