# DOMShell MCP server

> Turns a Chrome browser into a virtual filesystem, allowing AI agents to navigate and interact with web pages using standard Linux commands.

- Repository: https://github.com/apireno/DOMShell
- Page: https://hostedmcp.org/servers/apireno/domshell
- Transport: stdio, remote
- Stars: 60
- License: MIT
- Latest version: 2.0.10

## Install

### Claude Code

```sh
claude mcp add domshell -- npx -y @apireno/domshell
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "domshell": {
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "domshell": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell"
      ]
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "domshell": {
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell"
      ]
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.domshell]
command = "npx"
args = ["-y", "@apireno/domshell"]
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "domshell": {
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell"
      ]
    }
  }
}
```

## FAQ

### How does DOMShell work?

It maps Chrome's Accessibility Tree to a virtual filesystem, allowing agents to use commands like ls, cd, and grep to browse the web.

### Can I restrict the domains my AI agent accesses?

Yes, you can use the --domains flag to restrict the agent to specific domains.

### Is it possible to use granular tools instead of a single command tool?

Yes, by starting the server with the --granular flag, you can expose 38 individual per-command tools for more precise control.
