An MCP (Model Context Protocol) server for interacting with the Gerrit code
review system. This server allows a language model like Gemini to query changes,
retrieve details, and manage reviews by executing curl commands against the
Gerrit REST API.
This server can be run as a persistent HTTP server or on-demand via STDIO.
For detailed information, please see the documents in the docs/ directory:
- Configuration: A detailed guide to the
gerrit_config.jsonfile and all authentication methods. - Testing Guide: Instructions on how to run the unit, integration, and E2E tests.
- Gemini CLI Setup: How to configure the Gemini CLI to use this server.
- Claude Code Setup: How to use this server as a Claude Code plugin.
- Best Practices: Tips for using the server effectively.
- Contributing: Guidelines for contributing to the project.
- Available Tools: A list of all available tools and their descriptions.
- Extensions: How to register additional MCP tools without modifying the core server.
- Example Use Cases: Scenarios demonstrating how to use the server.
Before you begin, ensure you have the following tools installed and available in
your system's PATH.
- Python 3.12+: Required by the server.
- uv: Used for
dependency management and running the server. Optional — the build script will
install it via
pipif absent. - curl: The standard command-line tool for transferring data with URLs.
Run the build script from the root of the gerrit-mcp-server project directory.
This will create a virtual environment in .venv via uv sync and install all
dependencies.
./build-gerrit.shYou will need to create a gerrit_config.json file inside the
gerrit_mcp_server directory. Copy the provided sample file
gerrit_mcp_server/gerrit_config.sample.json and customize it for your
environment. See the Configuration Guide for
details on all available options.
cp gerrit_mcp_server/gerrit_config.sample.json gerrit_mcp_server/gerrit_config.jsonAlternatively, if your harness supports skills (tested with Claude Code), the
/gerrit:setup skill can create or repair this file for you interactively. See
Interactive Setup.
To run the server as a persistent background process, use the server.sh
script:
- Start the server:
./server.sh start
- Check the status:
./server.sh status
- Stop the server:
./server.sh stop
For on-demand STDIO mode, please see the Gemini CLI Setup Guide or, to use this server as a Claude Code plugin, the Claude Code Setup Guide.
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.