Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

GitHub plugin: issue_write / create_pull_request stall in headless automations on the MCP App form (needs X-MCP-Features opt-out)

Aperta Adatta ai principianti
#1,025 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github, json
Ambito
tooling

Direzione di ricerca

Inizia con third_party/github/mcp.json e le impostazioni del plugin che espongono GITHUB_PERSONAL_ACCESS_TOKEN; lo stallo si verifica perché viene inviato solo Authorization e le esecuzioni headless non possono inviare il modulo MCP App. Decidi se aggiungere X-MCP-Features: mcp_apps_disable_form_deferral a quel set di header o esporlo come variabile opzionale del plugin, poi verifica che un'automazione possa eseguire issue_write e creare un issue senza modulo. La logica decisionale esterna si trova in pkg/github/ui_capability.go di github-mcp-server, ma la modifica appartiene alla configurazione di questo plugin.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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: shouldDeferToForm in pkg/github/ui_capability.go
  • Opt-out: github/github-mcp-server@a217a7f43a76a4cd6909ba6814d88a886064488c adds the mcp_apps_disable_form_deferral feature flag, which the remote server accepts through the X-MCP-Features header.

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:

  1. 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.
  2. Add "X-MCP-Features": "mcp_apps_disable_form_deferral" to the plugin's mcp.json headers.
  3. Expose an optional plugin variable for X-MCP-Features so users can opt out themselves.
Lingua principale
TypeScript
Stelle
13.9k
Fork
1.4k
Merge medio
6h 55m
PR unite (30g)
158

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cursor/plugins

Tutte le issue di cursor/plugins

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.