jj-mcp-server

mcginleyr1/jj-mcp-server

3.3

If you are the rightful owner of jj-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The jj MCP Server is a Model Context Protocol server designed to facilitate interactions with the Jujutsu (jj) version control system, enabling AI assistants and other MCP clients to perform various version control operations.

Tools
7
Resources
0
Prompts
0

jj MCP Server

A Model Context Protocol (MCP) server for Jujutsu (jj) version control. Enables AI assistants to work with jj repositories using the correct workflow.

Tools

ToolDescription
statusShow working directory state
logView commit history and graph
diffShow changes in a revision
describeSet commit message for @ (does NOT create new commit)
newCreate new empty commit (optionally from specific parent)
bookmark_createCreate a named bookmark at a revision
pushPush a bookmark to remote
syncFetch from all remotes
rebaseMove commits in the graph

jj Workflow (for AI assistants)

jj is NOT git. Key differences:

  • @ is your current working commit - changes go directly into it
  • There is no staging area
  • describe sets a message but doesn't move anything
  • new creates a fresh empty commit; previous @ becomes @-

Correct workflow:

sync                              # fetch latest
new(parents="main")               # start from main
[make changes]                    # changes are in @
describe(message="what I did")    # label the work
new                               # ready for next change
[repeat as needed]
bookmark_create(name="feature")   # name the work
push(bookmark="feature")          # ship it

Installation

cargo install --path .

Configuration

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "jj": {
      "command": "jj-mcp-server"
    }
  }
}

Prerequisites

  • Jujutsu (jj) installed and in PATH
  • Rust toolchain (for building)

License

MIT