2.5.0npm · @0xshariq/github-mcp-server · current release
Observed 2026-08-17T11:35:35.951Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"tools": {},
"logging": {},
"experimental": {}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
git-addAdds a specific file to the staging areaInput schema{
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "string"
},
"description": "The files to add to the staging area"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"files"
]
} | — | — · — | — |
git-add-allAdds all files to the staging areaInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-bisectBinary search through commit history to find bugsInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"action": {
"type": "string",
"enum": [
"start",
"bad",
"good",
"reset",
"status"
],
"description": "The bisect action to perform"
},
"commit": {
"type": "string",
"description": "Specific commit hash (optional for bad/good actions)"
}
},
"required": [
"action"
]
} | — | — · — | — |
git-blameShow line-by-line authorship information for a fileInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"filePath": {
"type": "string",
"description": "The path to the file to show blame information for"
},
"lineRange": {
"type": "string",
"description": "Line range to show blame for (e.g., '1,10' or '5,+10')"
}
},
"required": [
"filePath"
]
} | — | — · — | — |
git-branchLists all branches or creates a new branchInput schema{
"type": "object",
"properties": {
"branchName": {
"type": "string",
"description": "Name of the branch to create (leave empty to list branches)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-checkoutSwitches to a branch or creates and switches to a new branchInput schema{
"type": "object",
"properties": {
"branchName": {
"type": "string",
"description": "Name of the branch to switch to"
},
"createNew": {
"type": "boolean",
"description": "Create a new branch if it doesn't exist (default: false)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"branchName"
]
} | — | — · — | — |
git-cherry-pickApply changes from a specific commit to the current branchInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"commitHash": {
"type": "string",
"description": "The commit hash to cherry-pick"
}
},
"required": [
"commitHash"
]
} | — | — · — | — |
git-cleanRepository cleanup and maintenance with backup optionsInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"mode": {
"type": "string",
"enum": [
"soft",
"normal",
"aggressive",
"backup",
"restore"
],
"description": "Cleanup mode to use"
},
"target": {
"type": "string",
"description": "Specific target to clean (files, branches, tags, remotes)"
},
"backup": {
"type": "boolean",
"description": "Whether to create backup before cleaning"
},
"force": {
"type": "boolean",
"description": "Force cleanup without confirmation"
}
}
} | — | — · — | — |
git-cloneClones a repositoryInput schema{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Repository URL to clone"
},
"targetDir": {
"type": "string",
"description": "Target directory name for the cloned repository"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"url"
]
} | — | — · — | — |
git-commitCommits staged filesInput schema{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Commit message"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"message"
]
} | — | — · — | — |
git-devDevelopment session management with auto-save and branch switchingInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"action": {
"type": "string",
"enum": [
"start",
"save",
"switch",
"resume",
"status",
"clean"
],
"description": "Development action to perform"
},
"session": {
"type": "string",
"description": "Development session name"
},
"message": {
"type": "string",
"description": "Save message for session snapshots"
}
},
"required": [
"action"
]
} | — | — · — | — |
git-diffShows differences between commits, branches, or working directoryInput schema{
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "Target to compare against (commit hash, branch name, etc.)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-flowComplete Git workflow: add all changes, commit with message, and push to remoteInput schema{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Commit message for the workflow"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"message"
]
} | — | — · — | — |
git-flowEnhanced Git workflow automation with intelligent defaults and team collaborationInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"action": {
"type": "string",
"enum": [
"init",
"feature-start",
"feature-finish",
"release-start",
"release-finish",
"hotfix-start",
"hotfix-finish",
"status"
],
"description": "Flow action to perform"
},
"name": {
"type": "string",
"description": "Name for feature/release/hotfix branches"
},
"message": {
"type": "string",
"description": "Commit message for operations that require it"
}
},
"required": [
"action"
]
} | — | — · — | — |
git-initInitializes a new Git repositoryInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to initialize as a Git repository (defaults to current working directory)"
}
}
} | — | — · — | — |
git-logShows commit historyInput schema{
"type": "object",
"properties": {
"maxCount": {
"type": "number",
"description": "Maximum number of commits to show (default: 10)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-mergeMerge a branch into the current branch with conflict detectionInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"branch": {
"type": "string",
"description": "The branch to merge into the current branch"
},
"strategy": {
"type": "string",
"description": "Merge strategy (optional): ours, theirs, recursive, etc."
}
},
"required": [
"branch"
]
} | — | — · — | — |
git-pullPulls changes from the remote repositoryInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-pushPushes committed files to the remote repositoryInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-quick-commitQuick commit with automatic message generation based on changesInput schema{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Commit message (optional - will auto-generate if not provided)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"message"
]
} | — | — · — | — |
git-rebaseRebase current branch onto another branch or commitInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"target": {
"type": "string",
"description": "The target branch or commit to rebase onto (defaults to HEAD~1)"
},
"interactive": {
"type": "boolean",
"description": "Whether to use interactive rebase mode"
}
}
} | — | — · — | — |
git-releaseAutomated release management with version tagging and changelog generationInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"action": {
"type": "string",
"enum": [
"prepare",
"create",
"finalize",
"rollback",
"status"
],
"description": "Release action to perform"
},
"version": {
"type": "string",
"description": "Release version (e.g., 1.2.3, major, minor, patch)"
},
"message": {
"type": "string",
"description": "Release message or changelog"
},
"prerelease": {
"type": "boolean",
"description": "Whether this is a prerelease"
}
},
"required": [
"action"
]
} | — | — · — | — |
git-remote-addAdds a remote repositoryInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name for the remote repository"
},
"url": {
"type": "string",
"description": "URL of the remote repository"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"name",
"url"
]
} | — | — · — | — |
git-remote-listLists all remote repositoriesInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-remote-removeRemoves a remote repositoryInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the remote repository to remove"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"name"
]
} | — | — · — | — |
git-remote-set-urlChanges the URL of an existing remote repositoryInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the remote repository"
},
"url": {
"type": "string",
"description": "New URL for the remote repository"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"name",
"url"
]
} | — | — · — | — |
git-removeRemoves a specific file from the staging areaInput schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The file to remove from the staging area"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
},
"required": [
"file"
]
} | — | — · — | — |
git-remove-allRemoves all files from the staging areaInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-resetResets repository to a specific commit or stateInput schema{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"soft",
"mixed",
"hard"
],
"description": "Reset mode (default: mixed)"
},
"target": {
"type": "string",
"description": "Target commit or reference (default: HEAD)"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-stashStashes current changesInput schema{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Message for the stash"
},
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-stash-popApplies the most recent stashInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-statusDisplays the status of the git repositoryInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-syncSynchronize repository: pull from remote, then push local changesInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
}
}
} | — | — · — | — |
git-syncAdvanced synchronization with conflict resolution and remote managementInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"mode": {
"type": "string",
"enum": [
"pull",
"push",
"full",
"force",
"upstream"
],
"description": "Sync mode to use"
},
"remote": {
"type": "string",
"description": "Remote repository name (defaults to origin)"
},
"branch": {
"type": "string",
"description": "Branch to sync (defaults to current branch)"
},
"resolveConflicts": {
"type": "boolean",
"description": "Whether to attempt automatic conflict resolution"
}
}
} | — | — · — | — |
git-tagManage Git tags: create, list, delete, or show tag detailsInput schema{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "The directory to run the command in (defaults to current working directory)"
},
"action": {
"type": "string",
"enum": [
"list",
"create",
"delete",
"show"
],
"description": "The tag action to perform (list, create, delete, show)"
},
"tagName": {
"type": "string",
"description": "The name of the tag (required for create, delete, show actions)"
},
"message": {
"type": "string",
"description": "The tag message (optional for create action)"
}
}
} | — | — · — | — |