domshell MCP Server

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…

Local serverstdioMIT

What is the domshell MCP Server?

domshell is an MCP project maintained in the apireno/domshell repository. The maintainer describes its purpose as “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…”. Read the project documentation for the complete scope.

Installation

The documented npm package is @apireno/domshell. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
domshell_tabstabs (list all tabs)
domshell_herehere (jump to active tab)
domshell_lsls [options] (DOM or browser level)
domshell_cdcd (~, ~/tabs/, /, ..)
domshell_pwdpwd
domshell_catcat
domshell_texttext [name] [-n N] [--links] (bulk text; links=true inlines URLs)
domshell_readread [name] [--meta] [--text] [-d N] (structured subtree)
domshell_findfind [pattern] [--type ROLE/alias] [--meta] [--text] [-n N] (type accepts fuzzy aliases: input, dropdown, nav, etc.)
domshell_grepgrep [-r] [-n N] [--content] (section discovery)
domshell_treetree [depth]
domshell_extract_linksextract_links [name] [-n N] (all links as text)
domshell_extract_tableextract_table [--format csv] (table → markdown/CSV)
domshell_refreshrefresh
domshell_navigatenavigate (current tab)
domshell_openopen (new tab)
domshell_clickclick
domshell_focusfocus
domshell_scrollscroll [down\
domshell_jsjs (arbitrary JavaScript execution)
domshell_typetype
domshell_submitsubmit [--submit btn] (atomic form fill)
domshell_backback (browser history back)
domshell_forwardforward (browser history forward)
domshell_closeclose [tab-id] (close a tab)
domshell_screenshotscreenshot (capture tab as PNG image)
domshell_selectselect (dropdown selection)
domshell_waitwait [--type ROLE] [--timeout N] (wait for element)
domshell_evaleval (read-only JS evaluation, no --allow-write needed)
domshell_diffdiff [--json] (compare tree against pre-action snapshot)
domshell_whoamiwhoami
domshell_functionsfunctions [pattern] [--json] (list callable page functions)
domshell_callcall [args] (call a global JS function)
domshell_watchwatch [--interval N] [--times N] [--until-change] (periodic re-execution)
domshell_forfor : (iterate over output lines, {} replaced)
domshell_scriptscript list\
domshell_eacheach [--pattern FILTER] (cross-tab operations)
domshell_execute(any command)

How to install the domshell MCP Server

{
  "mcpServers": {
    "domshell": {
      "command": "npx",
      "args": [
        "-y",
        "@apireno/domshell",
        "--allow-write",
        "--token",
        "my-secret-token"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.