# Overview

> For the complete documentation index, see [llms.txt](/llms.txt)

unotest is built for agents. Your editor's AI agent connects to the MCP server
and drives your real app to write, run and repair tests — while you stay in
control of what gets committed.

## What the agent does

1. **Explore** — reads a [semantic snapshot](/start/how-it-works/) and interacts
   with the live app through MCP tools.
2. **Record** — captures actions into a scenario with stable selectors and
   `step("intent", …)` labels.
3. **Run** — executes the scenario through the sandboxed engine.
4. **Repair** — on failure, pauses, inspects, and proposes a fix.
5. **Hand off** — you review the `.js` diff and commit.

## The contract

- The agent calls ~37 [MCP tools](/reference/mcp-tools/) — it doesn't need to
  know your infrastructure.
- `agent_fix` **never calls an LLM and never auto-applies** a patch. The agent
  forms the diff; the human approves it.
- Output is always plain `.js` in the repo — auditable, reviewable, revertible.

## For agents reading this

The whole site is machine-readable: every page has a `.md` form, there's a
[`/llms.txt`](/llms.txt) index and a [`/llms-full.txt`](/llms-full.txt) dump. See
[Machine-readable docs](/agent/machine/).

## Next

- [Connect your editor](/agent/connect/)
- [Authoring guide](/agent/authoring/)
- [Worked example — the exact MCP call trace](/agent/worked-example/)
- [MCP tools reference](/reference/mcp-tools/)
