release-mcp-server

savitaashture/release-mcp-server

3.2

If you are the rightful owner of release-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Model Context Protocol (MCP) server is a specialized server designed to facilitate communication and data exchange between language models and various applications, ensuring efficient and seamless integration.

Release MCP Tools

This repository contains tools for managing Tekton releases through Model Context Protocol (MCP).

Steps to configure release mcp server using Cursor locally

Build the release mcp server

git clone https://github.com/savitaashture/release-mcp-server
cd release-mcp-server
go build -o release-mcp-server ./cmd/release-mcp-server

Run the built MCP server

% ./release-mcp-server 
{"level":"info","ts":1759815910.690908,"logger":"fallback","caller":"injection/injection.go:63","msg":"Starting informers..."}
time=2025-10-07T11:15:10.691+05:30 level=INFO msg="Starting the server"
time=2025-10-07T11:15:10.691+05:30 level=INFO msg="Server listening" address=:3000

configure the configurations in Cursor

{
  "mcpServers": {
    "release-mcp-server": {
      "url": "http://0.0.0.0:3000/mcp"
    }
  }
}

One should see registered tools

  • create-release-branches
  • configure-hack-repo
  • create-release-plans

Now tools are ready now one can follow Usage Examples with Natural Language to play around with these tools

Available Tools

1. Create Release Branches (create-release-branches)

This tool creates release branches for Tekton components.

Input Parameters:

  • minor_version: The minor version to create branches for (e.g., "1.21")
  • patch_version: The patch version to use (e.g., "0")
  • components: List of component names to create branches for

Functionality:

  • Clones each component's repository of openshift-pipelines
  • Creates release branches (e.g., release-v1.21.x)
  • Commits and pushes changes

2. Configure Hack Repository (configure-hack-repo)

This tool configures the hack repository for a specific minor/patch version by updating component configurations.

Input Parameters:

  • minor_version: The minor version to configure (e.g., "1.21")
  • upstream_versions: Map of component names to their upstream versions

Functionality:

  • Clones the hack repository
  • Updates component configurations in YAML files
  • Preserves existing YAML structure including patches
  • Updates branches section for each component
  • Creates and pushes changes to a new branch

3. Create Release Plans (create-release-plans)

This tool generates release plans and release plan admissions for components.

Input Parameters:

  • minor_version: The minor version to create release plans for (e.g., "1.21")

Functionality:

  • Clones the Konflux release data repository
  • Generates ReleasePlanAdmission (RPA) files
  • Generates ReleasePlan (RP) files
  • Updates Kustomization files
  • Runs build manifests script
  • Creates and pushes changes to a new branch

Environment Variables

The tools require certain environment variables to be set:

  • GITLAB_USERNAME: GitLab username for authentication
  • GITLAB_TOKEN: GitLab personal access token for authentication

Usage Examples with Natural Language

  1. Create Release Branches:

# Call the create-release-branches tool
create release branches for 1.21 version
  1. Configure Hack Repository:

configure hack repo for 1.21 minorversion for the component name tektoncd-chains with upstream version release-v0.24.x, tektoncd-git-clone with upstream version release-v1.0.x, operator with upstream version release-v0.76.x, pac-downstream with upstream version release-v0.35.x, tektoncd-cli with upstream version release-v0.40.0, tektoncd-hub with upstream version release-v1.20.0, tektoncd-results with upstream version release-v0.14.x, tektoncd-triggers with upstream version release-v0.31.x, tektoncd-pipeline with upstream version release-v1.0.x, manual-approval-gate with version release-v0.5.0, tekton-caches with version release-v0.1.x, tektoncd-pruner with version release-v0.2.x
  1. Create Release Plans:
# Set required environment variables
export GITLAB_USERNAME="your-username"
export GITLAB_TOKEN="your-token"

# Call the create-release-plans tool
create release plan for 1.21

Repository Structure

release-mcp/
├── cmd/
│   └── release-mcp-server/     # MCP server implementation
├── internal/
│   └── tools/                  # Tool implementations
│       ├── hack_config.go      # Hack repository configuration
│       ├── hack_config.go      # Configure hack repository
│       ├── release_plan.go     # Release files generation
│       ├── release_branches.go # creation of branches on each repository
│       └── tools.go            # Tool registration
└── README.md                   # Documentation