Monito with Codex
Have Codex verify a change in a real browser with one Monito check.
Give Codex a URL and what should happen. Monito returns the verdict and browser evidence without requiring a saved test.
Check your change from the terminal
Install the CLI and sign in once:
npm install -g @monitodev/cli
monito auth login
monito check https://preview.example.com/signup "The form rejects a malformed email" --jsonMonito waits for a verdict and returns checkId, projectId, runId, status, cause when available, duration, credits, reportUrl, and the first failing check or bug. Exit 0 means passed; 1 means failed or error. Use --no-wait to return IDs immediately, or --timeout 600000 to set the wait limit. On timeout (exit 6), resume with monito run wait <runId> --json; launching again spends credits again.
Use a deployed preview reachable from Monito. Localhost tunneling is not supported. Without a project selection, Monito matches the URL's origin against any environment you own, or creates a project from the host when nothing matches. Checks show in Runs with a Check label and stay out of saved-test lists, suites, Discovery coverage and status pages until saved.
For Vercel, Netlify, and other deployment previews whose hostname changes, pass your existing project ID so every deployment stays in the same project:
monito check https://monito-x1y2z3-team.vercel.app/signup "The form rejects a malformed email" --project <projectId> --jsonMonito selects an environment with a matching origin, falling back to the project's default. A preview on a different origin keeps its full URL. In MCP, pass projectId to check; optionally pass environmentId to choose an owned environment in that project. Its settings apply while the check still visits the supplied URL.
Each CLI invocation or MCP call generates a request ID. For retries after an uncertain network response, supply the same --request-id <id> (CLI) or requestId (MCP/API) to reuse the original check and run without another charge. A new invocation without an explicit ID starts a new check.
Keep it as a test
monito check save <checkId> --name "Signup validation"Or use Save as test on the report. The saved test retains its run history; add an automation separately to monitor it.
Connect MCP
After the CLI login above, add the local server to ~/.codex/config.toml:
[mcp_servers.monito]
command = "npx"
args = ["-y", "@monitodev/cli", "mcp", "--max-wait", "45"]
tool_timeout_sec = 60This uses the shared CLI login. The 45-second wait leaves room inside the client timeout; resume longer runs with wait_for_run. See the official Codex MCP configuration.
The default tools are check, save_check, get_run, wait_for_run, list_projects, list_scenarios, and run_scenario. Ask the agent:
Use Monito to check that https://preview.example.com/signup rejects a malformed email. Show the verdict and report link. If the wait ends, resume the same run.
Use save_check with a name when you want to keep it. For the full catalog, add ?toolsets=all to a hosted URL or --toolsets all to the local server arguments. Explicit lists such as check,core,defects also work. See MCP tools.