Install Claude Desktop:
Download from https://claude.ai/download
Download the Executable:
https://github.com/chayan-1906/GitHub-MCP/releases/download/v1.1.0/github
https://github.com/chayan-1906/GitHub-MCP/releases/download/v1.1.0/github.exe
Run the Executable:
For macOS users —
chmod +x github
./github
For Windows users:
.\\github.exe
(Optional) Stop the Server:
You can stop the server if needed.
Note: This is optional because launching Claude will automatically stop the currently running instance/port.
Launch Claude Desktop
Start Asking Tasks:
Claude will now recognise the available tools (with descriptions).
Here is a comprehensive list of available tools, along with their descriptions.
Tool Name | Category | Description |
---|---|---|
my-github-account |
Profile | Retrieves details of the authenticated GitHub user, including username, display name, email (if available), avatar URL, and profile link |
list-repositories |
Repository | Fetches repositories user has access to. Calls repeatedly with increasing currentPage until result is empty |
get-repository-details |
Repository | Fetches metadata of a GitHub repository (e.g., default branch, visibility, description, etc.). Useful before accessing files or commits from a repo |
create-repository |
Repository | Creates a new GitHub repository for the authenticated user with optional description, visibility, and initialization |
update-repository |
Repository | Updates repository description and/or tags (topics) of a GitHub repository |
rename-repository |
Repository | Renames a GitHub repository owned by the authenticated user |
delete-repository |
Repository | Deletes a GitHub repository owned by the authenticated user. This action is irreversible |
modify-repository-visibility |
Repository | Modifies a GitHub repository visibility (private/public/internal) |
get-all-collaborators |
Collaboration | Returns a combined list of accepted collaborators and pending invitations for a GitHub Repository, each marked with their status |
add-remove-collaborators |
Collaboration | Adds or removes a collaborator from a GitHub repository |
list-branches |
Branch | Fetches branches of the authenticated user's repository. Calls repeatedly with increasing currentPage until the result is empty |
get-branch-details |
Branch | Fetches details of a specific branch in a GitHub repository |
create-branch |
Branch | Creates a new branch from a given commit SHA (usually the latest commit of an existing branch) |
set-default-branch |
Branch | Sets the default branch in a GitHub repository |
delete-branch |
Branch | Deletes a branch from a GitHub repository. Cannot delete the default branch |
list-files-in-repository |
File | Fetches the recursive file structure (tree) of a specified GitHub repository branch. Requires repository and branch name |
get-file-content |
File | Reads and returns the raw content of a specific file from a GitHub repository branch |
commit-remote-file |
File | Commits a file to a GitHub Repository using GitHub API. This does not use the local file system |
list-commits |
Commit | Fetches commits in a branch of a GitHub repository, page by page |
get-commit-modifications |
Commit | Returns the list of files modified in a specific GitHub commit |
create-issue |
Issue | Creates a new issue in a GitHub repository. Including body and labels is optional |
update-issue |
Issue | Updates the title and/or body of an existing GitHub issue |
update-issue-state |
Issue | Updates the state of a GitHub issue (open or closed) by issue number |
assign-issue |
Issue | Assigns one or more GitHub users to a GitHub issue |
get-all-releases |
Release | Fetches all releases in a GitHub repository, page by page |
create-release |
Release | Creates a GitHub release from an existing tag or creates a new tag and release |
update-release |
Release | Updates an existing GitHub release by release ID with new information |
delete-release |
Release | Deletes a GitHub release by release ID. This action is irreversible |
{username}/legacy-systems
, identify all branches that haven't had any commits in the last 6 months and are not the default branch. For each such branch:
Archive <branch-name>
with a short summaryarchived-branches.md
in a new branch called cleanup-archive