Use GitHub-signed commits for repository file write tools
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 68/100
Piste de recherche
Commencez par les implémentations de create_or_update_file et push_files, puis comparez-les avec le chemin existant de delete_file et son utilisation des API GitHub. Étudiez GraphQL createCommitOnBranch et préservez les entrées des outils existantes ainsi que la forme de la réponse. La tâche est terminée lorsque les écritures produisent des commits vérifiés par GitHub lorsque cela est pris en charge et que les pull requests respectent les exigences relatives aux commits signés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Repository write tools such as create_or_update_file and push_files can create unsigned commits. In repositories that require verified commit signatures, the MCP-created pull request is then blocked with:
Commits must have verified signatures.
Reproduction
- Use the MCP server against a repository with a ruleset/branch protection rule requiring signed commits.
- Create a branch.
- Use
create_or_update_fileorpush_filesto write a commit. - Open a pull request.
Actual behavior
The commit can be reported by GitHub as verification.verified=false with verification.reason=unsigned, and the pull request cannot be merged while the signed-commit rule is active.
Expected behavior
Repository write tools should use a GitHub API path that can produce GitHub-verified commits when supported by the authenticated actor, so MCP-generated pull requests can satisfy signed-commit requirements without clients managing GPG or SSH signing keys.
Notes
I verified in an internal test repository that switching the file write to GraphQL createCommitOnBranch produced a commit with:
verification.verified=trueverification.reason=valid
The existing delete_file implementation already avoids the simpler REST contents deletion path because of commit signing behavior. The same issue can affect create/update and multi-file writes.
Proposed fix
Use GraphQL createCommitOnBranch for create_or_update_file and push_files, keeping the existing tool inputs and response shape as much as possible.
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/github-mcp-server
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
github/github-mcp-server#3235 ·
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
github/github-mcp-server#3042 · 2 commentaires ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/github-mcp-server#3032 · 1 réaction ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
github/github-mcp-server#2803 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
github/github-mcp-server#2740 ·
Toutes les issues de github/github-mcp-server
Issues similaires
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
microsoft/agent-framework-go#1179 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
[Bug]: OLLAMA_KEEP_ALIVE="5m" / "24h" crashes Ollama embedding and vision models with ValueError Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
infiniflow/ragflow#20223 · 1 réaction ·
-
bug needs triage pkg/translator/faro
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
open-telemetry/opentelemetry-collector-contrib#51484 · 1 commentaire ·