An MCP server for interacting with Gerrit via curl
Project description
🐍 Gerrit MCP Server
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:
- 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.
🚀 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-usernamewith your Gerrit username - Replace
your-http-passwordwith 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gerrit_mcp_server-1.0.7.tar.gz.
File metadata
- Download URL: gerrit_mcp_server-1.0.7.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efd33d30eaafb9e17761c5fc192076ccfa2c45d80fa888f9d2305c6c84cf7863
|
|
| MD5 |
cfb94e0c2addb215e782fff27875671e
|
|
| BLAKE2b-256 |
9750d2e2abbb68648d20832ba69f41105aad8ebb990c3ca11bad7f2c825e51ac
|
File details
Details for the file gerrit_mcp_server-1.0.7-py3-none-any.whl.
File metadata
- Download URL: gerrit_mcp_server-1.0.7-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2162b24f5a1a2276546d860a489bb77a6c5549e8a27c4a4ff0833638c7f05ae
|
|
| MD5 |
fada73faf9366ab76372677d0458dd9f
|
|
| BLAKE2b-256 |
5824532e62afb3132bcb9e14b3c0baa70c4f201d167fad6b484c5fbccbb042de
|