{"_id":"@apireno/domshell","_rev":"14-daee4246139b424534efcb59f38a0c6a","name":"@apireno/domshell","dist-tags":{"latest":"2.0.10"},"versions":{"1.1.0":{"name":"@apireno/domshell","version":"1.1.0","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@1.1.0","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"06d8780f133c7364ce0be19746c81fc019a0ad2b","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-1.1.0.tgz","fileCount":8,"integrity":"sha512-Z1/XwNASOzukxC56cbvipg7kY+UCL7xlap9n4MbBRSM9XGw4XkFE1sj/ehBUifytLelCc6lUJgY6D/2ndy1a6g==","signatures":[{"sig":"MEYCIQD15PQKJBSQPlznHR3/EgzVLUEpUuqUBct1hHS6aH0lawIhAJGq0WQd3JRJdPX1RsTh2pSaHK0U5QGRklUvVd1I4jFb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73211},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"3b3827a15ac10554ced167c4197b3e4e73dde6bc","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that turns your browser into a filesystem. 38 tools let AI agents ls, cd, grep, click, and type through Chrome via the DOMShell extension.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_1.1.0_1772221670144_0.4116825227515284","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@apireno/domshell","version":"1.1.1","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@1.1.1","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"84312638aad7ae32e38e435b134267ce6ed05f68","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-1.1.1.tgz","fileCount":8,"integrity":"sha512-4V42Rv7S2LdvhF6G/AsSLi+RmP/4uI+xiE5Awb/tYMzNs2To5LRdDUSrB4ZoeUxgOfRT7C2ZHgL61ELE4d3R+w==","signatures":[{"sig":"MEUCIQCFEajRYJdayMgqtvvT0PfW4Og3mgiGHzajF4D5d+oJ8wIgH6CnGNC2YnxoFmM4AtZs/R1toAjOghvJXoxVgPEeYuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73254},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"3b3827a15ac10554ced167c4197b3e4e73dde6bc","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that turns your browser into a filesystem. 38 tools let AI agents ls, cd, grep, click, and type through Chrome via the DOMShell extension.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_1.1.1_1772222522754_0.8925031434994721","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@apireno/domshell","version":"1.1.2","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@1.1.2","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"e799ce8a99ec2c9a83b33a613f20a89b0e7c1633","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-1.1.2.tgz","fileCount":10,"integrity":"sha512-iSzeaPNfRHlJiK73VdUxi0qXSm59I62PMNZPApDBriQTDH0UF4C030wpJlKUFzojw533yTF78stDg9YhgYmLMA==","signatures":[{"sig":"MEQCIF3y6jcUdsZHmPP6BGudw28mrF9Op/CQdQSIHXq/WM2+AiBF/3xKtyS1BZ5QnN1RasYh/Hd8LLNUvfY5uxa7k5TeWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82856},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f941b6e890170a2d138b751cee842d57f4252448","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that turns your browser into a filesystem. 38 tools let AI agents ls, cd, grep, click, and type through Chrome via the DOMShell extension.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_1.1.2_1774212724315_0.10794747843842178","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@apireno/domshell","version":"2.0.0","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.0","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"5a9d8b1d02c1638bab250d34d6f8957cb4a69484","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.0.tgz","fileCount":11,"integrity":"sha512-ou2Y+xUTG0bae7wz4rD4xgabgjg/2iyHvDQDcmftbfVBIsygh9pd6qi7krmg64pDZE8l7XhcCuH8xmEgmBVakQ==","signatures":[{"sig":"MEQCIFIYuFsICoCuhjApySeYVdcvETNry4BCoFO9IO3yfztSAiA+4pMSICIIcgNnhT7Rht7qvyqFeO3neWyTBSWauXA9ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100633},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9859efc27a884db813e5196a98ef0e112c77008c","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.0_1779498673077_0.30666818743959734","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@apireno/domshell","version":"2.0.1","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.1","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"27fe97830db46d1888d9cf6302689c936aa6ae68","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.1.tgz","fileCount":11,"integrity":"sha512-kbynkMDIZ9PVEQYXGls1Ezu30Agd614CDMzapwFKx2QipoRz+ZAFJJvWPkCC6rSXNOSEo44dQV5U1tEgPcP7kA==","signatures":[{"sig":"MEQCIFNINQ1DA+u8il1x3faHTxsFnP2GvZyKQ4PFIhNmEN37AiBhjIWTzpZiHtpW2gpoqQIL4VcwHLqTUTEclNx/r9gb0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112906},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"ea6fa3bf3783824501a75ad7b41dbd0bd90cc566","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.1_1779811806570_0.5997616910254875","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@apireno/domshell","version":"2.0.2","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.2","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"59ac804dc2bb8a2a9bf877ff74d918a9a34580ec","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.2.tgz","fileCount":11,"integrity":"sha512-SuGOdtcFc1zWrm+CPgo+LiXOQuL6wfRHA5sy6GOiIOydsFefZ5Ff0ZUnXOLoewZxqSjCfE39vlm2OQG5O2x4gg==","signatures":[{"sig":"MEYCIQCNfxClYFndUdGNcCAICQDaJHoxLidmoknueE3MzTGu/gIhAMC+p8cRt5Er7TMe8mXiuY2MQ/d9bK3seL75mmM7c62y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120588},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d0a762ca18a99e07524cbe4c2e91891651c62312","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.2_1780284574214_0.8794685650928324","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@apireno/domshell","version":"2.0.3","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.3","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"700ba4bc33c69f8284fd2549e5d482f2fbe3532f","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.3.tgz","fileCount":11,"integrity":"sha512-l2nJztPx2TFLe+QGuW8P+PuR059TeK+BcG3GgVk6a5caOSEt5w7wYDM+W/vAvBPeopyESFMHKfSk1UEl9rBYFA==","signatures":[{"sig":"MEUCIQCEsHJu3/3iesTGNQJLQF5c53nRjKnXgYx+bA+U50LAaAIgNVLQ9BTuoe5lh2Q+ENAU0Qid4sn74OY2UPK2aXfSWjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127963},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"11230a68fa5326c87261885db432bfa9b742dd38","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.3_1780962047678_0.7446239815501872","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@apireno/domshell","version":"2.0.4","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.4","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"1145fac8fd69f07e869dc6746e5b775367590e52","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.4.tgz","fileCount":11,"integrity":"sha512-LfYj0OHqjOP/ty6WOaE7eTwYRme8cUNtvRTNpHndf3FHCahvzBpfRYdSZvyaPKdp0HXDh/T/YFR8lXU8a7bxqQ==","signatures":[{"sig":"MEYCIQCiVZRCY/+EJnKoIAByLRxzZdGF7V2W0AZeC925oJZEcAIhAKRKcQZ6yEkprIhnF4n2ZTfof3Ytgf/kYRy2mR5pemlH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132633},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"43d9779a885c0b99321dae6418216a4bc2c585e2","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.4_1781782214475_0.7658534247690498","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@apireno/domshell","version":"2.0.5","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.5","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"784a307b1540af262dedbc58a237f8d86c7a576d","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.5.tgz","fileCount":11,"integrity":"sha512-y8OIJHm5eXmKg4H19B76oWnkx7cCENDp5riyxDoBPgz6zWK6jZB3czr9+8iRcjFsyqbY2ZYG3541JsVBQ9Qt/Q==","signatures":[{"sig":"MEUCIQDHAu7j39PwnOJh6P5ecbLgeUoBawhpTd06+T2s1+RK3wIgKcTpJftJQ12rfPVtvT8YJCMtBOsNJtNXBsOYlqBzBLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140365},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"55c8b74ce6bbd26d65193490df65e3c572196e63","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.5_1781834483364_0.07212409323383473","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@apireno/domshell","version":"2.0.6","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.6","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"9c1d88e8e531e73fbef5881edf979958f956bced","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.6.tgz","fileCount":11,"integrity":"sha512-REcNTJemWkId5936gT5HvP8DP36GwJhUF+xuV8Qi3hbP+zq6GRJRZvg3VcebMAkDuApvrybmzafmqegH4VbcaQ==","signatures":[{"sig":"MEUCIDIgJuWACPYCmIQJksLlQesvEpebxTYHB7E3kMG7kVMvAiEAsvAADA9Kk7HyF6rwvVj/pol0ELF8PBTPDMLVT7VQNVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144577},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a8b49727cc7488b87ad577caaae09efc2f494422","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.6_1781922010119_0.3690944979021411","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@apireno/domshell","version":"2.0.7","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.7","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"a469aa11cb534dcb24d7605d02cf85c4b3777d38","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.7.tgz","fileCount":11,"integrity":"sha512-anBXxTUqxmm3n6JPEx845O7kGzhr9WNn+HHDm6UxpFiDITNfg8zoQKC71PlDoLdpunMdCouO63WYFTTbmVyJEQ==","signatures":[{"sig":"MEUCIQCzOnTlxWpnwlj/45UCK/lJjtI25gXOIyLuYfiEDBxjAwIgCzi71HSSpTYmt5Hd3RRYFSnMTqi+YrJScjIExCx8pmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150314},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"4006c631d84f2574a9cb6f35c1f36c1a7ddc246e","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.7_1782870061455_0.07935528996569641","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@apireno/domshell","version":"2.0.8","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.8","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"90b8669397ed843e9eecfecc8e4add3b8872610c","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.8.tgz","fileCount":11,"integrity":"sha512-+Zufa1zIHyi87DmMCFWP69BxP9EXU2uAEMx0CBZEo8Dy2ENH+pO3AxxcEOxIb3KQtdJtdxRP9s2O0F1gJu1GGw==","signatures":[{"sig":"MEYCIQCeooKht6Ekaem8PKxBVaoaSROCuU08EvOtfBaSYkMb5gIhAJYEqTXr+Vy6DOyAnr9lKC83y98WiMc/GV1Z9jBqvOjb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151400},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"03c1d7625e220297aff0dde37613d65cfe6f9a36","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.8_1783527895486_0.6603970128346954","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@apireno/domshell","version":"2.0.9","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"url":"https://pireno.com","name":"Pireno"},"license":"MIT","_id":"@apireno/domshell@2.0.9","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"homepage":"https://pireno.com/domshell","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"dist":{"shasum":"c038c106adff6d4e88d46fd8701077e98f789194","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.9.tgz","fileCount":11,"integrity":"sha512-EKzYSkKdFYU5DCD6sZpkdP/ZrJSlMs4E8lie1zKj70WSBRRGdKWuykSlqXheiLlDTN0Ci4TMrhZGIQ74kKH7aQ==","signatures":[{"sig":"MEQCIDGvEMWhAvPsfM0RfN97ZRs+AWrbS/A3rVYDgduIu8fkAiBrNxGQ+DkvT18zla2bwVM2u83WaS5LoTDt6yvyVmgQ3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159764},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"8b72bec5af5680468bc469d266357873b887eb71","mcpName":"io.github.apireno/domshell","scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"repository":{"url":"git+https://github.com/apireno/DOMShell.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.18.0","zod":"^3.24.0","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.5.0","typescript":"^5.9.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/domshell_2.0.9_1785147059758_0.4604594006449827","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"@apireno/domshell","version":"2.0.10","description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","type":"module","main":"dist/index.js","bin":{"domshell":"bin/domshell.js","domshell-proxy":"bin/domshell-proxy.js"},"scripts":{"build":"tsc","start":"tsx index.ts","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"author":{"name":"Pireno","url":"https://pireno.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/apireno/DOMShell.git"},"homepage":"https://pireno.com/domshell","mcpName":"io.github.apireno/domshell","engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","express":"^4.21.0","ws":"^8.18.0","zod":"^3.24.0"},"devDependencies":{"@types/express":"^5.0.0","@types/ws":"^8.5.0","tsx":"^4.19.0","typescript":"^5.9.0"},"_id":"@apireno/domshell@2.0.10","gitHead":"d313db0ba4f07422fff9ab1e356569c1ecf3d552","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-9cPlV2TvETAalOFgtg952fjknWMKNEwIX1ZtH5YcrNW5rwSdsTK8bBHauSaEWeYPFTF8juNrN7B07h1MPy0JNA==","shasum":"236c960311d1af164c082ea3efbdbba666f0d597","tarball":"https://registry.npmjs.org/@apireno/domshell/-/domshell-2.0.10.tgz","fileCount":11,"unpackedSize":163094,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBxcbUjmG0fiR+koChHA1/qdjSQNn9cGoyuM/WY/Hf9jAiAb6IVNR7h8e/2iuUJU1vNUAzpsaMG7O02qoR/eXRTuDg=="}]},"_npmUser":{"name":"apireno","email":"alessandro@pireno.com"},"directories":{},"maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/domshell_2.0.10_1786743584063_0.5689504790659765"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-27T19:47:50.066Z","modified":"2026-08-14T21:39:44.425Z","1.1.0":"2026-02-27T19:47:50.308Z","1.1.1":"2026-02-27T20:02:02.902Z","1.1.2":"2026-03-22T20:52:04.472Z","2.0.0":"2026-05-23T01:11:13.219Z","2.0.1":"2026-05-26T16:10:06.732Z","2.0.2":"2026-06-01T03:29:34.350Z","2.0.3":"2026-06-08T23:40:47.839Z","2.0.4":"2026-06-18T11:30:14.617Z","2.0.5":"2026-06-19T02:01:23.535Z","2.0.6":"2026-06-20T02:20:10.274Z","2.0.7":"2026-07-01T01:41:01.616Z","2.0.8":"2026-07-08T16:24:55.689Z","2.0.9":"2026-07-27T10:10:59.934Z","2.0.10":"2026-08-14T21:39:44.245Z"},"bugs":{"url":"https://github.com/apireno/DOMShell/issues"},"author":{"name":"Pireno","url":"https://pireno.com"},"license":"MIT","homepage":"https://pireno.com/domshell","keywords":["mcp","model-context-protocol","ai-agent","browser-automation","chrome-extension","dom","web-scraping","claude","filesystem"],"repository":{"type":"git","url":"git+https://github.com/apireno/DOMShell.git"},"description":"MCP server that gives AI agents Unix-style filesystem commands (ls, cd, grep, click, type) to drive Chrome. Single-tool interface, concurrent multi-agent isolation, per-lane tab groups.","maintainers":[{"name":"apireno","email":"alessandro@pireno.com"}],"readme":"# @apireno/domshell\n\nMCP server that turns your browser into a filesystem. AI agents use `ls`, `cd`, `grep`, `find`, `click`, and `type` to browse the web — the same way you'd navigate a Linux filesystem.\n\nDOMShell maps Chrome's Accessibility Tree to a virtual filesystem. Every DOM element becomes a file or directory. Agents work with familiar commands instead of raw selectors and coordinates.\n\n## Install\n\nDOMShell supports **three install paths** — pick whichever fits your setup. **Path 1 is the documented default** and what 99% of users want; Paths 2 and 3 exist if you want lifecycle management across several MCP servers.\n\n### Path 1 — Native CLI (default, simplest)\n\n```bash\nnpm install -g @apireno/domshell\n```\n\nOr run directly without installing:\n\n```bash\nnpx @apireno/domshell\n```\n\nWorks on macOS, Linux, and Windows with Node 18+. Nothing else required.\n\n### Path 2 — Dockerized (optional)\n\nRun DOMShell in a container — useful if you don't want a global Node install or you want process isolation. Requires Docker Desktop. The token is persisted to a gitignored `.env` file so it survives container restarts and host reboots:\n\n```bash\ngit clone https://github.com/apireno/DOMShell && cd DOMShell/mcp-server\ncp .env.example .env\n# Edit .env and set DOMSHELL_TOKEN to: $(openssl rand -hex 24)\ndocker compose build      # produces domshell-mcp-server:latest\ndocker compose up -d\ndocker compose logs -f\n```\n\nThe container maps ports `3001` (MCP HTTP) and `9876` (WebSocket bridge to the Chrome extension) to your loopback interface, so the Chrome extension reaches it exactly as it would the native install. `restart: unless-stopped` brings the container back automatically when Docker Desktop starts (toggle \"Start Docker Desktop when you log in\" in Docker Settings to make Path 2 fully reboot-resilient).\n\n### Path 3 — ToolHive-managed (optional)\n\nUse [ToolHive](https://github.com/stacklok/toolhive) (`thv`) to manage the container's lifecycle alongside any other MCP servers you're running. Same `.env` file Path 2 uses, just sourced by thv:\n\n```bash\nbrew tap stacklok/tap && brew install thv      # one-time\ncd DOMShell/mcp-server\ncp .env.example .env       # edit DOMSHELL_TOKEN if you haven't already\ndocker compose build       # produces domshell-mcp-server:latest\n\nthv run \\\n  --name domshell-mcp-server \\\n  --transport streamable-http \\\n  --target-port 3001 \\\n  -p 9876:9876 \\\n  --env-file .env \\\n  domshell-mcp-server:latest\n\nthv list                          # workload status (URL on the proxy port)\nthv logs domshell-mcp-server      # tail logs\n```\n\nThe container is reachable on `http://127.0.0.1:3001/mcp` because `--target-port 3001` auto-publishes that port to host loopback — your existing MCP client config (Claude Desktop, Cursor, …) keeps working without changes.\n\nPath 3 needs a one-time launchd agent for reboot autostart (Path 2 survives reboot through Docker Desktop alone). Full reboot table, launchd plist template, autostart script, and a simulated-reboot verification: [`docs/deploy/container-and-toolhive.md`](../docs/deploy/container-and-toolhive.md).\n\n### Chrome extension (required for all three paths)\n\nYou also need the [DOMShell Chrome Extension](https://pireno.com/domshell) — the MCP server talks to the browser through it.\n\n## Quick Start\n\n```bash\nnpx @apireno/domshell init\n```\n\nThe setup wizard detects installed MCP clients (Claude Desktop, Cursor, Windsurf), generates a secure token, and writes the config. Use `--yes` for non-interactive mode.\n\nThen:\n\n1. Install the [DOMShell Chrome Extension](https://pireno.com/domshell)\n2. Open Chrome's side panel and start a DOMShell session\n3. Restart your MCP client — DOMShell tools will appear\n4. In the DOMShell terminal, run `connect <token>` (printed by the wizard)\n\n## Claude Desktop Config\n\nAdd this to your Claude Desktop MCP settings (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"domshell\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@apireno/domshell\", \"--allow-write\"]\n    }\n  }\n}\n```\n\nFor the stdio proxy (required if your client needs command/args format):\n\n```json\n{\n  \"mcpServers\": {\n    \"domshell\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"@apireno/domshell\", \"domshell-proxy\", \"--port\", \"3001\", \"--token\", \"YOUR_TOKEN\"]\n    }\n  }\n}\n```\n\n## Benchmarks\n\nWe tested DOMShell against Computer-in-the-Cloud (CiC) — both using Claude as the underlying model — across 4 web tasks over 8 trials.\n\n| Metric | DOMShell | CiC |\n|--------|----------|-----|\n| Avg API calls per task | **4.3** | 8.6 |\n| Hardest task (T4) | **6.0 calls** | 13.0 calls |\n| Cold start vs CiC warm cache | **4.5 calls** | 5.5 calls |\n\nDOMShell uses **2× fewer API calls** to complete the same tasks. The filesystem metaphor gives the model a mental map of the page, so it spends less time exploring and more time extracting.\n\nFull experiment data: [experiments/claude_domshell_vs_cic](https://github.com/apireno/DOMShell/tree/main/experiments/claude_domshell_vs_cic)\n\n## MCP Interface\n\n**Default (recommended): the single `domshell_execute` tool.** Pass any DOMShell command as a string — `\"ls\"`, `\"cd tabs/123\"`, `\"open https://example.com\"` — or pass several newline-separated for a whole workflow in one call. One tool, one approval, the full command vocabulary in the tool description.\n\n**Multi-line semantics:** when `command` contains newlines, each line runs in order **in the same MCP session and lane**, so `cwd`, env, and history persist between lines. An error on one line does **not** halt the rest — its message is included in the combined output and subsequent lines still run. This is the right shape for cleanup-line idioms like `\"cd path\\ngrep pattern\\ncd back\"`: the trailing restore runs even if the middle step errors. Implementation: [`mcp-server/index.ts:1115-1136`](./index.ts#L1115-L1136).\n\n**Lanes & multi-agent.** Every reply ends with `[lane: <id>]`. Multiple MCP clients can connect simultaneously, each in its own isolated Chrome tab group. To carve sub-lanes within a single client (e.g. two Claude Desktop chats), pass `group_id: \"new\"` on the first call and carry the returned id thereafter. See [CHANGELOG.md](./CHANGELOG.md).\n\n### Granular mode — `--granular`\n\nStart the server with `--granular` and the 38 per-command tools are exposed alongside `domshell_execute`. Use it when you want per-operation approval in the client UI.\n\n**Read tier (always available):** `ls`, `cd`, `pwd`, `cat`, `find`, `grep`, `tree`, `text`, `read`, `tabs`, `here`, `refresh`, `diff`, `eval`, `functions`, `watch`, `for`, `script`, `each`, `extract_links`, `extract_table`\n\n**Write tier (`--allow-write`):** `click`, `focus`, `type`, `scroll`, `navigate`, `open`, `submit`, `back`, `forward`, `close`, `select`, `js`, `screenshot`, `wait`, `call`\n\n**Sensitive tier (`--allow-sensitive`):** `whoami`\n\n## CLI Flags\n\n| Flag | Description |\n|------|-------------|\n| `--allow-write` | Enable write-tier tools (click, type, navigate, etc.) |\n| `--allow-sensitive` | Enable sensitive-tier tools (whoami) |\n| `--allow-all` | Enable all tiers |\n| `--granular` | Expose the 38 per-command tools alongside `domshell_execute` |\n| `--port N` | WebSocket port (default: 9876) |\n| `--mcp-port N` | HTTP MCP port (default: 3001) |\n| `--domains a.com,b.com` | Restrict to specific domains |\n| `--token TOKEN` | Set auth token (auto-generated if omitted) |\n| `--log-file PATH` | Audit log location (default: audit.log) |\n| `--confirm` | Opt in to per-action y/n prompts in the server terminal before each write. Off by default. |\n| `--no-confirm` | No-op (kept for backward compatibility — per-action prompts are off by default). |\n\n## Security\n\nEvery command goes through a 4-tier security model:\n\n- **Read** — always allowed (ls, find, grep, text)\n- **Navigate** — requires `--allow-write` (navigate, open, back, forward)\n- **Write** — requires `--allow-write` (click, type, js, select)\n- **Sensitive** — requires `--allow-sensitive` (whoami, cookie access)\n\nAll commands are logged to an audit file. Domain allowlists restrict which sites the agent can access. Auth tokens protect the HTTP endpoint.\n\n## Architecture\n\n```\nMCP Client (Claude, Cursor, etc.)\n    ↓ HTTP :3001/mcp\nDOMShell MCP Server (Express + WebSocket)\n    ↓ WebSocket :9876\nDOMShell Chrome Extension (CDP 1.3)\n    ↓ Chrome Debugger Protocol\nBrowser DOM + Accessibility Tree\n```\n\n## Links\n\n- **Chrome Web Store**: [pireno.com/domshell](https://pireno.com/domshell)\n- **GitHub**: [github.com/apireno/DOMShell](https://github.com/apireno/DOMShell)\n- **Blog**: [Why I Built a Filesystem for the Browser](https://dev.to/apireno/why-i-built-a-filesystem-for-the-browser-3kpa)\n- **Project home**: [pireno.com/domshell](https://pireno.com/domshell)\n\nBuilt by [Pireno](https://pireno.com).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}