This repository contains tools for managing Tekton releases through Model Context Protocol (MCP).
git clone https://github.com/savitaashture/release-mcp-server
cd release-mcp-server
go build -o release-mcp-server ./cmd/release-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
{
"mcpServers": {
"release-mcp-server": {
"url": "http://0.0.0.0:3000/mcp"
}
}
}
- 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
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
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
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
The tools require certain environment variables to be set:
GITLAB_USERNAME: GitLab username for authenticationGITLAB_TOKEN: GitLab personal access token for authentication
- Create Release Branches:
# Call the create-release-branches tool
create release branches for 1.21 version- 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- 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.21release-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