Thanks for contributing to opik-mcp.
This guide is scoped to this repository. For broader Opik project contribution guidance, see the main Opik guide:
- Search existing issues first: https://github.com/comet-ml/opik-mcp/issues
- Use the matching template:
- Bug report: .github/ISSUE_TEMPLATE/bug_report.yml
- Feature request: .github/ISSUE_TEMPLATE/feature_request.yml
- Include reproducible steps, configuration, and environment details.
Prerequisites:
- Node.js
>=20.11.0 - npm
Clone and bootstrap:
git clone https://github.com/comet-ml/opik-mcp.git
cd opik-mcp
npm install
npm run buildOptional runtime config:
cp .env.example .env- Create a branch for your change.
- Keep changes focused and avoid unrelated formatting-only edits.
- Run local checks before opening/updating a PR.
Recommended local checks:
npm run lint
npm test
npm run buildUseful extras:
# all tests + lint
npm run check
# transport-focused tests
npm run test:transport
# pre-commit equivalent checks
make precommitOpen PRs here: https://github.com/comet-ml/opik-mcp/pulls
Please:
- Prefer a draft PR early for feedback.
- Follow the PR template: .github/pull_request_template.md
- Link related issues using
Fixes #<issue-number>(orResolves #<issue-number>) in the PR body. - Update tests and docs for behavior changes.
- Call out breaking changes clearly.
If you use GitHub CLI, common commands are:
gh pr create --draft
gh pr view --web- Keep commits scoped and reviewable.
- Use clear commit messages that describe behavior change.
- If changing public behavior (tools, transport, config), update relevant docs in
README.mdordocs/.
- Do not commit API keys, tokens, or
.envfiles. - Use
.env.exampleas the template for new configuration fields.
- Community chat: https://chat.comet.com
- Opik docs: https://www.comet.com/docs/opik