Issues are tracked on Bugzilla under product: Developer Infrastructure, component: Firefox MCP.
For questions and discussion, join the #firefox-devtools-mcp Matrix room.
npm install
npm run build
# Run with Inspector against local build
npx @modelcontextprotocol/inspector node dist/index.js --headless --viewport 1280x720
# Or run in dev with hot reload
npm run inspector:devTools are grouped into modules, one module per file under src/tools/. Each
tool file declares its own module with defineModule, pairing every tool
definition with its handler:
import { defineModule } from './module.js';
export const module = defineModule({
name: 'mymodule',
description: 'What this group of tools does.',
// privileged: true, // only if it needs the moz build + system access
tools: [
[myTool, handleMyTool],
[myOtherTool, handleMyOtherTool],
],
});To register the module, add it to the catalog in
src/tools/index.ts: import its module, add it to the
MODULES array, and list its name in whichever presets (SLIM, BASIC,
DEVELOPER, MOZILLA) should expose it.
npm run test:run # all tests once (unit + integration)
npm test # watch modeSee docs/testing.md for full details on running specific test suites, the e2e scenario coverage, and known issues.
GitHub Actions for CI, Release, and npm publish are included. See docs/ci-and-release.md for details and required secrets.
This project follows the Mozilla Community Participation Guidelines.
By contributing, you agree that your contributions will be dual-licensed under MIT and Apache 2.0, matching the project's license.