mokata is a pure-Python CLI whose core has no required runtime dependencies, so it installs
anywhere Python ≥ 3.12 runs. A plain pip install mokata also pulls the one default dependency —
the MCP SDK — so the in-harness mokata-mcp server works out of the box, no extra needed.
The SDK is still lazily imported, so the CLI runs fine even in a stripped env where it's absent.
Pick the path that fits how you work. This page covers the CLI.
The primary way — one install line, one setup: in your repo run
uv tool install "mokata[full]"(orpipx install "mokata[full]"), thenmokata setup claude --mode full, restart Claude Code and runmokata doctor. The installer fetches everything full mode uses; setup only detects and wires it, and never installs. Update later withuv tool upgrade mokata/pipx upgrade mokata— both keep the extra.setup clauderunsmokata initfor you on a new repo and only refreshes the wiring on an existing one.Alternative inside Claude Code: the plugin — you may not need the CLI at all; it installs with two commands inside Claude Code:
/plugin marketplace add JasGujral/mokata-oss, then/plugin install mokata@mostack(its MCP server starts throughuvx, souvmust be on PATH). See Install the plugin. Want the CLI too (formokata setup claude,mokata approve, CI)? Install it isolated — pipx,uv toolor Homebrew below — then follow Getting started.
| Method | Command | Status | Best for |
|---|---|---|---|
| uv tool (recommended) | uv tool install "mokata[full]" |
Live (on PyPI) | An isolated mokata + everything full mode uses — then mokata setup claude --mode full; update with uv tool upgrade mokata |
| pipx (recommended) | pipx install "mokata[full]" |
Live (on PyPI) | The same, for pipx users; update with pipx upgrade mokata |
| pip | pip install mokata |
Live (on PyPI) | Last resort — inside a project venv this mixes mokata's deps into yours; prefer pipx / uv tool |
| uv (pip) | uv pip install mokata |
Live (on PyPI) | Same caveat as pip — it installs into the active environment |
| uvx (zero-install run) | uvx mokata --version |
Live (on PyPI) | Running mokata once without installing |
| pipx run (zero-install) | pipx run mokata --version |
Live (on PyPI) | The pipx equivalent of uvx |
| Homebrew | brew install JasGujral/mokata/mokata |
Live (tap JasGujral/mokata) |
macOS/Linux users who manage tools with brew |
| npm / npx | — | Not applicable — mokata is a Python package, not an npm one | (use uvx/pipx run for zero-install) |
Honest status. pip/pipx/uv/uvx are live because mokata is published on PyPI, and Homebrew is live from mokata's own tap,
JasGujral/mokata— not homebrew-core, so the formula must be reached through the tap (brew install JasGujral/mokata/mokata) rather than by the bare name. There is no npm package, sonpx mokatadoes not apply — useuvx/pipx runfor a zero-install runner.
pipx installs the CLI into its own isolated environment and puts mokata
on your PATH — no venv juggling, no dependency conflicts.
pipx install mokata
mokata --versionUpgrade with pipx upgrade mokata; uninstall with pipx uninstall mokata. mokata update
does the same in one step for any install — it shows the release notes and the command, and asks
first.
The uv equivalent of pipx — its own environment, mokata on your PATH:
uv tool install mokata
mokata --versionUpgrade with uv tool upgrade mokata; uninstall with uv tool uninstall mokata.
pip install mokata # into the active environment
uv pip install mokata # the uv equivalentInside a project venv this mixes mokata's deps into yours — prefer the above. It also binds the hooks
mokata setup claudewires to that venv's path, so they break when the venv is recreated.mokata doctorandmokata setup claudewarn when they find mokata installed inside the repo's own environment, or an older copy on PATH shadowing the one you meant to run.
That already installs the MCP SDK, so mokata-mcp works with no extra step — you do not need
a [mcp] extra (it's a no-op alias kept only for backwards compatibility).
Optional extras (each is degrade-clean when absent — never required):
pip install "mokata[full]" # everything `--mode full` wires: embeddings + graph-ts +
# code-review-graph + the IDE companion's web stack
pip install "mokata[postgres]" # optional shared-memory / session Postgres backend
pip install "mokata[schema]" # richer manifest validation messages (jsonschema)Run mokata once without installing it — handy in CI or to try a command:
uvx mokata --version # uv's runner
pipx run mokata stacks list # pipx's runnermokata ships from its own tap, JasGujral/mokata. One command installs it — brew resolves
the tap from the fully-qualified name, so no separate brew tap step is required:
brew install JasGujral/mokata/mokata
mokata --versionUpgrade with brew upgrade mokata; uninstall with brew uninstall mokata.
mokata is not in homebrew-core, so a bare brew install mokata does not resolve — use the
fully-qualified name above, or tap first and then use the short name:
brew tap JasGujral/mokata
brew install mokataOn Homebrew 6.0.15 and newer, third-party taps must be trusted before a formula loads. If brew reports "Refusing to load formula … from untrusted tap", run
brew trust JasGujral/mokataonce and re-run the install.
Homebrew builds Python formulae from source with --no-deps, so the formula vendors mokata's
whole dependency tree — including the MCP SDK — into its own virtualenv. mokata-mcp therefore
works from a brew install exactly as it does from pip.
mokata requires Python 3.12+. On an older Python, pip refuses the install
(requires-python >=3.12), and a checkout run without installing (the Claude Code plugin's hooks,
mokata-launch, a clone on PYTHONPATH) says so in one line, naming the Python it found — for
example "found Python 3.10 (python3), but mokata needs Python 3.12+". Fix it either way:
- install uv —
uv tool install mokataand the plugin route fetch a Python 3.12 themselves; or - install Python 3.12+ (python.org,
brew install python@3.12,uv python install 3.12, or your distro's package) and install mokata with it.
mokata --version # confirm the install
mokata init # scaffold a governed config (human-gated)
mokata stacks list # browse ready-made governed stacks for your frameworkSee Community stacks to adopt a ready-made governed stack, and
Getting started to wire mokata into Claude Code with
mokata setup claude.