Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte Adaptée aux débutants
#1,025 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
github, json
Domaine
tooling

Piste de recherche

Commence par third_party/github/mcp.json et les paramètres du plugin qui exposent GITHUB_PERSONAL_ACCESS_TOKEN ; le blocage se produit parce que seul Authorization est envoyé et que les exécutions headless ne peuvent pas soumettre le formulaire MCP App. Décide s'il faut ajouter X-MCP-Features: mcp_apps_disable_form_deferral à cet ensemble d'en-têtes ou l'exposer comme variable de plugin optionnelle, puis vérifie qu'une automatisation peut exécuter issue_write et créer un issue sans formulaire. La logique de décision externe se trouve dans pkg/github/ui_capability.go de github-mcp-server, mais la modification relève de la configuration de ce plugin.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
TypeScript
Étoiles
13.9k
Forks
1.4k
Merge moyen
6 h 55 min
PR mergées (30 j)
158

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de cursor/plugins

Toutes les issues de cursor/plugins

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.