DOMShell logo

DOMShell

by apireno

Maps Chrome tabs and Accessibility Trees to a virtual filesystem for agent-driven browsing and interaction.

Install DOMShell

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "apireno-domshell": {
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command 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/domshell

No 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 24d ago.

Overview

The apireno/DOMShell MCP server maps Chrome tabs, windows, and page Accessibility Trees to a virtual filesystem. A Chrome Extension exposes 38 MCP tools that let agents browse and interact with pages using commands such as ls, cd, cat, grep, and click. Use it when semantic browser navigation is preferable to screenshots, coordinates, or site-specific CSS selectors. It also supports opening and navigating tabs and isolating agent sessions in Chrome tab groups.

Use cases

  • Browse open tabs through filesystem paths
  • Inspect page structure with Accessibility Tree nodes
  • Click controls without CSS selectors
  • Extract and search page content
  • Isolate concurrent browser sessions in tab groups

Key features

  • 38 MCP tools for Chrome browser control
  • Virtual filesystem mapped from the Accessibility Tree
  • Tab and window navigation
  • Filesystem commands for search and interaction
  • Chrome tab-group session isolation
  • Side Panel terminal interface

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

19/19 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · @apireno/domshell (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars59Stargazers on the source repository.
npm downloads474Package downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How DOMShell works

What apireno/DOMShell MCP server does

The apireno/DOMShell MCP server gives an AI agent a filesystem-style interface to Chrome. Browser windows and tabs appear under the virtual root, while each tab exposes its Accessibility Tree as nested directories and files. Container elements become directories; controls such as links, buttons, and inputs become addressable entries.

This design supports semantic interaction without requiring a custom adapter for each website. An agent can list tabs, enter a tab by ID or matching text, inspect page sections, read content, search for elements by type, and activate controls. The available interface includes 38 MCP tools, with familiar operations such as ls, cd, pwd, cat, grep, click, find, and text.

How it works

The Chrome Extension provides the browser-side connection and includes a terminal in Chrome’s Side Panel. The agent starts at ~, the browser root, then moves through paths such as ~/tabs/123. Inside a tab, filesystem navigation follows the page’s Accessibility Tree rather than raw HTML or screen coordinates.

Directory listings can show element roles and metadata such as link URLs. Listings can also be filtered by type, counted, and paginated. The tabs and windows commands expose browser structure, while open creates a tab and navigate changes the current tab’s URL. here enters the active tab directly.

Sessions can run in shared mode or in an isolated Chrome tab group. An MCP connection receives its own agent group by default, and separate sessions have separate lanes and cursors. A client can pass a group_id to domshell_execute to create or reuse a lane, which supports concurrent work or handoff between agents.

Setup and configuration

The apireno/DOMShell MCP server requires Chrome and its companion extension. The recommended setup is to install the extension from the Chrome Web Store. To build from source, clone the repository, run npm install, and run npm run build. Then open chrome://extensions/, enable Developer mode, choose Load unpacked, and select the generated dist/ directory.

After installation, open a webpage and launch the DOMShell icon to open the Side Panel terminal. MCP clients connect through the DOMShell package and extension setup. The README specifically describes support for Claude Desktop connections and automatic creation of an agent tab group for each MCP session.

Tools and capabilities

The apireno/DOMShell MCP server supports:

  • Listing and switching between Chrome tabs and windows.
  • Exploring page structure through Accessibility Tree directories.
  • Reading page content with cat or bulk extraction with text.
  • Searching for elements with grep and find --type.
  • Activating links, buttons, and other controls with click.
  • Opening new URLs and navigating the current tab.
  • Filtering, counting, paginating, and displaying metadata in listings.
  • Creating, attaching to, detaching from, listing, and closing isolated tab groups.

Limitations and notes

The browser starts in shared mode unless an isolated group is created. Shared mode operates on the general browser, so an agent may interact with existing tabs. Isolated groups keep agent activity in a marked tab group, but groups remain open after an MCP session disconnects unless they are closed.

The interface is based on Chrome’s Accessibility Tree. Pages with incomplete or unusual accessibility information may expose less structure than their visual presentation suggests. The provided setup instructions target Chrome and do not document other browsers.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about DOMShell

apireno/DOMShell is an MCP server that connects AI agents to Chrome through a Chrome Extension. Its 38 MCP tools expose tabs, windows, and each page’s Accessibility Tree as a virtual filesystem, with commands such as ls, cd, cat, grep, click, navigate, and open for browsing and interaction.

Install the Chrome Extension from the Chrome Web Store, or build it from source with npm install and npm run build. For a source installation, load the resulting dist directory as an unpacked extension from chrome://extensions/ with Developer mode enabled.

apireno/DOMShell isolates sessions with Chrome tab groups. MCP connections receive a separate agent group by default, and agents can create, attach to, detach from, list, or close groups. Groups remain open after disconnection unless explicitly closed.

It specifically describes MCP connections and gives Claude Desktop as an example of a client that can share one connection across chats.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewDOMShell AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/apireno-domshell?style=directory)](https://allmcps.com/mcp/apireno-domshell)
HTML Embed
<a href="https://allmcps.com/mcp/apireno-domshell"><img src="https://allmcps.com/api/badge/apireno-domshell?style=directory" alt="DOMShell on AllMCPs" /></a>