Skip to content

Repository files navigation

GitKraken MCP Server

The GitKraken MCP Server turns your AI assistant into a context-aware development partner by connecting it to git history, branches, issues, pull requests, and multi-repo workflows through GitKraken. It works with all the providers you would expect from the GitKraken software suite such as GitHub, GitLab, Azure DevOps, Bitbucket, Jira and more. Built by the team behind GitLens, the Git tool that 48 million developers chose, from first-time contributors to enterprise teams at Netflix and Adobe.

The GitKraken MCP Server is available on macOS, Windows, and Linux systems and works in VS Code, Cursor, Windsurf, Claude Desktop, Kiro, JetBrains, and more.

If you want to read more about the MCP server, you can check out the introductory blog post.

Table of Contents

Tools

Tools are the primary purpose of the MCP server. They are a set of finely curated commands that AI can use to interact with GitKraken without exploding your context. Some of those tools include: issues_assigned_to_me, gitlens_commit_composer, and pull_request_create_review. A full list of tools can be found in the GitKraken Help Center's Tools Reference.

The repository also includes a Docker MCP Catalog-compatible tools.json. To refresh it from the GitKraken core version pinned in the Docker image, run:

npm run generate:tools

The generator builds the image before listing its tools, so Docker must be available. Set TOOLS_COMMAND to a JSON command array to use an existing image, or explicitly set GK_BIN to generate from a particular local executable. The generator intentionally excludes app-only tools that MCP agents must not call.

Prompts

Prompts are the secondary purpose of the MCP server. They are a set of carefully crafted instructions that AI can use to understand how to use the tools, when to use them, and what information to provide when using them. A full list of prompts can be found in the GitKraken Help Center's Prompts Reference.

Installation

There are a few ways of installing the MCP server. Regardless of which installation method you choose, you may still need to configure your AI tools to work with the MCP server. You can find a set of instructions on the Help Center's MCP Getting Started guide.

GitLens

GitLens is by far the easiest way of installing the MCP server. Simply download and install GitLens into a supported IDE (VS Code, Cursor, etc) and the MCP server will be installed alongside it. Once you have GitLens installed, you can start using the tools right away.

NPM

You can also install and use the MCP server via npm. You can find the package on the npm registry.

The installation process details may vary by AI tool, but the general gist is that you will replace the MCP server JSON config with something that looks like this:

{
  "mcpServers": {
    "GitKraken": {
      "args": ["@gitkraken/gk", "mcp"],
      "command": "npx",
      "type": "stdio"
    }
  }
}

Docker

This repository includes auth-independent Docker packaging for the local MCP server. The image can list tools and run local Git tools against explicitly mounted repositories. Cloud workspaces, issues, pull requests, and provider operations still require a supported non-interactive GitKraken authentication contract.

Build the image:

docker build -t gitkraken-mcp:local .

List the tools without authenticating:

docker run --rm gitkraken-mcp:local --list-tools

Check tools.json against the clean image:

npm install
TOOLS_COMMAND='["docker","run","--rm","gitkraken-mcp:local","--list-tools"]' npm run check:tools

The image starts gk mcp over stdio as the built-in non-root node user (UID/GID 1000:1000) by default. On native Linux, bind mounts preserve host ownership. If a mounted repository belongs to another UID, read operations may work while write operations fail with permission denied, unable to create '.git/index.lock', or a similar Git error.

For Docker MCP Toolkit, set the optional container_user configuration to your numeric host UID or UID:GID. Obtain those values with:

id -u
id -g

For example, use 1001 or 1001:1001. Leave container_user empty to retain the image default. Do not use root or broaden repository permissions as normal setup; select the numeric identity that already owns or can write the mounted repositories. One identity applies to the whole server, so every configured repository path must be accessible to that same UID and GID.

Only mount repository paths that the server should be allowed to read and modify. Linked Git worktrees also require access to the external Git directory referenced by their .git file. A draft registry entry is available in docker/catalog/server.yaml.template. Copy that template and tools.json into servers/gitkraken/ in a checkout of docker/mcp-registry when preparing the catalog pull request.

CLI

macOS

gk is available from Homebrew with the following command:

Homebrew:

brew install gitkraken-cli

Or download it from the releases page and add it to your binaries folder:

mv ~/Downloads/gk /usr/local/bin/gk

Linux / Ubuntu

Get it from the Snap Store

gk is available as a downloadable binary from the releases page. Once you have it, add it to your binaries folder:

mv ~/Downloads/gk /usr/local/bin/gk

Or create a new directory, move the binary and add it to $PATH:

mkdir "$HOME/cli"
mv ~/Downloads/gk "$HOME/cli"
export PATH="$HOME/gk:$PATH"

You can also [download][releases page] your corresponding package (.deb, .rpm) and install it with:

sudo apt install ./gk.deb

or

sudo rpm -i ./gk.rpm

Windows

gk is available from [Winget][winget] with the following command:

winget install gitkraken.cli

Troubleshooting

gk from Oh-My-Zsh

If you installed the gitkraken-cli and are using Oh-My-Zsh you can run into a small aliasing issue. Oh-My-Zsh has gitk aliased as gk by default and that can create some problems. To fix this, type in your terminal:

unalias gk

Support

If you run into any issues, double check if we have the problem covered in our Help Center.

You can give feedback and report bugs on GitHub by submitting an issue.

If you would like to reach out to Support directly, you can submit a ticket

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages