MCP server intelligence profile

GitHub MCP Server

Provides 29 Git operations and 11 workflow combinations for AI assistants and developers, enabling comprehensive Git repository management through a standardized interface

Local Only0xshariq
Awaiting current scanNpm · 2.5.0

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
35Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @0xshariq/github-mcp-server from npm

Version 2.5.0 declares 1 executable entrypoint.

npm install --save-exact @0xshariq/github-mcp-server@2.5.0
npx -y -p @0xshariq/github-mcp-server@2.5.0 @0xshariq/github-mcp-server
MCP client configuration example
{
  "mcpServers": {
    "@0xshariq/github-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@0xshariq/github-mcp-server@2.5.0",
        "@0xshariq/github-mcp-server"
      ]
    }
  }
}

Identity

Canonical sluggithub-mcp-server-aa41fa2eDeploymentLocal Only
Canonical packagenpm:@0xshariq/github-mcp-serverRepository0xshariq/github-mcp-server
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@0xshariq/github-mcp-server2.5.01Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@0xshariq/github-mcp-server2.5.0CurrentSep 5, 202635 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
github-mcp-serverServer-reported name
3Capability groups
Aug 17, 2026Observed

Tools 35

ToolCategoryAnnotationsRisk
git-addAdds a specific file to the staging area
Input 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 area
Input 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 bugs
Input 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 file
Input 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 branch
Input 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 branch
Input 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 branch
Input 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 options
Input 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 repository
Input 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 files
Input 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 switching
Input 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 directory
Input 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 remote
Input 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 collaboration
Input 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 repository
Input schema
{
  "type": "object",
  "properties": {
    "directory": {
      "type": "string",
      "description": "The directory to initialize as a Git repository (defaults to current working directory)"
    }
  }
}
git-logShows commit history
Input 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 detection
Input 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 repository
Input 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 repository
Input 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 changes
Input 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 commit
Input 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 generation
Input 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 repository
Input 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 repositories
Input 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 repository
Input 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 repository
Input 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 area
Input 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 area
Input 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 state
Input 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 changes
Input 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 stash
Input 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 repository
Input 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 changes
Input 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 management
Input 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 details
Input 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)"
    }
  }
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

GitHub MCP Server questions

How do I install GitHub MCP Server?

Install the selected package version with: npm install --save-exact @0xshariq/github-mcp-server@2.5.0

What tools does GitHub MCP Server provide?

GitHub MCP Server exposed 35 tools during independent protocol observation, including git-add, git-add-all, git-bisect, git-blame, git-branch, git-checkout, git-cherry-pick, git-clean, and others.

Is GitHub MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

GitHub MCP ServersDeveloper Tool MCP ServersOfficial vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.