Use GitHub-signed commits for repository file write tools
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 68/100
Direção de pesquisa
Comece pelas implementações de create_or_update_file e push_files e, em seguida, compare-as com o caminho existente de delete_file e seu uso das APIs do GitHub. Investigue GraphQL createCommitOnBranch e preserve as entradas existentes das ferramentas e o formato da resposta. A tarefa estará concluída quando as gravações produzirem commits verificados pelo GitHub quando houver suporte e os pull requests atenderem aos requisitos de commits assinados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Go
- Estrelas
- 33.3k
- Forks
- 5.1k
- Merge médio
- 1d 1h
- PRs com merge (30d)
- 19
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/github-mcp-server
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
github/github-mcp-server#3235 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
github/github-mcp-server#3042 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/github-mcp-server#3032 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
github/github-mcp-server#2803 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/github-mcp-server#2740 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de github/github-mcp-server
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
google/differential-privacy#516 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
lightninglabs/lndmon#140 ·
-
documentation good first issue ready-for-triage ready-to-code
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
release-engineering/fbc-update-planner#102 · 3 comentários ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
yetone/magpie#562 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 4 dias