Jj

55 tools. 34 can modify or destroy data without limits.

4 destructive tools with no built-in limits. Policy required.

Last updated:

34 can modify or destroy data
21 read-only
55 tools total

Community server · catalogue entry verified 28/06/2026

How to control Jj ↓

What Jj exposes to your agents

Read (21) Write / Execute (30) Destructive / Financial (4)
Critical Risk

The most dangerous Jj tools

34 of Jj's 55 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Jj

PolicyLayer is an MCP gateway — it sits between your AI agents and Jj, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "abandon": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "bookmark-create": {
    "limits": [
      {
        "counter": "bookmark-create_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "bookmark-list": {
    "limits": [
      {
        "counter": "bookmark-list_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Jj — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON JJ →

Instant setup, no code required.

All 55 Jj tools

WRITE 24 tools
Write bookmark-create Create a new bookmark in a Jujutsu (jj) repository. Useful for marking important points in history or creating Write bookmark-move Move existing bookmarks to target revision in a Jujutsu (jj) repository. Useful for updating bookmark position Write bookmark-rename Rename a bookmark in a Jujutsu (jj) repository. Useful for updating bookmark names. Parameters: oldName (Curre Write bookmark-set Create or update a bookmark to point to a certain commit in a Jujutsu (jj) repository. Parameters: name (Name Write bookmark-track Start tracking a remote bookmark in a Jujutsu (jj) repository. Parameters: remoteBookmark (Remote bookmark to Write bookmark-untrack Stop tracking a remote bookmark in a Jujutsu (jj) repository. Parameters: remoteBookmark (Remote bookmark to u Write commit Update the current change with the specified message in a Jujutsu (jj) repository and then create and move to Write config-set Set a config option in a Jujutsu (jj) repository. Updates either user or repo config file. Parameters: name (N Write describe Update the change description or other metadata for a revision in a Jujutsu (jj) repository. By default, targe Write file-chmod Sets or removes the executable bit for files in a Jujutsu (jj) repository. Unlike POSIX chmod, this works on W Write file-track Start tracking specified paths in the working copy of a Jujutsu (jj) repository. By default new files are auto Write git-clone Create a new Jujutsu (jj) repository backed by a clone of a Git repo. The Git repo will be a bare git repo sto Write git-export Update the underlying Git repo with changes made in the Jujutsu (jj) repository. Useful for syncing jj changes Write git-import Update the Jujutsu (jj) repository with changes made in the underlying Git repo. Useful for syncing Git change Write git-push Push branches and bookmarks to a Git remote from a Jujutsu (jj) repository. Similar to git push but preserves Write git-remote-add Add a Git remote to a Jujutsu (jj) repository. Parameters: name (Name of the remote to add), url (URL of the r Write git-remote-rename Rename a Git remote in a Jujutsu (jj) repository. Parameters: oldName (Current name of the remote), newName (N Write git-remote-set-url Set the URL of a Git remote in a Jujutsu (jj) repository. Parameters: name (Name of the remote), url (New URL Write init Create a new Jujutsu (jj) repository backed by a Git repo. Can create a new Git repo or import an existing one Write new Create a new, empty change with optional parent revisions in a Jujutsu (jj) repository. Useful for starting a Write operation-restore Create a new operation that restores the repo to an earlier state in a Jujutsu (jj) repository. Effectively un Write restore Restore paths from another revision in a Jujutsu (jj) repository. Can undo changes to specific files by restor Write revert Apply the reverse of one or more revisions in a Jujutsu (jj) repository. Creates new changes that undo the spe Write squash Move changes from one revision into another revision in a Jujutsu (jj) repository. Only supports whole-file ch
READ 21 tools
Read bookmark-list List bookmarks and their targets in a Jujutsu (jj) repository. Useful for reviewing all named points in histor Read config-get Get the value of a config option in a Jujutsu (jj) repository. Unlike Read config-list List config variables and their values in a Jujutsu (jj) repository. Shows both user and repo-level configs by Read config-path Show the path to config files in a Jujutsu (jj) repository. Useful for directly editing config files. Paramete Read diff Compare file contents between two revisions in a Jujutsu (jj) repository. With the Read evolog Show how a change has evolved over time in a Jujutsu (jj) repository. Lists previous commits which a change ha Read file-annotate Show the source change for each line of a file in a Jujutsu (jj) repository. Useful for understanding how each Read file-list List files in a revision of a Jujutsu (jj) repository. Useful for exploring the repository contents at a speci Read file-show Print contents of files in a revision of a Jujutsu (jj) repository. Similar to Unix cat but works on repositor Read git-fetch Fetch branches and bookmarks from a Git remote into a Jujutsu (jj) repository. Similar to git fetch but preser Read git-remote-list List Git remotes in a Jujutsu (jj) repository. Parameters: repoPath (Optional path to repo root or working dir Read git-root Show the underlying Git directory of a repository using the Git backend in Jujutsu (jj). Useful for finding th Read interdiff Compare the changes between two commits in a Jujutsu (jj) repository. Shows only the difference between the tw Read log Show the commit history of a Jujutsu (jj) repository. Useful for reviewing past changes and understanding proj Read operation-diff Compare changes to the repository between two operations in a Jujutsu (jj) repository. Shows what changed betw Read operation-log Show the operation log of a Jujutsu (jj) repository. Lists all operations performed on the repository in chron Read operation-show Show changes to the repository in an operation of a Jujutsu (jj) repository. Displays what changed in the spec Read show Show description and changes in a revision of a Jujutsu (jj) repository compared to its parent(s). Useful for Read status Show the high-level status of the Jujutsu (jj) repository, including the working copy commit, parent commits, Read tag-list List tags and their targets in a Jujutsu (jj) repository. Useful for reviewing all tagged points in history. P Read workspace-root Show the current workspace root directory in a Jujutsu (jj) repository. Useful for determining the base direct

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Jj

Can an AI agent delete data through the Jj MCP server? +

Yes. The Jj server exposes 4 destructive tools including abandon, bookmark-delete, git-remote-remove. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Jj? +

The Jj server has 24 write tools including bookmark-create, bookmark-move, bookmark-rename. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Jj.

How many tools does the Jj MCP server expose? +

55 tools across 4 categories: Destructive, Execute, Read, Write. 21 are read-only. 34 can modify, create, or delete data.

How do I enforce a policy on Jj? +

Register the Jj MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Jj tool call.

Deterministic rules across all 55 Jj tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

55 Jj tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.