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…
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.
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.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| domshell_tabs | tabs (list all tabs) |
| domshell_here | here (jump to active tab) |
| domshell_ls | ls [options] (DOM or browser level) |
| domshell_cd | cd (~, ~/tabs/, /, ..) |
| domshell_pwd | pwd |
| domshell_cat | cat |
| domshell_text | text [name] [-n N] [--links] (bulk text; links=true inlines URLs) |
| domshell_read | read [name] [--meta] [--text] [-d N] (structured subtree) |
| domshell_find | find [pattern] [--type ROLE/alias] [--meta] [--text] [-n N] (type accepts fuzzy aliases: input, dropdown, nav, etc.) |
| domshell_grep | grep [-r] [-n N] [--content] (section discovery) |
| domshell_tree | tree [depth] |
| domshell_extract_links | extract_links [name] [-n N] (all links as text) |
| domshell_extract_table | extract_table [--format csv] (table → markdown/CSV) |
| domshell_refresh | refresh |
| domshell_navigate | navigate (current tab) |
| domshell_open | open (new tab) |
| domshell_click | click |
| domshell_focus | focus |
| domshell_scroll | scroll [down\ |
| domshell_js | js (arbitrary JavaScript execution) |
| domshell_type | type |
| domshell_submit | submit [--submit btn] (atomic form fill) |
| domshell_back | back (browser history back) |
| domshell_forward | forward (browser history forward) |
| domshell_close | close [tab-id] (close a tab) |
| domshell_screenshot | screenshot (capture tab as PNG image) |
| domshell_select | select (dropdown selection) |
| domshell_wait | wait [--type ROLE] [--timeout N] (wait for element) |
| domshell_eval | eval (read-only JS evaluation, no --allow-write needed) |
| domshell_diff | diff [--json] (compare tree against pre-action snapshot) |
| domshell_whoami | whoami |
| domshell_functions | functions [pattern] [--json] (list callable page functions) |
| domshell_call | call [args] (call a global JS function) |
| domshell_watch | watch [--interval N] [--times N] [--until-change] (periodic re-execution) |
| domshell_for | for : (iterate over output lines, {} replaced) |
| domshell_script | script list\ |
| domshell_each | each [--pattern FILTER] (cross-tab operations) |
| domshell_execute | (any command) |
{
"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.
Use Microsoft’s Playwright MCP server to navigate pages, inspect accessibility snapshots, fill forms and capture browser screenshots.
The original Chromium automation reference server — simple, screenshot-driven browser control.
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Puppeteer-powered browser control that drives pages from the accessibility tree instead of pixels.
Enables AI-powered applications to monitor and interact with browser data via a Chrome extension and MCP.
Automates browsers and APIs, enabling Large Language Models (LLMs) to interact with web pages for tasks like screenshot capture and JavaScript