jj-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jj-mcp-serverShow me the current status of the repository."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jj-mcp-server
A Model Context Protocol server for
Jujutsu (jj) version control, built on
Effect v4. Optional first-class support for
jjCoW (clone-on-write workspace
manager, ~40× faster than jj workspace add).
Typed end-to-end: parameter schemas are
effect/Schema(decoded at the boundary, not coerced at runtime); results are typed; errors areSchema.TaggedErrorso the caller can pattern-match on_tag.Effect-native:
Effect.gen, scoped resources, tagged errors,Layer.launch. Noany, no thrown exceptions.Curated: 22
jjtools + 7jjcowtools — the day-to-day operations an agent actually reaches for. Not 40 hand-rolledargs.pushblocks.Stable tool surface:
jjcowtools are always registered and fail at call time with a typedJjCowNotInstallederror whenjjwis missing, so clients never see a different schema across hosts.
Install
# npm
npm install -g @cyberistic/jj-mcp-server
# pnpm
pnpm add -g @cyberistic/jj-mcp-server
# bunx (no install)
bunx @cyberistic/jj-mcp-serverThen point your MCP client at the jj-mcp-server bin. The exact
configuration depends on the client; for opencode:
{
"mcp": {
"jj": {
"type": "local",
"command": ["jj-mcp-server"]
}
}
}Related MCP server: aira-mcp-server
Uninstall
npm uninstall -g @cyberistic/jj-mcp-server
# or
pnpm remove -g @cyberistic/jj-mcp-serverThen remove the jj entry from your MCP client's config.
Tools
Meta — call first
Tool | Notes |
| Returns the jj mental model + canonical workflow. Read this before any non-trivial jj op. |
Read-only jj tools
Tool | Wraps |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mutating jj tools
Tool | Wraps |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optional jjcow tools (always registered; fail with JjCowNotInstalled if jjw is missing)
Tool | Wraps |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Install jjCoW to enable these:
git clone https://github.com/Cyberistic/jjCoW
cd jjCoW
just build && just installThen jjcow_* tools start working without any change to the MCP server.
If jjw is not on $PATH, the tools return a typed JjCowNotInstalled
error explaining how to install it.
What's deliberately not exposed
The keanemind-style reference exposes 40+ tools. We keep the surface small.
If an agent needs bookmark-track, git-remote-add, file-annotate,
evolog, interdiff, revert, restore, edit, or any of the
operation-* forensics commands, they can shell out to jj directly. This
keeps the tool catalog fast to scan and the LLM prompt smaller.
Error taxonomy
Every failure is a Schema.TaggedError with a stable _tag:
| Meaning |
| Catch-all for runtime failures (e.g. spawn error when |
|
|
| The target |
|
|
Library use
The bin is the canonical entry; this package also exports the underlying
Layer and Toolkits so an embedder can splice them into a richer layer
graph:
import { MainLayer, JjToolkit, JjCowToolkit } from "@cyberistic/jj-mcp-server";Development
This package uses nub and bun for tooling. Two CLIs cover the entire lifecycle — nothing else is required.
nub install # install deps
nub run typecheck # tsc --noEmit
nub run lint # oxlint .
nub run fmt # oxfmt .
nub scripts/smoke.ts # verify the toolkits expose the expected tools
nub src/cli.ts < scripts/smoke.json
# end-to-end JSON-RPC smoke over stdiolefthook runs oxfmt + oxlint on pre-commit and tsc --noEmit on
pre-push (LEFTHOOK=0 skips).
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.1239,753 PyPI90,569MIT
- AlicenseBqualityCmaintenanceA Model Context Protocol server for creating commit messages from git staged files.21MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables Large Language Models to interact with Git repositories through a robust API, supporting operations like repository initialization, cloning, file staging, committing, and branch management.282,991 npm240Apache 2.0
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server designed to easily dump your codebase context into Large Language Models (LLMs).13 npm3Apache 2.0