loading…
Search for a command to run...
loading…
An MCP server that diagnoses GitHub Actions workflow failures and automatically creates repair pull requests using LLM-generated unified diffs. It includes a go
An MCP server that diagnoses GitHub Actions workflow failures and automatically creates repair pull requests using LLM-generated unified diffs. It includes a governance layer to orchestrate autonomous fixes or human-reviewed repairs based on risk assessment thresholds.
Python MCP server for GitHub Actions failure diagnosis, LLM-driven unified-diff auto-repair PR creation, and governed release orchestration.
gpt-4o-mini.mcp_server/main.py - MCP tools and orchestration entrypointsmcp_server/host_http.py - streamable HTTP MCP server for browser clientsmcp_server/run_repair.py - workflow-safe command runnerfrontend/ - Vite + React MCP client UImcp_server/config.py - typed environment configmcp_server/tools/* - GitHub, diagnosis, risk, and PR automation modules.github/workflows/* - CI/CD automation workflowspip install -r requirements.txtcp .env.example .env (or create .env manually on Windows)OPENAI_API_KEY, GITHUB_TOKEN).python -m mcp_server.mainThe frontend app is a real MCP client using streamable HTTP. Secrets stay on the server; the browser only talks MCP.
Terminal A — MCP over HTTP (from repo root, with .env configured):
python -m mcp_server.host_http
Listens on 0.0.0.0 and PORT from the environment (Render sets this). Path: /mcp.
Terminal B — SPA dev server:
cd frontend
npm install
cp .env.example .env
npm run dev
Configure frontend/.env: VITE_MCP_URL is the MCP endpoint (default http://127.0.0.1:8000/mcp). It pre-fills the UI and sets the Vite dev proxy target origin. Clear the field to use same-origin /mcp (proxied to that origin).
Open the Vite URL (usually http://localhost:5173).
Production CORS: the browser sends an Origin header; the MCP server must allow it or preflight (OPTIONS) fails (often surfaced as Failed to fetch).
MCP_CORS_ORIGINS to a comma-separated list of exact SPA origins (for example https://your-frontend.onrender.com).MCP_CORS_ORIGIN_REGEX (for example https://.*\.onrender\.com) to allow all Render app URLs without listing each one (tighter regex is better for production).Render (two services): one Web Service should run python -m mcp_server.host_http (the MCP API). A second service or Static Site can serve the built SPA (npm run build output). Set VITE_MCP_URL at frontend build time to the MCP service URL (for example https://your-mcp-api.onrender.com/mcp), not the static site URL, unless you use a reverse proxy that mounts both. If you only run vite preview on Render, that process does not expose the Python MCP server — /mcp will not work there.
GET /mcp → 406 in logs usually means something opened /mcp in a normal browser tab (wrong Accept header); the MCP client uses POST/SSE and is unaffected.
MCP tools exposed: resolve_latest_failed_run, inspect_pipeline_failure, orchestrate_autofix (same behavior as the CLI, with resolve_latest_failed_run matching run_repair when RUN_ID is omitted).
Client timeouts: The MCP TypeScript SDK defaults to 60 seconds per request. orchestrate_autofix often runs longer (LLMs, GitHub). The SPA uses 15 minutes for orchestrate_autofix and 2 minutes for resolve_latest_failed_run unless you set VITE_MCP_ORCHESTRATE_TIMEOUT_MS / VITE_MCP_RESOLVE_TIMEOUT_MS in frontend/.env (milliseconds).
.cursor/mcp.json..env has OPENAI_API_KEY and GITHUB_TOKEN.agentic-cicd-orchestrator with:repository: owner/reporun_id: workflow run id (integer)inspect_pipeline_failureresolve_latest_failed_runorchestrate_autofixREPOSITORY (for example org/repo).RUN_ID (if omitted, latest failed run is auto-selected)WORKFLOW_NAME (filter latest failed run by workflow name, e.g. ci)BASE_BRANCH (default main)python -m mcp_server.run_repairMAX_REPAIR_ATTEMPTS - number of patch generation/application retries (default 3).PATCH_STRATEGY - patch format expected from model (must be unified_diff).LLM_PATCH_MAX_CHARS - upper bound on patch payload size.risk_score < RISK_AUTO_FIX_THRESHOLD -> autonomous auto-fix PR path.RISK_AUTO_FIX_THRESHOLD <= risk_score < RISK_HUMAN_REVIEW_THRESHOLD -> human approval required.risk_score >= RISK_HUMAN_REVIEW_THRESHOLD or high-risk file categories -> blocked/review-only path.FORCE_AUTOFIX_ALL=true -> bypass thresholds and force auto-fix path (dangerous; use only in controlled testing).Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"agentic-ci-cd-mcp-orchestrator": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.