Skip to main content

An MCP server for interacting with Gerrit via curl

Project description

🐍 Gerrit MCP Server

PyPI version Python Version License

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.

📚 Documentation

For detailed information, please see the documents in the docs/ directory:

🚀 Getting Started

Install from PyPI (Recommended)

For quick use, install directly from PyPI:

# Run directly with uvx (no installation required)
uvx gerrit-mcp-server stdio

# Or install first
uv pip install gerrit-mcp-server
gerrit-mcp-server stdio

# Run HTTP server on specific port
gerrit-mcp-server --host localhost --port 6322

Configure the Server

Method 1: Global Configuration (Recommended)

Create a personal configuration file that works for all projects:

# Create config directory
mkdir -p ~/.config

# Copy config template
# If installing from source:
cp gerrit_mcp_server/gerrit_config.sample.json ~/.config/gerrit_config.json

# If installing from PyPI, manually create ~/.config/gerrit_config.json
vim ~/.config/gerrit_config.json

Save the following content to the configuration file and modify as needed:

{
  "default_gerrit_base_url": "https://your-gerrit.com/",
  "gerrit_hosts": [
    {
      "name": "My Gerrit",
      "external_url": "https://your-gerrit.com/",
      "authentication": {
        "type": "http_basic",
        "username": "your-username",
        "auth_token": "your-http-password"
      }
    }
  ]
}

Configuration notes:

  • Replace your-username with your Gerrit username
  • Replace your-http-password with your Gerrit HTTP password (generate in Gerrit Settings → HTTP Password)
  • Replace https://your-gerrit.com/ with your Gerrit server URL

After configuration, you can run the server directly:

gerrit-mcp-server stdio

Method 2: Project Configuration

Create gerrit_config.json in your project root directory:

cp gerrit_mcp_server/gerrit_config.sample.json ./gerrit_config.json
vim ./gerrit_config.json

Method 3: Temporary Configuration

Specify configuration file using command-line parameter:

gerrit-mcp-server --config /path/to/your/config.json stdio

💡 Tip: See the Configuration Guide for all authentication methods and advanced configuration options.


Install from Source

To install from source, follow these steps:

1. Prerequisites

Before you begin, ensure you have the following tools installed and available in your system's PATH.

  • Python 3.11+: The build script requires a modern version of Python.
  • curl: The standard command-line tool for transferring data with URLs.

2. Build the Environment

Run the build script from the root of the gerrit-mcp-server project directory. This will create a Python virtual environment, install all dependencies, and make the server ready to run.

./build-gerrit.sh

3. Configure the Server

You 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.json

4. Run the Server (HTTP Mode)

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.


Security

This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gerrit_mcp_server-1.0.8.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gerrit_mcp_server-1.0.8-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file gerrit_mcp_server-1.0.8.tar.gz.

File metadata

  • Download URL: gerrit_mcp_server-1.0.8.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for gerrit_mcp_server-1.0.8.tar.gz
Algorithm Hash digest
SHA256 75deaf7acd72f628f3b92a54c20cbdafb91c71128dfb15865a5db165da48c6a3
MD5 1d8ea3a1b8e313e1faeb3a5b5f9bdca0
BLAKE2b-256 f29141a3fc434d92c9a249775e21d93e7c55869ed64dafea9d1a19c2308a6a0e

See more details on using hashes here.

File details

Details for the file gerrit_mcp_server-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for gerrit_mcp_server-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 56dbea51c7b7f240660f8f7ad2936b02640bebaccc27352215daabdc9abe475d
MD5 7484c777f50172db70545a8f5969098e
BLAKE2b-256 208f4a0b72c8090bddea6528b9507fad53319320288a52640c4f532330bf8532

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page