Describe the feature or problem you’d like to solve
Several public-repository write tools currently declare repo as their minimum OAuth scope. That prevents a token intentionally limited to public_repo from using those tools, even though GitHub's OAuth scope documentation defines public_repo as read/write access to public repositories.
A practical example is a public-only open-source contribution workflow. A token restricted to public_repo should be able to:
- fork a public repository
- create a branch in a public fork
- push files to that branch
- open a pull request
- create/update public issues
- comment on public issues or pull requests
The GitHub API already permits these public-repository operations with public_repo; requiring repo at the MCP metadata/filter layer asks for private-repository access unnecessarily.
Proposed solution
Use scopes.PublicRepo as the minimum declared scope for the existing public-capable contribution tools:
fork_repository
create_branch
push_files
create_pull_request
issue_write
add_issue_comment
NewTool already expands PublicRepo so repo remains an accepted parent scope. Existing private-repository workflows using repo therefore remain compatible, while public-only OAuth deployments can keep the narrower grant.
This would only change scope metadata/filtering; the GitHub API remains the authorization boundary and continues to reject operations the token or user cannot perform.
Example prompts or workflows (for tools/toolsets only)
- "Fork this public repository, make the documentation fix on a branch, and open a pull request."
- "Open an issue on this public repository with the reproduction steps."
- "Add this clarification as a comment on the public issue."
Additional context
I have a focused patch with regression coverage ready and can submit it against current main.
Describe the feature or problem you’d like to solve
Several public-repository write tools currently declare
repoas their minimum OAuth scope. That prevents a token intentionally limited topublic_repofrom using those tools, even though GitHub's OAuth scope documentation definespublic_repoas read/write access to public repositories.A practical example is a public-only open-source contribution workflow. A token restricted to
public_reposhould be able to:The GitHub API already permits these public-repository operations with
public_repo; requiringrepoat the MCP metadata/filter layer asks for private-repository access unnecessarily.Proposed solution
Use
scopes.PublicRepoas the minimum declared scope for the existing public-capable contribution tools:fork_repositorycreate_branchpush_filescreate_pull_requestissue_writeadd_issue_commentNewToolalready expandsPublicReposoreporemains an accepted parent scope. Existing private-repository workflows usingrepotherefore remain compatible, while public-only OAuth deployments can keep the narrower grant.This would only change scope metadata/filtering; the GitHub API remains the authorization boundary and continues to reject operations the token or user cannot perform.
Example prompts or workflows (for tools/toolsets only)
Additional context
I have a focused patch with regression coverage ready and can submit it against current
main.