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

Add MCP tools for GitHub Stacked PRs (gh stack link / sync / view)

Ouverte
#2,905 2 commentaires 10 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
go
Domaine
api, backend

Piste de recherche

Commencez par examiner les outils existants create_pull_request et update_pull_request, puis comparez leur comportement d’enchaînement des bases avec celui des opérations proposées get_stack et link_stack. Une v1 minimale est complète lorsque les agents peuvent lire une stack native et en créer ou mettre à jour une à partir d’une liste ordonnée de pull requests ou de branches, avec les couches ordonnées et le trunk renvoyés.

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

Description

Describe the feature or problem you’d like to solve

Agents that manage stacked / dependent PRs (each PR’s base is the branch below it) can already create and re-base-point individual PRs via create_pull_request / update_pull_request, but they have no first-class way to:

  1. Discover or read a GitHub native stack (the stack object / annotations created by gh stack link / gh stack submit)
  2. Create or update that stack as a unit
  3. Cascade-rebase / sync the tower when trunk moves (gh stack sync / gh stack rebase)
  4. Merge bottom-up with stack-aware ordering

Today the only path to native stacks is the gh stack CLI extension (github/gh-stack), which many agent environments intentionally don’t expose (token stays on a host proxy; container gh is stubbed; agents talk to GitHub through this MCP).

Proposed solution

Add a small stack toolset (or extend pull_requests) that mirrors the operations agents already need from gh stack, without shelling out:

Tool Purpose
list_stacks / get_stack Resolve a stack by number, PR number, or head branch; return ordered PRs + trunk
link_stack Create/update a stack from an ordered list of PR numbers or branches (gh stack link)
update_stack Reorder / reparent / drop layers
sync_stack Cascade-rebase onto trunk + push with lease semantics (gh stack sync) — or return structured rebase instructions if server-side git is out of scope
merge_stack Merge bottom-up, stopping on the first non-mergeable layer

Minimum useful v1: read + link (get_stack, link_stack). Agents can already do Path-B base-chaining with update_pull_request(base=…); what’s missing is the native stack object and a single call that wires N PRs correctly.

Example

link_stack(
  owner: "org",
  repo: "app",
  base: "develop",          # trunk
  pull_numbers: [7609, 7797, 7810, 7815, …]  # bottom → top
)
→ { stack_number: 7928, prs: [...] }

get_stack(owner, repo, stack_number: 7928)
→ ordered layers with number, head, base, mergeable, reviewDecision
Langage dominant
Go
Étoiles
33.1k
Forks
5k
Merge moyen
2 j 3 h
PR mergées (30 j)
18

Guide de contribution

Ouvrir le guide de contribution

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 github/github-mcp-server

Toutes les issues de github/github-mcp-server

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

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