Skip to content

Latest commit

 

History

History
69 lines (47 loc) · 2.27 KB

File metadata and controls

69 lines (47 loc) · 2.27 KB

Contributing to Firefox DevTools MCP

Issues

Issues are tracked on Bugzilla under product: Developer Infrastructure, component: Firefox MCP.

For questions and discussion, join the #firefox-devtools-mcp Matrix room.

Local development

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:dev

Adding a tool

Tools 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.

Testing

npm run test:run          # all tests once (unit + integration)
npm test                  # watch mode

See docs/testing.md for full details on running specific test suites, the e2e scenario coverage, and known issues.

CI and Release

GitHub Actions for CI, Release, and npm publish are included. See docs/ci-and-release.md for details and required secrets.

Code of Conduct

This project follows the Mozilla Community Participation Guidelines.

License

By contributing, you agree that your contributions will be dual-licensed under MIT and Apache 2.0, matching the project's license.