GitHub plugin: issue_write / create_pull_request stall in headless automations on the MCP App form (needs X-MCP-Features opt-out)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 72/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- github, json
- 领域
- tooling
调研方向
从 third_party/github/mcp.json 以及暴露 GITHUB_PERSONAL_ACCESS_TOKEN 的插件设置开始;停滞发生是因为只发送了 Authorization,而无头运行无法提交 MCP App 表单。决定是将 X-MCP-Features: mcp_apps_disable_form_deferral 添加到该 header 集合中,还是将其作为可选插件变量暴露,然后验证自动化可以运行 issue_write 并在没有表单的情况下创建 issue。外部决策逻辑位于 github-mcp-server 的 pkg/github/ui_capability.go 中,但修改属于此插件的配置。
由索引模型根据 Issue 内容生成。
描述
Summary
Since around Oct 22, Cursor automations that create issues through the github plugin (third_party/github) stop at an interactive approval form, and no issue is created. When you watch the run, it stops on a prompt. In an automation nobody is there to click Submit, so the run ends with no issue.
This isn't a token or permissions problem. Reconnecting with a fine-grained PAT that has issue write access didn't change anything.
Cause
GitHub's MCP server now hands form-backed write tools (issue_write, create_pull_request, update_pull_request) off to an MCP App form whenever the client advertises the io.modelcontextprotocol/ui capability. In that case the tool returns an "awaiting form submission" result ("An interactive form has been shown to the user… STOP… The issue has NOT been created yet") instead of creating the issue.
- Form deferral is on by default: github/github-mcp-server@63f559545320fa72eaf184c4a42e05904c09e817 (#3348)
- Decision logic:
shouldDeferToForminpkg/github/ui_capability.go - Opt-out: github/github-mcp-server@a217a7f43a76a4cd6909ba6814d88a886064488c adds the
mcp_apps_disable_form_deferralfeature flag, which the remote server accepts through theX-MCP-Featuresheader.
The plugin's mcp.json only sends Authorization, and the plugin's settings only expose GITHUB_PERSONAL_ACCESS_TOKEN. That leaves plugin users no way to opt out.
Workaround (confirmed working)
Add a custom (non-plugin) MCP server with the extra header:
{
"mcpServers": {
"github-direct": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <token>",
"X-MCP-Features": "mcp_apps_disable_form_deferral"
}
}
}
}
With this header, issue_write creates the issue directly again.
Suggested fix
Any of these would work:
- Don't advertise the MCP Apps UI capability to this server in headless runs (automations and background agents), since nobody can submit the form there.
- Add
"X-MCP-Features": "mcp_apps_disable_form_deferral"to the plugin'smcp.jsonheaders. - Expose an optional plugin variable for
X-MCP-Featuresso users can opt out themselves.
- 主要语言
- TypeScript
- 星标
- 13.9k
- 派生
- 1.4k
- 平均合并
- 6 小时 55 分钟
- 30 天内合并 PR
- 158
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cursor/plugins 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 80/100
维护者通常 1 天内回复
-
statechart: a relative TLA2TOOLS or JAVA path fails, because TLC runs in the snapshot folder可能已有人在做 @Ehsan-hash 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
相似的 Issue
-
难度 1/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
area:plugins area:security area:skills bug has repro
难度 2/5 1-3 小时 新手友好度 76/100
anthropics/claude-code#105911 ·
维护者通常 1 天内回复
-
documentation good first issue help wanted
难度 2/5 1-3 小时 新手友好度 74/100
dev-five-git/devup-ui#879 ·
维护者通常 11 天内回复
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifacts未关闭
难度 2/5 1-3 小时 新手友好度 72/100
Fission-AI/OpenSpec#2165 ·
维护者通常 1 天内回复
-
🐞 bug 🧐 unconfirmed
难度 2/5 1-3 小时 新手友好度 66/100
Tencent/tdesign-vue-next#7032 · 1 条评论 ·
维护者通常 1 天内回复