{"_id":"@mozilla/firefox-devtools-mcp-moz","_rev":"16-11d49764f0dd1a05afbe100a8d21b712","name":"@mozilla/firefox-devtools-mcp-moz","dist-tags":{"latest":"0.10.4"},"versions":{"0.9.3":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.3","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.3","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"e812418c080c4d4349b882ae04fddfc1a4cb24a7","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.3.tgz","fileCount":29,"integrity":"sha512-Qi3oO4nE4a9VztW58MJyp/hnICRUae0R0vCcMIEN+WHR9oxu58Qah09ZeUcTO5R/ui1bcvq0bTRUvQkPDZlx9w==","signatures":[{"sig":"MEUCICIobUhqjNrvcShcbmtsevdnhMLOWbZZapu9bQMQl15eAiEAxqLEENAa8aUrRJteagMiCho4FBMUtMQ//Yi2oN2WfDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308090},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"10.8.1","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ws":"8.18.3","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"3.1.4","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"3.1.4","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"3.1.4","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.3_1778164485926_0.35256333007403895","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.4","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.4","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"04e2d26502c89d3c42dec70cd6bfa6ab8e317008","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.4.tgz","fileCount":29,"integrity":"sha512-0EFtEMnxt13eF8Jv52wG09mAUkmIcRq1VFUnR3U5PI2F4SqbRpWNuLWnONGRqzeZtynfg0Vo793XgDuGrXPGDw==","signatures":[{"sig":"MEUCIHcZ79A1y4EGQV4KIonxGyR3cWlgolcB01gnDEiOrFVfAiEAit5bwfy9MdvGUJq0j5OFxllGm5LsOjDbfgnqIT3p5UY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1311943},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"10.8.1","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ws":"8.18.3","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"3.1.4","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"3.1.4","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"3.1.4","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.4_1780590070686_0.2485471637142953","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.5","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.5","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"3a1e449034b24e0e2fcc60db4ae6a7a4d91b3753","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.5.tgz","fileCount":29,"integrity":"sha512-vgI8xLgCdxSyvb/PFUuOwT8Nw4lT5CJwyDIBMSYDz00o6t++7HcKh9+NN4NS6xkSh5XwxXnPb2ne3dLP7Lf0OA==","signatures":[{"sig":"MEUCIQC3rmIG6DADrm03+HUtxsqaNQw+jsZahBx9OIV7OgnXUgIgUxlcDKXmW7WYQISacTvq5LMwnNZZ5u7mauvfrncjPNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1315277},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"8.18.3","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"3.1.4","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"3.1.4","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"3.1.4","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.5_1781200881250_0.6962229213861613","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.6","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.6","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"d89f1525be33e86b045cd9f91cc3f08862ae8ae8","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.6.tgz","fileCount":30,"integrity":"sha512-d8tY/ujME/TOlqiJ8+yjnUNSCSMJhTz9pF3pCte215TG5ycKt48U2xbJGsA5yXNTK8mD9G6dA1/aLB2yD3pENg==","signatures":[{"sig":"MEUCIQDupNt0BEnRrzVu/nQeLzwt+f85XYT5xOlltVlHzhBi4AIgQK812cpsJ9OeauiNfBztw3QLtQDy+JXlxlfu+HNDmuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1346349},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.6_1782485361198_0.867633631743584","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.7","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.7","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"8396c07f8b617cc9e8479e10e50c17cd7fb157f7","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.7.tgz","fileCount":30,"integrity":"sha512-RU65t4GlmQZzhUKFKARr6CerxKKy2pprP4mtjRDSbM8oM0s1HeK82Euqsd9DbMyKMKhaV6V/epOPxzmZ8wiCrg==","signatures":[{"sig":"MEUCIQD8Ff3d24PUbuaUwt43Qu+x9DOkmulu0HknZMnb+/oF2gIgInVihI0Gagt11/yZJZ3EOZZoNmvPTfzHBZNz4zx9bl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1346349},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.7_1782486433596_0.7672009600757781","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.8","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.8","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"39ff19de30636347264b1c2e3e252b0e054e69e8","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.8.tgz","fileCount":22,"integrity":"sha512-7CmSHiqbII3ne0BgpaBlzhQbjYgGnuGzPypzwcd4cdMDrKCNTP+ocsgR48LUcwx2d/KI5V/egMAwM6ZEOsc28Q==","signatures":[{"sig":"MEQCIDojlQy4WeIok1cBxQwg1+ZIFewvMo6u8vPWWtWWUY8QAiBEkXcHNawroHzMiFMmtb4XgTOUk/5RffO8DHBcOmWNmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1338306},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.8_1782987915826_0.0023708553577732605","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.9","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.9","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"1228e4644f6d9f39d0112bc6067082e173839679","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.9.tgz","fileCount":21,"integrity":"sha512-Q7lTV4JWPr/JRDgad4zzwmKI2eubTRjI5l7IWU3w6f698DbYmloZGQgJto/1qbGHrsJYwZlLS5wMxMDwnsQnqA==","signatures":[{"sig":"MEYCIQCBKjKU4Jkx3tDzvR5P2qUr5uhnQyhfW5eO4kfkp1Ai7AIhAMNf7rX0puPnofT0eOS1vPvpMxOqZT1/iRt72HXoXjof","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1337292},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.9_1783008585710_0.6159060073379554","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.10","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.10","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"1834a784c030a12d71ecc142f4cd23da561899b0","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.10.tgz","fileCount":31,"integrity":"sha512-5boABzkATxh9Njjnuv5W0ZlOYS6hNF/cApLW3oJIwscsAJ6iiFHZszWjnXQ5xhisDLAlRGM6tyEbQKPy1Ea7HA==","signatures":[{"sig":"MEUCIQC4f0WGd5CSsz6CLILoi5d/3bEj1rogrinZVT+yQfEQMgIgbGa7jmqKjjuHpJ62xUDSDXOLAGxf5ckgCd5NsHTMTD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1353365},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.10_1783702690456_0.8382696158126524","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.12","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.12","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"45e0dfc6a5bd195c43c50aca6d7f9b2013b6eea4","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.12.tgz","fileCount":31,"integrity":"sha512-leHvHKfZsUvmJoDSDwoDmxctNNNXIk2rjMvKmqUoc00BxqrB954kmJGn/JrJIwFRsr49NKKy8xQRrHqp2eUndA==","signatures":[{"sig":"MEQCIAvAb1EpTm20e2VvwSLst4vZPvT0y1zMtXaKKTo7ABtdAiA95f4LetFCM9Ee+9R2SPdPlm6I2ET/QWCK4K/xojOAEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1353365},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.12_1783704448024_0.546194983640665","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.9.15","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.9.15","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"6ffaa4db7812518d576f2b1821d6427933a2e20c","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.9.15.tgz","fileCount":31,"integrity":"sha512-M6bnS5p3RWMbYFBak2DJ87A5Yf27dNXZzAj9Yrbk99V7qCzbAra6RmQqt2OnPiKtJNGznI8XGnVrd8nH6A84iA==","signatures":[{"sig":"MEUCIQDpj24RpVPUZt5FDIwb4pO9k/f/i1BW64Oo5T2/xcrwWAIgdFetCgPmg92iXmvZ33znWxbcsEysYtLnJYn+uyakK8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.9.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":923125},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.9.15_1785198000368_0.9882219634301186","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.10.0","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.10.0","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"60af33d81acde368cd180e40a3b199556c12f887","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.10.0.tgz","fileCount":31,"integrity":"sha512-MdBDXzNV5lkjHdyA80LQYhxoK0+5dKAcGix7tqk75DrAzzN7oNGcrbkYFs7bqziBV73z2zmDfH00rysbecMSOA==","signatures":[{"sig":"MEUCID80DzXmADejndbUTd8RagjPEh1wxC+bHxFGtrUUBZIYAiEA7u79T4gn8d6G5Xtsv1qT9XRSK7ouaHGX7zOkX7xIflo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":939973},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.10.0_1787072363350_0.6158498726654416","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.10.1","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.10.1","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"6c58cefc02265a5fe78277bf5acf1ad6675f44be","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.10.1.tgz","fileCount":35,"integrity":"sha512-wriePpDWLXq2+1HRw7oDUFiJoWAi51UD2OeU88O8CWcbQh9ShvgovqFuwaE3oEu4U2wEvx0r1JOsK2PqmcBw1g==","signatures":[{"sig":"MEUCIHYFV6gxo8Vt90A03Bh+trwbreuHpS+nKiZDQgp/f09nAiEA9Q/BpLO8OsQWy5bQ5i9ApdFD61hyIAOwEdvXn5t0dJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":957468},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.10.1_1787350770887_0.40576306782627336","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.10.2","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.10.2","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"8cacb3a432a1bc985c2a6d7a4befffe80fd25d69","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.10.2.tgz","fileCount":35,"integrity":"sha512-SRjaXvh7Mbtz5FNr+yTsUaKfMhw3tcyhPvxxfanOf+DUUlHNtwlMqFtkbJ2aha1Cdg5v7DqMVijU5qzhH4UIWw==","signatures":[{"sig":"MEYCIQDN4E4FoiNZzQpzkjkZeShcTsBYfBh3ClpeTiZz9uRQBAIhAPqXqAi1IwoD6et/cu4hSknZXtRC1Z4hI7Zxy/IQCJOj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":980985},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","fflate":"0.8.3","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.10.2_1788517429945_0.30870361776344657","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@mozilla/firefox-devtools-mcp-moz","version":"0.10.3","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","_id":"@mozilla/firefox-devtools-mcp-moz@0.10.3","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"dist":{"shasum":"ce87b25817a5cdb86f0918203c8bcb30add4f33f","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.10.3.tgz","fileCount":35,"integrity":"sha512-eAJj6Wc4KKGpapIKIohPfKgz1LPhNZSY59gVl+TinhKAWUsDdtvCTMMDuBcwpbDokl2yfdkWcupcYIOmIqGE4Q==","signatures":[{"sig":"MEUCIQDk43TpHCTksgHH//KQW7wfOtnPyDT1vO/soWV6wCg0XwIgRKLr2kGUvLfu/5eHSfJGNrHTWD/ymySuOUKAxHqsdUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFbg8U5H83ZalMOlQ5UPqg45ysW7Y54fPsS7iaAAvZKyAiEA86aleqr0w2ESOPxRRXp/uPwQApWJIXmoV081pA5PoqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1230195},"main":"dist.moz/index.js","type":"module","types":"dist.moz/index.d.ts","engines":{"node":">=20.19.0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","fflate":"0.8.3","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","webdriver-bidi-protocol":"^0.4.3","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/firefox-devtools-mcp-moz_0.10.3_1789725058196_0.15774477982015456","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"_id":"@mozilla/firefox-devtools-mcp-moz@0.10.4","bin":{"firefox-devtools-mcp-moz":"dist.moz/index.js"},"bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"dist":{"shasum":"0a71312ad1ed88a2505ca0f6d9cbf1fc4b97817c","tarball":"https://registry.npmjs.org/@mozilla/firefox-devtools-mcp-moz/-/firefox-devtools-mcp-moz-0.10.4.tgz","fileCount":36,"integrity":"sha512-BPsmt/CrUUnLHHXtrKstbIHBU0M8OYG9u0yk6C90M1MWsVc7wT8mDPUxfxeif/GaA9zSNP0TX5on1bcIbKyz/w==","signatures":[{"sig":"MEUCIQC+MvAO4cZbyDQglfqAcXN9Qgc9nPsZmy/4qhrD1RJb4QIgHo+4mqUHUoF5iZ6ddqnf98XqHF0CPmWTEMfn1j2fTEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDSM/iGlSBawmSp+TSXRUXVr6NPBrHf77XVloKxDcMglAiEA5uOmjj21YeU/ftStxCa5TB3GqZkG2NZRgkWqa15Htx8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mozilla%2ffirefox-devtools-mcp-moz@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1232036},"main":"dist.moz/index.js","name":"@mozilla/firefox-devtools-mcp-moz","type":"module","types":"dist.moz/index.d.ts","author":{"name":"Mozilla"},"engines":{"node":">=20.19.0"},"license":"MIT OR Apache-2.0","version":"0.10.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:479faf0a-be85-48d9-80f7-e3dcc400cc6e"}},"homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","directories":{},"maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","yargs":"17.7.2","geckodriver":"6.0.2","selenium-webdriver":"4.36.0","@modelcontextprotocol/sdk":"1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.0","jsdom":"28.1.0","dotenv":"17.2.1","eslint":"8.57.1","fflate":"0.8.3","vitest":"4.1.8","prettier":"3.5.3","@types/ws":"8.18.1","@vitest/ui":"4.1.8","typescript":"5.3.3","@types/node":"24.1.0","@types/jsdom":"28.0.0","@types/yargs":"17.0.32","@anthropic-ai/mcpb":"2.1.2","@vitest/coverage-v8":"4.1.8","eslint-config-prettier":"10.1.5","eslint-plugin-prettier":"5.4.0","webdriver-bidi-protocol":"^0.4.3","@types/selenium-webdriver":"4.35.1","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/firefox-devtools-mcp-moz_0.10.4_1790074141642_0.928827476664924"}}},"time":{"created":"2026-05-07T14:34:45.798Z","modified":"2026-09-22T10:49:02.123Z","0.9.3":"2026-05-07T14:34:46.144Z","0.9.4":"2026-06-04T16:21:10.869Z","0.9.5":"2026-06-11T18:01:21.478Z","0.9.6":"2026-06-26T14:49:21.389Z","0.9.7":"2026-06-26T15:07:13.844Z","0.9.8":"2026-07-02T10:25:16.036Z","0.9.9":"2026-07-02T16:09:45.969Z","0.9.10":"2026-07-10T16:58:10.662Z","0.9.12":"2026-07-10T17:27:28.261Z","0.9.15":"2026-07-28T00:20:00.543Z","0.10.0":"2026-08-18T16:59:23.475Z","0.10.1":"2026-08-21T22:19:31.034Z","0.10.2":"2026-09-04T10:23:50.111Z","0.10.3":"2026-09-18T09:50:58.288Z","0.10.4":"2026-09-22T10:49:01.733Z"},"bugs":{"url":"https://github.com/mozilla/firefox-devtools-mcp/issues"},"author":{"name":"Mozilla"},"license":"MIT OR Apache-2.0","homepage":"https://github.com/mozilla/firefox-devtools-mcp#readme","keywords":["mcp","mcp-server","model-context-protocol","firefox","firefox-devtools","browser-automation","webdriver-bidi","selenium","devtools","browser-testing","web-automation","claude","claude-ai","ai-agent","llm"],"repository":{"url":"git+https://github.com/mozilla/firefox-devtools-mcp.git","type":"git"},"description":"Model Context Protocol (MCP) server for Firefox DevTools automation (moz build with privileged context support)","maintainers":[{"name":"mozilla-npm","email":"npm-owners@mozilla.com"},{"name":"mythmon","email":"mythmon@gmail.com"},{"name":"jkratzer","email":"jkratzer@mozilla.com"},{"name":"factorui.npm","email":"factorui.npm@mozilla.com"},{"name":"project-nimbus-publishing","email":"project-nimbus-publishing@mozilla.com"},{"name":"gijs","email":"gijskruitbosch@gmail.com"},{"name":"brizental","email":"brizental@mozilla.com"},{"name":"aplacitelli","email":"aplacitelli@mozilla.com"},{"name":"mozrhelmer","email":"rhelmer@mozilla.com"},{"name":"knowtheory","email":"ted@knowtheory.net"},{"name":"nbaumgardner","email":"niklasbaumgardner@gmail.com"},{"name":"tigleym","email":"tigleym@gmail.com"},{"name":"eemeli","email":"eemeli@gmail.com"},{"name":"hmanilla","email":"hmanilla+npm@mozilla.com"},{"name":"jdescottes-mozilla-npm","email":"jdescottes+npm@mozilla.com"},{"name":"ahanot","email":"ahanot+npm@mozilla.com"},{"name":"mlifshin","email":"mlifshin+npm@mozilla.com"},{"name":"llisi-moz","email":"llisi+npm@mozilla.com"},{"name":"jdarcangelo-mozilla","email":"jdarcangelo+npm@mozilla.com"},{"name":"nchevobbe","email":"nchevobbe+npm@mozilla.com"}],"readme":"# Firefox DevTools MCP\n\n[![npm version](https://badge.fury.io/js/@mozilla%2Ffirefox-devtools-mcp.svg)](https://www.npmjs.com/package/@mozilla/firefox-devtools-mcp)\n[![CI](https://github.com/mozilla/firefox-devtools-mcp/workflows/CI/badge.svg)](https://github.com/mozilla/firefox-devtools-mcp/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/mozilla/firefox-devtools-mcp/branch/main/graph/badge.svg)](https://codecov.io/gh/mozilla/firefox-devtools-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE-MIT) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE-APACHE)\n\n<a href=\"https://glama.ai/mcp/servers/@mozilla/firefox-devtools-mcp\"><img src=\"https://glama.ai/mcp/servers/@mozilla/firefox-devtools-mcp/badge\" height=\"223\" alt=\"Glama\"></a>\n\nModel Context Protocol server for automating Firefox via WebDriver BiDi (through Selenium WebDriver). Works with Claude Code, Claude Desktop, Cursor, Cline and other MCP clients.\n\nRepository: https://github.com/mozilla/firefox-devtools-mcp\n\n> **Note**: This MCP server requires a local Firefox browser installation and cannot run on cloud hosting services like glama.ai. Use `npx @mozilla/firefox-devtools-mcp@latest` to run locally, or use Docker with the provided Dockerfile.\n\n## Security\n\nBrowser MCP servers carry inherent risks. A few key practices:\n\n- **Use a dedicated Firefox profile.** Never run the server against your regular profile — the agent has access to whatever the browser can reach, including cookies and saved sessions.\n- **Be cautious about which sites you visit.** Pages can return content designed to manipulate the agent (prompt injection). Stick to sites you control or trust.\n- **Enable only the tool modules you need.** The default `basic` preset already includes `evaluate_script`; `--tool-preset slim` drops it. Higher presets such as `--tool-preset developer` (debugging, network, console, profiler) and `--tool-preset mozilla` (privileged context) expand what the agent can do further.\n\nSee [SECURITY.md](SECURITY.md) for a full breakdown of risks and how to report vulnerabilities.\n\n## Requirements\n\n- Node.js ≥ 20.19.0\n- Firefox 100+ installed (auto‑detected, or pass `--firefox-path`)\n\n## Install and use with Claude Code or Codex (npx)\n\nRecommended: use `npx` so you run the latest published version from npm.\n\n### Option A — CLI\n\n#### Claude Code\n\n```bash\nclaude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest\n\n# Headless + viewport via args\nclaude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720\n\n# Or via environment variables\nclaude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest \\\n  --env START_URL=https://example.com \\\n  --env FIREFOX_HEADLESS=true\n```\n\n#### Codex\n\n```bash\ncodex mcp add firefox-devtools -- npx @mozilla/firefox-devtools-mcp@latest\n\n# Headless + viewport via args\ncodex mcp add firefox-devtools -- \\\n  npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720\n\n# Or via environment variables\ncodex mcp add firefox-devtools \\\n  --env START_URL=https://example.com \\\n  --env FIREFOX_HEADLESS=true \\\n  -- npx @mozilla/firefox-devtools-mcp@latest\n```\n\n### Option B — Edit the configuration file\n\n#### Claude Code\n\nAdd to Claude Code’s mcp_settings.json:\n\n```json\n{\n  \"mcpServers\": {\n    \"firefox-devtools\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mozilla/firefox-devtools-mcp@latest\", \"--headless\", \"--viewport\", \"1280x720\"],\n      \"env\": {\n        \"START_URL\": \"about:blank\"\n      }\n    }\n  }\n}\n```\n\n#### Codex\n\nAdd to ~/.codex/config.toml:\n\n```toml\n[mcp_servers.firefox-devtools]\ncommand = \"npx\"\nargs = [\"-y\", \"@mozilla/firefox-devtools-mcp@latest\", \"--headless\", \"--viewport\", \"1280x720\"]\n\n[mcp_servers.firefox-devtools.env]\nSTART_URL = \"about:blank\"\n```\n\n### Option C — Helper script (local dev build)\n\n```bash\nnpm run setup\n# Choose Claude Code; the script saves JSON to the right path\n```\n\n## Try it with MCP Inspector\n\n```bash\nnpx @modelcontextprotocol/inspector npx @mozilla/firefox-devtools-mcp@latest --start-url https://example.com --headless\n```\n\nThen call tools like:\n\n- `list_pages`, `select_page`, `navigate_page`\n- `take_snapshot` then `click_by_uid` / `fill_by_uid`\n- `list_network_requests` (always‑on capture), `get_network_request`\n- `list_downloads` (always‑on capture), `set_download_behavior`\n- `screenshot_page`, `list_console_messages`\n\n## CLI options\n\nYou can pass flags or environment variables (names on the right):\n\n- `--firefox-path` — absolute path to Firefox binary\n- `--headless` — run without UI (`FIREFOX_HEADLESS=true`)\n- `--viewport 1280x720` — initial window size\n- `--profile-path` — use a specific Firefox profile\n- `--firefox-arg` — extra Firefox arguments (repeatable)\n- `--start-url` — open this URL on start (`START_URL`)\n- `--accept-insecure-certs` — ignore TLS errors (`ACCEPT_INSECURE_CERTS=true`)\n- `--connect-existing` — attach to an already-running Firefox instead of launching a new one (`CONNECT_EXISTING=true`)\n- `--marionette-port` — Marionette port for connect-existing mode, default 2828 (`MARIONETTE_PORT`)\n- `--pref name=value` — set Firefox preference at startup via `moz:firefoxOptions` (repeatable)\n- `--tool-preset` — select which tool modules to enable: `slim`, `basic` (default), `developer`, `mozilla`, or `all`. See [Tool modules and presets](#tool-modules-and-presets). (`TOOL_PRESET`)\n- `--tools` — explicit list of tool modules to enable, overriding `--tool-preset` entirely (e.g. `--tools pages network script`). See [Tool modules and presets](#tool-modules-and-presets).\n- `--enable-script` — _deprecated, use `--tool-preset developer` or `--tools ... script debugging`._ Selects the `developer` tool preset. (`ENABLE_SCRIPT=true`)\n- `--enable-privileged-context` — _deprecated, use `--tool-preset mozilla` or `--tools ... privileged prefs`._  Selects the `mozilla` tool preset. Requires `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1` (`ENABLE_PRIVILEGED_CONTEXT=true`)\n- `--android-device` — enable Firefox for Android mode; value is the ADB device serial (e.g. `emulator-5554`). Run `adb devices` to list connected devices. Omit the value or use `auto` to select the single connected device automatically.\n- `--android-wipe-app-data` — confirm that Android mode wipes all data of the target app. Required together with `--android-device`. (`ANDROID_WIPE_APP_DATA=true`)\n- `--android-package` — Android app package name, default `org.mozilla.firefox`. Other packages: `org.mozilla.firefox_beta` for Firefox Beta, `org.mozilla.fenix` for Firefox Nightly, `org.mozilla.fenix.debug` for Firefox Nightly Debug, `org.mozilla.geckoview_example` for geckoview (`ANDROID_PACKAGE`)\n- `--unrestricted-save-paths` — let the `saveTo` parameter write anywhere on disk instead of the default roots. See [Saving bulky output to disk](#saving-bulky-output-to-disk) and the security note in [SECURITY.md](SECURITY.md). (`UNRESTRICTED_SAVE_PATHS=true`)\n- `--log-file` — write MCP server logs to a file instead of stderr. Useful for debugging sessions with MCP clients that hide server output. Set `DEBUG=*` to also include verbose debug logs. Example: `--log-file /tmp/firefox-mcp.log`\n\n\n### Tool modules and presets\n\nTools are grouped into modules. You choose which modules to expose either with a named preset\n(`--tool-preset`) or with an explicit list (`--tools`). When both are given, `--tools` wins and\nthe preset is ignored.\n\nModules: `pages`, `snapshot`, `input`, `network`, `console`, `screenshot`, `downloads`,\n`utilities`, `management`, `launch`, `webextension`, `profiler`, `screencast`, `script`,\n`debugging`, `prefs`, `privileged`.\n\nPresets (each is a superset of the previous):\n\n- `slim` — `pages`, `snapshot`, `input`, `screenshot`\n- `basic` (default) — `slim` plus `downloads`, `script`, `utilities`, `management`, `webextension`, `screencast`\n- `developer` — `basic` plus `debugging`, `network`, `console`, `profiler`\n- `mozilla` — `developer` plus `launch`, `prefs`, `privileged`\n- `all` — every module\n\nNote that `basic`, the default, includes `script` and therefore the `evaluate_script` tool.\nSee [SECURITY.md](SECURITY.md#tool-modules-and-presets) for what that means for the attack\nsurface, and use `--tool-preset slim` or an explicit `--tools` list to drop it.\n\n```bash\n# Use the developer preset (adds network, console, debugging and profiler tools)\nnpx @mozilla/firefox-devtools-mcp --tool-preset developer\n\n# Enable only the modules you need\nnpx @mozilla/firefox-devtools-mcp --tools pages network console\n```\n\nThe `prefs` and `privileged` modules require `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1` and are only\navailable in the Mozilla-internal build. The `launch` module requires the Mozilla-internal\nbuild too: it restarts Firefox under a caller-chosen binary, profile, environment and set of\npreferences, which is a configuration change the operator should own. Use `--pref`,\n`--firefox-path` and the other command-line options instead. The public package skips these\nmodules even if requested and logs a warning naming the modules it dropped.\n\n### Useful preferences (`--pref`)\n\n- remote.prefs.recommended=false. When Firefox runs in automation, it applies [RecommendedPreferences](https://searchfox.org/firefox-main/source/remote/shared/RecommendedPreferences.sys.mjs) that modify browser behavior for testing. Set remote.prefs.recommended to false to skip those and have a configuration closer to a regular Firefox instance.\n- remote.log.level=Trace. Enable verbose WebDriver protocol logs in Firefox. The MCP server will automatically pass the matching log level to geckodriver so both sides log at the same verbosity.\n- app.update.disabledForTesting=false. Allow Firefox to automatically download and apply updates. Note that updates may interrupt your session. Requires also setting remote.prefs.recommended=false.\n\n### Firefox for Android\n\nUse `--android-device` to automate Firefox running on an Android device. Requires `adb` on your PATH and geckodriver, which is managed automatically.\n\n> **Warning:** Android mode wipes all data of the target app before every session.\n> Tabs, history, bookmarks, passwords, cookies and settings are all lost. geckodriver runs\n> `adb shell pm clear <package>` when creating the session and offers no way to skip it,\n> then runs the session on its own temporary profile which is deleted afterwards.\n> Because of this, `--android-device` requires `--android-wipe-app-data`, and you should\n> install a build dedicated to automation rather than automating the browser you use.\n> [Bug 2064088](https://bugzilla.mozilla.org/show_bug.cgi?id=2064088) tracks adding an\n> option to geckodriver to keep the existing app data.\n\n```bash\n# List connected devices\nadb devices\n\n# Launch Firefox for Android on the single connected device\nnpx @mozilla/firefox-devtools-mcp --android-device auto --android-wipe-app-data\n\n# Target a specific device\nnpx @mozilla/firefox-devtools-mcp --android-device <serial> --android-wipe-app-data\n\n# Use Firefox Nightly instead\nnpx @mozilla/firefox-devtools-mcp --android-device <serial> --android-package org.mozilla.fenix --android-wipe-app-data\n```\n\nPort forwarding between the host and device is handled automatically by geckodriver.\n\n### Connect to existing Firefox\n\nUse `--connect-existing` to automate your real browsing session, with cookies, logins, and open tabs intact:\n\n```bash\n# Start Firefox with Marionette and the Remote Agent (BiDi)\nfirefox --marionette --remote-debugging-port\n\n# Run the MCP server\nnpx @mozilla/firefox-devtools-mcp --connect-existing --marionette-port 2828\n```\n\nBoth flags are required because the MCP uses both WebDriver Classic (`--marionette`) and WebDriver BiDi (`--remote-debugging-port`). If Firefox is only started with `--marionette`, the MCP server fails to connect and asks you to restart Firefox with both flags.\n\n> **Warning:** Do not leave Marionette enabled during normal browsing. It sets\n> `navigator.webdriver = true` and changes other browser fingerprint signals,\n> which can trigger bot detection on sites protected by Cloudflare, Akamai, etc.\n> Only enable Marionette when you need MCP automation, then restart Firefox\n> normally afterward.\n\n## Tool overview\n\nSee [docs/tools.md](docs/tools.md) for the full list of tools by module, with\ndescriptions and parameters (generated from the source).\n\n- Pages: list/new/navigate/select/close/get_page_text (get_page_text supports optional `saveTo`)\n- Snapshot/UID: take/resolve/clear (take supports optional `saveTo`)\n- Input: click/hover/fill/drag/upload/form fill/press_key/type_text\n- Network: list/get (ID‑first, filters, always‑on capture; both support optional `saveTo`)\n- Downloads: list_downloads/clear_downloads (always‑on capture), set_download_behavior (allow/deny/default)\n- Console: list/clear (list supports optional `saveTo`)\n- Screenshot: page/by uid (with optional `saveTo` for CLI environments)\n- Script: evaluate_script (optional `sandbox` for an isolated realm; optional `saveTo` for bulky results)\n- Privileged Context: list/select privileged (\"chrome\") contexts, evaluate_privileged_script (requires `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1`)\n- WebExtension: install_extension, uninstall_extension, list_extensions (list requires `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1`)\n- Firefox Management: get_firefox_info, get_firefox_output, close_firefox_session\n- Firefox Launch: restart_firefox (requires the Mozilla-internal build)\n- Firefox Preferences: get_firefox_prefs, set_firefox_prefs (requires `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1`)\n- Profiler: profiler_is_active, profiler_start (preset or explicit config), profiler_stop (saves profile to downloads directory)\n- Screencast: screencast_start (records the page viewport to a video file in the downloads directory), screencast_stop (requires Firefox 154+)\n- Utilities: accept/dismiss dialog, history back/forward, set viewport\n\n### Saving bulky output to disk\n\nLarge tool output can consume significant context in CLI clients like Claude Code. The\n`screenshot_page`, `screenshot_by_uid`, `take_snapshot`, `list_console_messages`,\n`list_network_requests`, `get_network_request`, `get_page_text`,\n`evaluate_script`, and\n`evaluate_privileged_script` tools accept an optional `saveTo` parameter that writes the\nresult to a file instead of returning it inline. `saveTo` takes one of three forms:\n\n- a file path (relative to the current working directory, or absolute within `~/.firefox-devtools-mcp/output`; parent directories are created). Paths reaching a Firefox profile, or the files this server reads back, are refused\n- an existing directory (a timestamped file is generated inside it)\n- `true` (a timestamped file is generated under `~/.firefox-devtools-mcp/output/`)\n\nThe response returns the path and byte size. The saved file always holds the full,\nuntruncated data: the inline size safeguards (console message caps, network header\ntruncation, snapshot line caps) never apply to it.\n\nThe text-producing tools (everything except the screenshots) also accept `preview`, a number\nof characters of the saved output to echo back inline as a short excerpt. Screenshots have no\npreview.\n\n```\nscreenshot_page({ saveTo: \"page.png\" })\ntake_snapshot({ saveTo: true })\nlist_network_requests({ urlContains: \"api\", saveTo: \"network.json\" })\nevaluate_script({ function: \"() => performance.getEntries()\", saveTo: true, preview: 2000 })\n```\n\nBy default, save paths are restricted: relative paths resolve against the current working\ndirectory, and absolute paths are only allowed within `~/.firefox-devtools-mcp`. Paths that\nescape these locations are rejected. Start the server with `--unrestricted-save-paths` to\nwrite to arbitrary locations, including absolute paths outside that directory.\n\nSaved files can then be viewed for instance with Claude Code's `Read` tool without impacting context size.\n\n## Local development\n\n```bash\nnpm install\nnpm run build\n\n# Run with Inspector against local build\nnpx @modelcontextprotocol/inspector node dist/index.js --headless --viewport 1280x720\n\n# Or run in dev with hot reload\nnpm run inspector:dev\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more details on local development, testing, and CI.\n\n## Troubleshooting\n\n- Firefox not found: pass `--firefox-path \"/Applications/Firefox.app/Contents/MacOS/firefox\"` (macOS) or the correct path on your OS.\n- First run is slow: Selenium sets up the BiDi session; subsequent runs are faster.\n- Stale UIDs: a UID stays valid until its element is removed or the page navigates; take a fresh snapshot (`take_snapshot`) when a UID tool reports one is gone.\n- Windows 10: Error during discovery for MCP server 'firefox-devtools': MCP error -32000: Connection closed\n  - **Solution 1** Wrap with `cmd /c` ([details](https://github.com/modelcontextprotocol/servers/issues/1082#issuecomment-2791786310)):\n\n    ```json\n    \"mcpServers\": {\n      \"firefox-devtools\": {\n        \"command\": \"cmd\",\n        \"args\": [\"/c\", \"npx\", \"-y\", \"@mozilla/firefox-devtools-mcp@latest\"]\n      }\n    }\n    ```\n\n  - **Solution 2** Use the absolute path to `npx` (adjust extension — `.cmd`, `.bat`, `.exe`, or `.ps1` — to match your setup):\n\n    ```json\n    \"mcpServers\": {\n      \"firefox-devtools\": {\n        \"command\": \"C:\\\\nvm4w\\\\nodejs\\\\npx.ps1\",\n        \"args\": [\"-y\", \"@mozilla/firefox-devtools-mcp@latest\"]\n      }\n    }\n    ```\n\n## Versioning\n\n- Pre‑1.0 API: versions start at `0.x`. Use `@latest` with npx for the newest release.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for how to file issues, run tests, and work on the project locally.\n\n## Author\n\nMaintained by [Mozilla](https://www.mozilla.org).\n\n## License\n\nLicensed under either of [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE-APACHE) at your option.\n","readmeFilename":"README.md"}