Give Claude Code a real browser.
Glance is an MCP server that gives your AI agent eyes. Navigate, click, screenshot, and test — Claude literally sees your app.
One command to start
Works with Claude Code, Cursor, Windsurf, Claude Desktop, and any MCP-compatible client.
Add Glance to Claude Code
claudemcp add glance -- npx glance-mcp
With headed mode (watch the browser in real-time)
claudemcp add glance \
-e BROWSER_HEADLESS=false \
-- npx glance-mcp
Then just ask Claude:
$"Open localhost:3000 and test the login flow"
MCP Configuration Example
{
"mcpServers": {
"glance": {
"command": "npx",
"args": ["glance-mcp"],
"env": {
"BROWSER_HEADLESS": "false"
}
}
}
}
Install globally
npminstall -g glance-mcp
Install browser (first time only)
npxplaywright install chromium
Run as standalone server
glance
Claude Code Extensions
Install agent for Claude Code
curl -o ~/.claude/agents/glance-e2e-tester.md \
https://raw.githubusercontent.com/DebugBase/glance/main/agents/e2e-browser-tester.md
Install skill for Claude Code
mkdir -p ~/.claude/skills/glance-test
curl -o ~/.claude/skills/glance-test/SKILL.md \
https://raw.githubusercontent.com/DebugBase/glance/main/skills/glance-test/SKILL.md
How it works
Claude sees what the browser sees
Screenshots returned inline. Accessibility snapshots as structured text. Claude doesn't guess — it looks.
Inline Screenshots
Screenshots returned as base64 images directly in Claude's response. Claude sees the actual rendered pixels.
Accessibility Snapshots
Full page structure as a text tree. Every link, button, input, heading — with labels, roles, and states.
Security Profiles
URL allowlist/denylist, rate limiting, JS execution policies. Three profiles: local-dev, restricted, open.
Test Scenario Runner
Define multi-step tests in JSON or plain English. 12 assertion types, form filling, auth flow testing.
Visual Regression
Pixel-level screenshot comparison. Save baselines, detect changes. Powered by pixelmatch.
Network & Console
Monitor all HTTP requests and console messages. Catch failed API calls, CSP errors, JS exceptions.
Complete browser control
Browser Control
19 tools: navigate, click, type, hover, drag, select, press_key, scroll, screenshot, evaluate, console, network, go_back, go_forward, tab_new, tab_list, tab_select, close.
Test Automation
7 tools: scenario_run, scenario_status, assert, fill_form, auth_flow, watch_events, stop_watch.
Session & Visual
4 tools: session_start, session_end, session_list, visual_baseline, visual_compare.
Assertion Types
12 types: exists, notExists, textContains, textEquals, hasAttribute, hasClass, isVisible, isEnabled, urlContains, urlEquals, countEquals, consoleNoErrors.
Environment Variables
| Variable | Default | Description |
|---|---|---|
| BROWSER_HEADLESS | true | Show browser window |
| BROWSER_SECURITY_PROFILE | local-dev | local-dev / restricted / open |
| BROWSER_VIEWPORT_WIDTH | 1280 | Viewport width (px) |
| BROWSER_VIEWPORT_HEIGHT | 720 | Viewport height (px) |
| BROWSER_TIMEOUT | 30000 | Default timeout (ms) |
Built by DebugBase
Open-source, MIT licensed, community-driven.