Use MCP Tasks for non-blocking GitHub Actions workflow monitoring
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- github-actions, go
调研方向
首先阅读 MCP Tasks 规范和现有的 Actions 操作,尤其是 actions_get,以及 Discussion #1088 中当前关于 workflow 轮询的指导。完成的标准是:新的 workflow 监控操作立即返回一个 Task,并在运行达到终止状态时完成该 Task,可选择包含失败 job 的上下文和日志末尾内容。
由索引模型根据 Issue 内容生成。
描述
Describe the feature or problem you’d like to solve
GitHub MCP already exposes workflow runs, jobs, and logs. The remaining gap is waiting for CI without making the agent supervise it.
Today, an agent must repeatedly poll actions_get or block on gh run watch. Discussion #1088 recommends polling every 15–30 seconds. That keeps the agent occupied with orchestration instead of useful work.
The 2026-07-28 MCP specification introduced Tasks for long-running asynchronous operations. Workflow monitoring is a natural fit.
Proposed solution
Add an Actions operation that waits for a workflow run as an MCP Task:
{
"method": "watch_workflow_run",
"owner": "github",
"repo": "github-mcp-server",
"run_id": 123456789,
"until": "completed"
}
It would return immediately with a Task handle:
{
"resultType": "task",
"taskId": "gh-actions-run-123456789",
"status": "working"
}
GitHub MCP would own the wait, completing the Task when the run reaches a terminal state. Clients could use tasks/get or task subscriptions instead of making the model poll Actions.
This requires no webhook, tunnel, or inbound connectivity for a local server. On failure, the Task could optionally return failed jobs and relevant log tails using existing Actions capabilities.
Example prompts or workflows (for tools/toolsets only)
- “Push this fix and watch CI. If it fails, investigate the failing job.”
- Agent pushes → starts workflow Task → CI fails → Task returns failed-job context → agent fixes and pushes again.
- “Trigger the deploy workflow and tell me when it finishes.”
- “Watch this run; only bring me back in if something fails.”
Additional context
GitHub MCP already has the Actions data plane. What is missing is the asynchronous waiting primitive.
Before MCP Tasks, client-driven polling was a reasonable workaround. Tasks now provide a protocol-native lifecycle for this operation.
Related:
- Discussion #1088 — current workflow iteration guidance relies on polling
- Issue #1722 — workflow status and log access for agents
- Issue #924 — job-log access for large workflows
- MCP Tasks specification (2026-07-28)
- 主要语言
- Go
- 星标
- 33.1k
- 派生
- 5k
- 平均合并
- 2 天 1 小时
- 30 天内合并 PR
- 25
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/github-mcp-server 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
github/github-mcp-server#3235 ·
-
enhancement
难度 1/5 1 小时以内 新手友好度 88/100
github/github-mcp-server#3042 · 2 条评论 ·
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
github/github-mcp-server#3032 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 74/100
github/github-mcp-server#2803 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
github/github-mcp-server#2740 ·
查看 github/github-mcp-server 的全部 Issue
相似的 Issue
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
kind/bug status/0-triage
难度 2/5 1-3 小时 新手友好度 75/100
-
🤔 refinement needed
难度 2/5 1-3 小时 新手友好度 75/100
equinor/radix-operator#1979 ·