GitHub plugin: issue_write / create_pull_request stall in headless automations on the MCP App form (needs X-MCP-Features opt-out)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github, json
- Área
- tooling
Línea de trabajo
Empieza con third_party/github/mcp.json y la configuración del plugin que expone GITHUB_PERSONAL_ACCESS_TOKEN; el bloqueo ocurre porque solo se envía Authorization y las ejecuciones headless no pueden enviar el formulario de MCP App. Decide si añadir X-MCP-Features: mcp_apps_disable_form_deferral a ese conjunto de cabeceras o exponerlo como variable opcional del plugin, y luego verifica que una automatización pueda ejecutar issue_write y crear un issue sin formulario. La lógica de decisión externa está en pkg/github/ui_capability.go de github-mcp-server, pero la edición corresponde a la configuración de este plugin.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 13.9k
- Forks
- 1.4k
- Merge medio
- 6 h 55 min
- PR fusionados (30 d)
- 158
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cursor/plugins
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
cursor/plugins#1053 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cursor/plugins#1012 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
cursor/plugins#990 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
statechart: a relative TLA2TOOLS or JAVA path fails, because TLC runs in the snapshot folderPosiblemente ocupada @Ehsan-hash la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
cursor/plugins#973 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
Todos los issues de cursor/plugins
Issues similares
-
Shell: serve the home app's Cookie Policy on a hard reloadPosiblemente ocupada @2001anshkaushik la tomó hoy. Abiertofeature module:ai
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
rocketride-org/rocketride-server#2899 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wazuh/wazuh-dashboard-plugins#9551 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
gofish-graphics/gofish-graphics#1252 ·
Los mantenedores suelen responder en 1 día
-
optimization P3 size:XS
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
josephfung/curia#2366 ·
Los mantenedores suelen responder en 1 día
-
stranded-follow-up sweep trusts any issue whose body carries the marker as the tracking issueAbiertotype:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nightgauge/nightgauge#2688 ·
Los mantenedores suelen responder en 1 día