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.
- 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.
- 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.jsonTo 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.
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.