# DOMShell

DOMShell lets an AI agent inspect Chrome pages through filesystem-style commands. Use it to browse page content and extract data through a browser session.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 59
- Author: apireno
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/apireno/DOMShell/tree/HEAD/mcp-server
- Updated: 2026-08-14
- HTML: https://affpapa.org/en/nevibecode/mcp/domshell

## What it does

DOMShell represents Chrome’s accessibility tree as folders and files. An agent can inspect pages with commands such as `ls`, `cd`, `grep`, and `find`, then interact with browser elements using `click` or `type`. Several commands can run in one `domshell_execute` call.

The DOMShell Chrome Extension is required to connect the server to Chrome. Run `npx @apireno/domshell init` to configure a client and create a token, then start a session from Chrome’s side panel and enter `connect <token>` in the DOMShell terminal. The server requires Node 18+.

The default setup exposes one tool. Starting the server with `--granular` also provides separate command tools, which lets the client request approval for individual operations. Write actions require `--allow-write`; `whoami` requires `--allow-sensitive`.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add domshell -- npx -y @apireno/domshell
```

### Codex

**Platform CLI**
```bash
codex mcp add mcp-server -- npx -y @apireno/domshell
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@apireno/domshell"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@apireno/domshell"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mcp-server npx -y @apireno/domshell
```

## When to use it
- locate text or elements on a page
- inspect page structure with filesystem-style commands
- extract links or a table from a website
- click a browser element or enter text
- run several browser steps in one tool call

## Example prompts
- Find documentation links on the open page and list them.
- Open the site and extract its pricing table.
- Click the sign-in button and enter my email address.

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [apify-mcp-server](https://affpapa.org/en/nevibecode/mcp/apify-mcp-server.md) — MCP server · ★ 12927

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
