Contributing

September 24, 2026 ยท View on GitHub

Thanks for considering a contribution. This is a small server with a narrow scope: eleven MCP tools over TypeSafe's Jev, with question design kept in the server so every caller gets well-formed judgments.

Development

npm install
npm run build
npm run typecheck

Node.js 22 or newer. TypeScript, ESM; runtime dependencies include the MCP SDK, TypeSafe SDK, Jev agent tools, and zod.

Tests

npm test            # unit tests, offline
npm run test:e2e    # live API tests, requires TYPESAFE_API_KEY

Unit tests cover the pure helpers in src/lib.ts and run everywhere, including CI. End-to-end tests spawn the built server over stdio and call the tools against the live TypeSafe API. They run in CI only when a TYPESAFE_API_KEY secret is configured, and locally only when the variable is set.

Both suites must pass before a pull request can merge. If you add behavior, add the test that would have caught its absence.

Pull requests

  • Keep changes small and scoped to one tool or one helper.
  • New judgments belong in the tool questions and criteria, not in post-processing that second-guesses the model.
  • Do not add tools without opening an issue first describing the judgment you want and why the existing eleven do not cover it.
  • Update the README example for any tool whose arguments or results change.

Notes

  • The tools intentionally follow TypeSafe cookbook patterns. Link the relevant cookbook when you change a question design.
  • Thresholds are parameters, not constants. Keep defaults in one place and document changes.