A Chrome Extension exposing the browser's Accessibility Tree as a virtual filesystem for terminal-based web navigation and automation.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window โ this can mean a slow first-time install rather than a real problem.
npx -y @apireno/domshellNo response to initialize.
This is an experimental automated check and can have false negatives โ missing environment variables, a slow cold install, etc. It doesnโt necessarily mean somethingโs wrong. Last checked 1mo ago.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by DOMShell.
The browser is your filesystem. A Chrome Extension that lets AI agents (and humans) browse the web using standard Linux commands โ ls, cd, cat, grep, click โ via a terminal in the Chrome Side Panel.
Install from Chrome Web Store | npm package | Read the blog post | Project home
DOMShell maps the browser into a virtual filesystem. Windows and tabs become top-level directories (~). Each tab's Accessibility Tree becomes a nested filesystem where container elements are directories and buttons, links, and inputs are files. Navigate Chrome the same way you'd navigate /usr/local/bin.
AI agents that interact with websites typically rely on screenshots, pixel coordinates, or brittle CSS selectors. DOMShell takes a different approach: it exposes the browser's own Accessibility Tree as a familiar filesystem metaphor.
This means an agent can:
ls ~/tabs/ and switch with cd ~/tabs/123 instead of guessing which tab is activels and tree instead of parsing screenshotscd navigation/ instead of guessing coordinatesclick submit_btn instead of fragile DOM queriescat or bulk-extract with text instead of scraping innerHTMLfind --type combobox instead of writing selectorsThe filesystem abstraction is deterministic, semantic, and works on any website โ no site-specific adapters needed.
Install DOMShell directly from the Chrome Web Store. No build step required.
chrome://extensions/dist/ folderOpen any webpage, then open the DOMShell side panel. You'll see a terminal:
You start at ~ (the browser root). Jump straight to the active tab with here, or explore:
You can also navigate or open new tabs:
By default DOMShell operates on your general browser โ shared mode, exactly as before. The group command puts a session in its own isolated Chrome tab group, so the agent works in a clearly-marked lane while you keep browsing freely in other tabs:
Subcommands: group (status), group new [name], group attach <id>, group detach, group close, group list. Isolated mode keeps the agent out of your other tabs; shared mode is the default and unchanged.
When an MCP client connects, DOMShell automatically gives that session its own fresh ๐ agent group. The group is left open when the session disconnects (non-destructive) โ the agent is instructed to ask whether you'd like it closed before it wraps up, and you can always clear leftovers yourself with group close.
Multi-session. Every DOMShell client gets its own session lane โ each side-panel window, each MCP connection, separately isolated. Two side panels in two Chrome windows hold independent positions; multiple concurrent MCP agents each work in their own ๐ agent group with their own cursor. Run group list anytime to see every active lane; group close <id> to close one.
Multiple agents on one MCP connection. Some MCP clients (e.g. Claude Desktop) share one connection across every chat โ so by default two chats in the same client would land in one lane. Each chat can carve out its own lane by passing the group_id parameter to domshell_execute: pass "new" to create a fresh one (its id is returned at the end of the reply as [lane: <id>]), then pass that id on every later call. Two chats โ two lanes โ no collision. Agents can also use this for handoff โ one agent reports its lane id, the next agent passes it as group_id and continues in the same state. Agents are instructed to close any lane they created when the task is done.
Once you're inside a tab, the Accessibility Tree appears as a filesystem:
Every node has a type prefix that communicates metadata without relying on color alone:
| Prefix | Meaning | Examples |
|---|---|---|
[d] | Directory (container, cd-able) | navigation/, form/, main/ |
[x] | Interactive (clickable/focusable) | buttons, links, inputs, checkboxes |
[-] | Static (read-only) | headings, images, text |
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/apireno-domshell)<a href="https://allmcps.com/mcp/apireno-domshell"><img src="https://allmcps.com/api/badge/apireno-domshell?style=directory" alt="DOMShell on AllMCPs" /></a>