Providing Context

iterate captures rich, structured context about your UI feedback and provides two ways to hand it to an AI agent. Both workflows produce the same information — they differ only in delivery.

Workflow 1: Submit to agent (MCP)

When you have an MCP-connected agent, changes are visible to the agent automatically via MCP tools:

  1. Make changes — use the select, draw, and move tools to pin-point contextual changes for the agent.
  2. Trigger the agent — in Claude Code, run /iterate:go. The agent fetches changes, reads source files, implements them, and resolves each one.
  3. See results instantly — dev server hot-reloads. Changes transition from pending to resolved in the overlay.

Workflow 2: Copy context

This works with any AI agent — Claude Code, ChatGPT, Cursor, or anything that accepts text input.

  1. Make changes — use the select, draw, and move tools to pin-point contextual changes for the agent.
  2. Copy — click the Copy button. Structured markdown is placed on your clipboard.
  3. Paste — into your agent of choice. The structured context gives it everything it needs.

What gets copied

The Copy button produces structured markdown like this:

# UI Feedback from iterate

**Iteration**: iteration-a

## 1. "Make this button bigger"
- Intent: change | Severity: suggestion
- **Elements** (1):
  - **<Button>**`src/components/Hero.tsx:42`
    Selector: `.hero-section > button.cta`
    Size: 120×40 at (300, 500)
    Text: "Get Started"
    Styles: font-size: 14px, padding: 8px 16px, ...

## DOM Changes (1)
- **move** on <NavItem> — `src/components/Nav.tsx:15`
  Before: 200×40 at (0, 0) → After: 200×40 at (50, 0)

What context gets captured

For each annotated element, iterate captures:

Architecture

Daemon :4000 Browser Overlay MCP Server CLI Worktree Mgr Process Mgr Proxy WebSocket State Toolbar Selection Move Tabs Tools Prompts

MCP tools reference

These tools are available to any MCP-connected agent:

ToolDescription
iterate_list_iterationsList all active iterations (worktrees with dev servers)
iterate_create_iterationCreate a new iteration (git worktree + dev server)
iterate_pick_iterationPick a winning iteration — merge to base and remove all others
iterate_remove_iterationRemove a specific iteration
iterate_list_changesList all user-submitted changes with elements, components, and status
iterate_get_dom_contextGet full DOM context for a specific change
iterate_start_changeMark a change as in-progress
iterate_implement_changeMark a change as implemented with a summary
iterate_get_pending_changesGet all queued changes that need attention
iterate_get_pending_batchGet all queued changes and DOM changes from the latest batch
iterate_get_command_contextGet the context for the latest /iterate command
iterate_connection_statusCheck daemon connection health