Simplify project setup and add script entry point

Replace the manual uv pip compile + uv pip sync + wheel-build sequence
in build-gerrit.sh with a single `uv sync --extra dev`, which is the
native uv project workflow. The build script now checks for uv on the
host PATH before falling back to installing it via pip.

Add [build-system] to pyproject.toml and commit uv.lock for reproducible
installs. Drop the generated requirements.txt and uv-requirements.txt.

Remove test.sh — `uv run pytest` covers everything it did (venv setup,
env vars, test discovery) without a wrapper script.

Add a `gerrit-mcp-server` console script entry point that delegates to
cli_main, so the server can be run directly after installation. Use the
script in the gemini config files and document uvx usage in the README
and Gemini CLI setup guide.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Change-Id: Ia9795e9c4f2a6d9b440c4c035155454616c75529
15 files changed
tree: feefe5913a9b987f57619a7fe6a97ae5cd48a997
  1. .gemini/
  2. docs/
  3. gerrit_mcp_server/
  4. tests/
  5. .gitignore
  6. AGENTS.md
  7. build-gerrit.sh
  8. gemini-cli-config.template.json
  9. gemini-extension.json
  10. LICENSE
  11. OWNERS
  12. pyproject.toml
  13. README.md
  14. server.sh
  15. uv.lock
README.md

🐍 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:

🚀 Getting Started

1. Prerequisites

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 pip if absent.
  • 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 virtual environment in .venv via uv sync and install all dependencies.

./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.