Skip to content

feat: Add Homebrew tap support for mcp-gitlab #12

@vish288

Description

@vish288

Summary

Add Homebrew tap support so users can install mcp-gitlab via brew install vish288/tap/mcp-gitlab instead of requiring uvx or pip install.

Motivation

  • Homebrew is the standard package manager on macOS — brew taps integrate with the existing developer workflow
  • uvx mcp-gitlab requires uv to be installed; pip install has global env pollution concerns
  • A brew formula with proper dependency pinning provides reproducible installs
  • Aligns with the distribution pattern used by other MCP servers (e.g., npx packages have brew equivalents)

Implementation Details

1. Create a Homebrew tap repo

Create github.com/vish288/homebrew-tap (or add to an existing tap repo) with a formula file:

# Formula/mcp-gitlab.rb
class McpGitlab < Formula
  include Language::Python::Virtualenv

  desc "MCP server providing 76 tools for the GitLab REST API v4"
  homepage "https://github.com/vish288/mcp-gitlab"
  url "https://files.pythonhosted.org/packages/.../mcp-gitlab-X.Y.Z.tar.gz"
  sha256 "..."
  license "MIT"

  depends_on "python@3.13"

  # virtualenv resources generated via:
  # pip-compile --generate-hashes pyproject.toml
  # poet mcp-gitlab
  
  def install
    virtualenv_install_with_resources
  end

  test do
    assert_match "GitLab MCP Server", shell_output("#{bin}/mcp-gitlab --help")
  end
end

2. Automation: Auto-update formula on PyPI release

Add a GitHub Action to the tap repo (or this repo) that:

  1. Triggers on new PyPI release (or new GitHub release tag)
  2. Downloads the sdist from PyPI
  3. Computes sha256
  4. Updates the formula URL and sha256
  5. Commits and pushes to the tap repo

Reference: homebrew-releaser or manual brew bump-formula-pr workflow.

3. Alternative: brew install --HEAD support

For development installs, add a head block:

head do
  url "https://github.com/vish288/mcp-gitlab.git", branch: "main"
end

4. Consider shared tap

If mcp-atlassian-extended also gets a formula, use a single homebrew-tap repo with multiple formulae:

homebrew-tap/
├── Formula/
│   ├── mcp-gitlab.rb
│   └── mcp-atlassian-extended.rb

Acceptance Criteria

  • Homebrew tap repo exists at vish288/homebrew-tap
  • brew tap vish288/tap && brew install mcp-gitlab installs successfully
  • Formula pins to specific PyPI release version
  • mcp-gitlab --help works after brew install
  • GitHub Action auto-updates formula on new PyPI release
  • README updated with brew install instructions

Dependencies

  • Package must be published to PyPI first (already done: mcp-gitlab on PyPI)
  • Python 3.13 formula dependency available in Homebrew core (confirmed)

Notes

  • This is a follow-up to the MCP best practices compliance work
  • Consider adding mcp-atlassian-extended formula in the same tap repo

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions