adding repos consolidation #1261
Closed
+1,123
−2,250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR consolidates multiple repository tools in the repos toolset into unified tools with a
methodparameter. This aims to reduce tool count/context size bloat by using the github mcp server.Consolidations
1. file_write (3 → 1 tool)
Consolidates file write operations:
create_or_update_file→file_writewithmethod: "create"ormethod: "update"push_files→file_writewithmethod: "push_files"delete_file→file_writewithmethod: "delete"Logic: All three tools perform file modifications in a repository and share the same required parameters (
owner,repo,branch,message).2. release_read (5 → 1 tool)
Consolidates release and tag read operations:
list_tags→release_readwithmethod: "list_tags"get_tag→release_readwithmethod: "get_tag"list_releases→release_readwithmethod: "list_releases"get_latest_release→release_readwithmethod: "get_latest_release"get_release_by_tag→release_readwithmethod: "get_release_by_tag"Logic: These tools all read release/tag information from a repository and share the same required parameters (
owner,repo).3. commit_read (2 → 1 tool)
Consolidates commit read operations:
get_commit→commit_readwithmethod: "get"list_commits→commit_readwithmethod: "list"Logic: Both tools read commit data from a repository and share the same required parameters (
owner,repo).Not Consolidated
The following tools were kept separate as they operate on different entities or lack shared parameters:
search_repositories,search_code- Search tools with distinct use casesget_file_contents- Requires special raw client handlinglist_branches- No natural pairing with other toolscreate_repository,fork_repository,create_branch- Different entities (repos vs branches), minimal parameter overlapResults