ci-watch-mcp
The server provides a single MCP tool, watch_ci, that waits for GitHub Actions CI to finish on a commit in a local repository and returns the result in one call.
Monitors CI for a given local repository (
cwd) and commit/ref (ref, defaultHEAD).Polls GitHub Actions via the
ghCLI until the run completes or the timeout (timeout_ms, max 20 min) is reached.Optionally filters by a specific workflow name (
workflow) when a repo has multiple workflows.Returns a success summary (
conclusion: success,url,sha,workflowName) when CI passes.Returns failure details (
conclusion: failure,url,sha,workflowName, andfailedLogs) when CI fails, including truncated failure logs per failed job.Handles timeouts gracefully by returning
timedOut: truewith the current status and a message.Throws an immediate error if
refdoes not resolve to a real commit instead of waiting until timeout.Lets you customize the polling interval (
poll_interval_ms).
Monitors GitHub repository CI runs by waiting for workflows to complete for a given commit, and retrieves failure logs via the GitHub CLI.
Provides a tool to wait for GitHub Actions workflows to finish and return the conclusion (success/failure) along with truncated error logs if a workflow fails.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ci-watch-mcp Watch CI for my current commit and tell me if it passes, with logs on failure."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ci-watch-mcp
An MCP server with a single watch_ci tool — it waits for GitHub Actions CI to complete for a commit in a local git repository and, in one call, returns a summary along with the error log if something failed.
Why
Without it, checking whether CI passed after a push is done manually:
push one → sleep → gh run list → if the status is "in_progress", sleep again → gh run list again → if conclusion: failure, work through a separate
gh run view <id> --log-failed call to see what broke.
watch_ci does all this in a single call and immediately returns the failure log,
without a manual wait loop.
Related MCP server: claude-beacon
Tool
watch_ci
Parameter | Type | Default name | Description |
| string | — (required) | Path to the local clone of the repository with |
| string |
| SHA (full or short) or any git-ref |
| string | — | Filter by workflow name if the repo has several |
| number |
| Ceiling: |
| number |
| Polling interval for |
Returns:
{ ok: true, conclusion: "success", url, sha, workflowName }— CI passed;{ ok: false, conclusion: "failure", url, sha, workflowName, failedLogs }— CI failed;failedLogscontains the tail ofgh run view --log-failed(truncated to 8000 chars, from the end — that is the most informative part);{ ok: false, timedOut: true, status, url, message }— did not finish/start within the allotted time.
If ref does not resolve to an actual commit (i.e. a typo in the SHA), the tool immediately throws an error instead of silently disposing until the timeout.
Installation
cd ci-watch-mcp
npm installConnect to Claude Code:
claude mcp add ci-watch -s user -- node /шлях/до/ci-watch-mcp/src/server.jsRequires an installed and authenticated gh CLI (gh auth status).
Tests
npm testThe tests run against already finished real runs in the secretscan repository (successful, failed, and a commit with none of the CI runs) — no need to wait for a live push.
License
MIT — Faneraiy14.
Available Tools
1 toolwatch_ciДочекатись завершення GitHub Actions CIA
Чекає, поки GitHub Actions CI завершиться для поточного (або заданого) коміту в локальному git-репозиторії, і повертає підсумок ОДНИМ викликом: ok/conclusion/url, а за провалу - одразу хвіст логу невдалих кроків (--log-failed), без окремого запиту. Заміняє ручний цикл "push -> sleep -> gh run list -> (якщо впало) gh run view --log-failed".
Inputs: cwd (required), ref, workflow, timeout_ms, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
Only one tool exists, so there is zero ambiguity in tool selection. The tool's purpose is clearly defined and distinct.
With a single tool, naming consistency is trivially maintained. The name 'watch_ci' is descriptive and follows a verb_noun pattern, though no comparison set exists to evaluate full consistency.
A single-purpose server with one tool is well-scoped. The tool encapsulates a complete workflow (waiting for CI and returning results), avoiding unnecessary fragmentation.
The tool covers the core CI-watching workflow effectively, including failure log retrieval. Minor gaps exist (e.g., no explicit cancel or list operations), but they are outside the tool's stated purpose and do not hinder its primary function.
Maintenance
Related MCP Connectors
MCP server for CertScore.ai public website risk-signal workflows.
Create, deploy, and operate MCP servers directly from your GitHub repositories.
MCP server for Appcircle mobile CI/CD platform.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for GitHub Actions — view workflow runs, read logs, re-run failed jobs, and manage CI/CD.962 npm4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that pushes GitHub Actions CI/CD results and PR events into Claude Code sessions, enabling automatic investigation and remediation.22 npm1MIT
- AlicenseAqualityDmaintenanceMCP server for GitHub Actions CI failure triage. It wraps the gh CLI to fetch PR checks, failed jobs, and tail/grep failed job logs with ANSI/timestamp stripping and root-cause extraction.5MIT
- AlicenseAqualityDmaintenanceMCP server that lets Claude diagnose failed GitHub Actions runs by fetching and parsing CI logs into structured failure signals, enabling natural-language questions like 'Why did the last run fail?'.6MIT