se-cli — Browser Automation for VS CodeA Visual Studio Code extension for se-cli, the token-efficient Selenium browser automation CLI for AI agents and humans. This extension brings se-cli into VS Code: a sidebar browser panel that renders aria snapshots and screenshots, a status bar that reflects daemon state, one-click commands for common browser actions, and automatic registration of the se-cli MCP server so Copilot agents can drive the browser directly.
Features
Requirements
InstallationFrom the VS Code Marketplace (coming soon)Search for "se-cli" in the Extensions view ( From source (development)
Then press F5 in VS Code to launch an Extension Development Host with
the extension loaded, or package a
From a
|
| Setting | Type | Default | Description |
|---|---|---|---|
se-cli.browser |
chrome | edge | firefox |
chrome |
Browser to launch when starting a session. |
se-cli.headless |
boolean |
true |
Run headless. Disable to show the browser window. |
se-cli.session |
string |
default |
Named session for browser isolation / parallel sessions. |
se-cli.autoSnapshot |
boolean |
true |
Auto-take an aria snapshot after navigation/interaction. |
se-cli.cliPath |
string |
"" |
Path to the se-cli binary. Empty = auto-detect, then npx fallback. |
Example settings.json:
{
"se-cli.browser": "edge",
"se-cli.headless": false,
"se-cli.session": "demo"
}
Commands
| Command | Title | Description |
|---|---|---|
se-cli.openBrowser |
se-cli: Open Browser | Pick a browser and start a daemon session. |
se-cli.closeBrowser |
se-cli: Close Browser | Stop the daemon and close the browser. |
se-cli.navigate |
se-cli: Navigate to URL | Run goto <url>. |
se-cli.snapshot |
se-cli: Take Aria Snapshot | Run snapshot and render the tree in the panel. |
se-cli.screenshot |
se-cli: Take Screenshot | Run screenshot and display the image in the panel. |
se-cli.click |
se-cli: Click Element | Click by ref (e1) or CSS selector. |
se-cli.fill |
se-cli: Fill Input | Fill an input by ref/selector with text. |
se-cli.showPanel |
se-cli: Show Browser Panel | Reveal and focus the sidebar panel. |
se-cli.runCommand |
se-cli: Run Command | Quick pick of all available commands. |
se-cli.checkStatus |
se-cli: Check Daemon Status | Run list and show active sessions. |
MCP server integration
The se-cli MCP server is declared in package.json under
contributes.mcpServers:
"mcpServers": [
{
"label": "se-cli",
"command": "npx",
"args": ["-y", "@browsers-cli/se-cli", "mcp-server"],
"scope": "workspace"
}
]
This exposes every se-cli browser tool to VS Code's agent/MCP integration. You
can also configure it manually in .vscode/mcp.json:
{
"servers": {
"se-cli": {
"command": "npx",
"args": ["-y", "@browsers-cli/se-cli", "mcp-server"]
}
}
}
See the se-cli MCP guide for the full list of 40+ tools (navigation, interaction, assertions, network mocking, storage, tabs, and more).
Architecture
se-extension-vscode/
├── package.json # Extension manifest (commands, config, MCP, views)
├── tsconfig.json
├── media/
│ ├── icon.png # Extension marketplace icon (256x256 PNG)
│ └── se-cli.svg # Activity bar icon
├── assets/
│ └── img/ # Logo and branding assets (SVG)
└── src/
├── extension.ts # Entry point: commands, status bar, wiring
├── se-cli-runner.ts # Spawns se-cli / npx, captures output
└── webview-provider.ts # Browser panel (snapshots, screenshots, history)
The extension is a thin client over the se-cli CLI. Each command spawns
se-cli <args> (or npx -y @browsers-cli/se-cli <args>), which forwards the
request to the long-lived se-cli daemon that holds the WebDriver instance. The
daemon persists independently of the extension, so closing VS Code does not kill
an active browser session.
VS Code ──(spawns)──> se-cli ──(JSON line over socket)──> daemon ──(WebDriver)──> browser
│ ▲
└──(MCP over stdio)──> se-cli mcp-server ──────────────────┘
Related
- se-cli — https://github.com/se-cli/se-cli
- se-mcp — https://github.com/se-cli/se-mcp
- Homepage — https://se-cli.github.io/se-cli/
- npm — https://www.npmjs.com/package/@browsers-cli/se-cli
License
Apache-2.0. See LICENSE.