# peek > Open-source, local-first browser companion for AI coding agents. Records a masked, authenticated browser session to a local SQLite store and exposes it to coding agents over MCP — console errors, failed network calls, the DOM at any timestamp, and a generated Playwright repro. No cloud, no telemetry. Apache-2.0, pre-1.0 alpha. peek ships as a Chrome MV3 extension, a stdio MCP server (`@peekdev/mcp`), and a CLI (`@peekdev/cli`). Run `npx @peekdev/cli init` to wire the MCP server into Claude Code, Cursor, Cline, or Windsurf, then load the extension and record a session your agent can read. ## Docs - [Getting started](https://peek.cubenest.in/getting-started): install the CLI + extension and register the MCP server - [Privacy and redaction](https://peek.cubenest.in/privacy): local-only storage, masking, and the five-level permission model ## Recipes - [Find a past session by what happened](https://peek.cubenest.in/recipes/find-a-past-session-by-what-happened.md): Use search_sessions to locate a recorded session by text, origin, date range, or error presence — then drill in with get_session_summary to confirm it. - [Verify and share a tamper-evident audit trail](https://peek.cubenest.in/recipes/verify-and-share-a-tamper-evident-audit-trail.md): Use verify_audit_log to confirm the audit hash chain is intact, then bundle and share a portable audit archive with peek audit bundle. - [Set up peek with VS Code (Copilot) in 2 minutes](https://peek.cubenest.in/recipes/set-up-peek-with-vscode.md): Wire the peek MCP server into VS Code Copilot via .vscode/mcp.json (the servers key, not mcpServers), then verify Copilot can call list_recent_sessions. - [Using peek with your AI coding agent](https://peek.cubenest.in/recipes/using-peek-with-your-agent.md): A vendor-neutral guide to when to reach for peek and what its MCP tools do — read-path forensics, repro, and consented write tools — for any MCP client. - [Replay how the DOM changed around a failure](https://peek.cubenest.in/recipes/diff-the-dom-over-time.md): Have your AI agent replay how the DOM changed in a recorded peek session — track one element over time, or every change in a window around a moment. - [Find the network call that broke your flow](https://peek.cubenest.in/recipes/find-the-network-call-that-broke-the-flow.md): Have your AI agent surface the failed and notable network requests in a recorded peek session and pin down which call broke your flow. - [Triage every console error in a recorded session](https://peek.cubenest.in/recipes/triage-console-errors-from-a-recorded-session.md): Have your AI agent list every console error in a recorded peek session, oldest first, then trace any error back to the user action that triggered it. - [See the causal chain that led to an error](https://peek.cubenest.in/recipes/what-led-to-this-error.md): Give your AI agent a console error from a recorded session and get back a causal chain of user actions, DOM changes, and network errors that led to it. - [Let an AI agent assist a job application while you supervise](https://peek.cubenest.in/recipes/assisted-apply-with-supervision.md): Use peek's Level-4 control shield + input handoff so an MCP agent fills application forms from your résumé under a visible shield and hands you the rest. - [Let Claude Code reproduce a bug on your authenticated staging dashboard](https://peek.cubenest.in/recipes/claude-code-on-staging.md): Give Claude Code a live, read-only view of your authenticated staging app over MCP. Your agent reads the DOM, console, and network — and proposes a fix. - [Clone a web app's UI from a real peek session](https://peek.cubenest.in/recipes/clone-a-web-app-with-peek.md): Point an agent at any web app, let peek record the real DOM and actions, then have it read that capture over MCP and rebuild the app with a modern UI. - [Generate a Playwright repro from a real browser session](https://peek.cubenest.in/recipes/generate-playwright-repro-from-real-browser-session.md): Turn a recorded peek session into a runnable Playwright spec by asking your agent to call generate_playwright_repro. Lock in the repro before you forget. - [Let Cursor see the real network calls your SPA is making](https://peek.cubenest.in/recipes/let-cursor-see-real-network-calls.md): Wire Cursor into peek's MCP server so it can read the actual network requests, headers, and responses your SPA fires — not your guess at what they look like. - [Security-review a flow by letting your agent inspect the live DOM](https://peek.cubenest.in/recipes/security-review-flow-with-ai-agent.md): Hand your AI agent a recorded peek session and have it surface tokens-in-URLs, leaked secrets, mixed content, and risky third-party calls in the flow. - [Set up peek with Claude Code in 2 minutes](https://peek.cubenest.in/recipes/set-up-peek-with-claude-code.md): Install the peek CLI, run peek init, and Claude Code starts seeing your captured browser sessions. No manual JSON editing of ~/.claude.json. - [Set up peek with Cline, Windsurf, or Codex CLI](https://peek.cubenest.in/recipes/set-up-peek-with-cline-windsurf-codex.md): Per-client MCP wiring for Cline, Windsurf, and Codex CLI — what peek init handles automatically and the manual JSON block when it can't. - [Set up peek with Cursor](https://peek.cubenest.in/recipes/set-up-peek-with-cursor.md): Run peek init and let it write the peek MCP server into your Cursor mcp.json — or paste the canonical JSON block if you'd rather not run the wizard. - [Understand peek's per-action approval model for sensitive flows](https://peek.cubenest.in/recipes/use-peek-with-per-action-approval.md): peek's five-level permission model, the destructive-action override, and the audit log — the safety guarantees behind every execute_action call. ## Optional - [peek vs Browser MCP tools](https://peek.cubenest.in/vs-browser-mcp): how peek differs from browsermcp, playwright-mcp, and browser-use - [peek vs Jam.dev](https://peek.cubenest.in/vs-jam-dev): peek's consumer is your AI agent; Jam's is a human reviewer