GitHub MCP Server
Provides tools for managing GitHub repositories, including basic Git operations (status, commit, push, pull, branch) and advanced workflows (flow, sync, backup, release, cleanup).
Enables GitHub Copilot to perform Git operations and workflow combinations directly from the assistant interface.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub MCP Server show git status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitHub MCP Server
π View on MCP Market π View on MCP Registry
A Model Context Protocol (MCP) server that provides 29 Git operations + 11 workflow combinations for AI assistants and developers. This server exposes comprehensive Git repository management through a standardized interface, enabling AI models and developers to safely manage complex version control workflows.
π― About
GitHub MCP Server bridges AI assistants with Git repositories and provides powerful developer productivity tools. It provides:
Safe Git operations through a standardized MCP interface (29 operations)
Complete version control capabilities including advanced operations (tag, merge, rebase, cherry-pick, blame, bisect)
31 workflow combinations for enhanced developer productivity
Advanced developer tools (backup, cleanup, workflow automation)
Error handling and validation to prevent common Git mistakes
Direct integration with VS Code and AI assistants like GitHub Copilot
CLI wrapper for terminal access and automation
Related MCP server: GitHub MCP Server
π Features Overview
This server provides comprehensive Git repository management through two main categories:
π Basic Git Operations (17 operations)
Essential daily Git commands organized in bin/basic/ - see Basic Operations Guide for detailed documentation.
File Management: Add, remove files from staging area
Repository Information: Status, history, differences
Commit Operations: Create commits, push, pull
Branch Management: Create, switch branches
Remote Management: Add, remove, configure remotes
Stash Operations: Temporarily save changes
Reset Operations: Repository state management
π Advanced Git Operations (12 operations)
Sophisticated workflows and automation in bin/advanced/ - see Advanced Workflows Guide for comprehensive documentation.
Workflow Combinations: Complete flows (addβcommitβpush), quick commits, sync operations
Development Tools: Smart development workflows, backup systems
Advanced Git Features: Tags, merging, rebasing, cherry-picking, blame, bisect
Maintenance & Safety: Repository cleanup, optimization, backup management
Professional Workflows: Release management, hotfix procedures, team collaboration
π οΈ Installation
π Quick Start with npx (Recommended)
The fastest way to use GitHub MCP Server is with npx - no installation required!
# Basic Git operations
npx github-mcp-server gstatus
npx github-mcp-server gadd
npx github-mcp-server gcommit "your commit message"
npx github-mcp-server gpush
# Advanced workflows
npx github-mcp-server gflow "implement new feature"
npx github-mcp-server gsync
npx github-mcp-server gbackup
# Or use the short alias
npx gms gstatus
npx gms gflow "quick fix"π¦ Global Installation
For frequent use, install globally:
# Using npm
npm install -g github-mcp-server
# Using pnpm (recommended)
pnpm add -g github-mcp-server
# Then use directly
gstatus
gflow "your message"
gsyncπ§ Local Development Installation
See markdown/INSTALLATION.md for detailed installation guide for Windows, macOS, WSL, and all platforms.
π€ MCP Server Integration (Cursor, Claude, etc.)
π― Cursor IDEμμ MCP μλ² μ¬μ©νκΈ°
Cursorμμ GitHub MCP Serverλ₯Ό μ¬μ©νλ €λ©΄ λ€μ μ€μ μ μΆκ°νμΈμ:
File: ~/.cursor/mcp_config.json
π GitHub ν ν° μ€μ (κΆμ₯)
GitHub ν ν°μ μ€μ νλ©΄ μΈμ¦ μ€λ₯ μμ΄ Git μμ μ μνν μ μμ΅λλ€:
GitHub Personal Access Token μμ±:
GitHub.com β Settings β Developer settings β Personal access tokens β Tokens (classic)
"Generate new token" β "Generate new token (classic)"
κΆν μ€μ :
repo,workflow,write:packagesλ± νμν κΆν μ νν ν° μμ± ν μμ ν κ³³μ μ μ₯
νκ²½λ³μ μ€μ :
GITHUB_TOKEN: GitHub Personal Access TokenGITHUB_USERNAME: GitHub μ¬μ©μλͺ (μ νμ¬ν, κΈ°λ³Έκ°: 'git')
{
"mcpServers": {
"github-mcp-server": {
"command": "npx",
"args": ["github-mcp-server-mcp"],
"env": {
"GITHUB_TOKEN": "your_github_personal_access_token",
"GITHUB_USERNAME": "your_github_username"
},
"capabilities": ["tools", "resources", "prompts"]
}
}
}π§ λ€λ₯Έ MCP ν΄λΌμ΄μΈνΈ μ€μ
Claude Desktop
File: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"github-mcp-server": {
"command": "npx",
"args": ["github-mcp-server", "mcp"],
"env": {}
}
}
}Continue (VS Code Extension)
File: ~/.continue/config.json
{
"models": [
{
"title": "GitHub MCP Assistant",
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022",
"contextLength": 200000,
"mcpServers": [
{
"name": "github-mcp-server",
"command": "npx",
"args": ["github-mcp-server", "mcp"],
"env": {}
}
]
}
]
}π MCP μλ² μ§μ μ€ν
npm ν¨ν€μ§λ‘ μ€μΉλ MCP μλ²λ₯Ό μ§μ μ€νν μλ μμ΅λλ€:
# κΈλ‘λ² μ€μΉ ν
npm install -g github-mcp-server
github-mcp-server mcp
# λλ npxλ‘ μ§μ μ€ν
npx github-mcp-server mcpπ μ¬μ© κ°λ₯ν MCP λꡬλ€
MCP μλ²λ₯Ό ν΅ν΄ μ¬μ©ν μ μλ 29κ° Git μμ :
κΈ°λ³Έ μμ : git-status, git-add, git-commit, git-push, git-pull
λΈλμΉ κ΄λ¦¬: git-branch, git-checkout, git-merge, git-rebase
κ³ κΈ μμ : git-tag, git-cherry-pick, git-blame, git-bisect
μν¬νλ‘μ°: git-flow, git-sync, git-backup, git-clean
**μμΈν μ€μ μ markdown/MCP_UNIVERSAL_CONFIG.md**λ₯Ό μ°Έμ‘°νμΈμ.
π Quick Usage Guide
π Basic Git Operations
# Check repository status
npx github-mcp-server gstatus
# Add all files and commit
npx github-mcp-server gadd
npx github-mcp-server gcommit "your commit message"
# Push to remote
npx github-mcp-server gpush
# Pull from remote
npx github-mcp-server gpull
# Branch operations
npx github-mcp-server gbranch feature-auth
npx github-mcp-server gcheckout feature-auth
# View history and differences
npx github-mcp-server glog 5
npx github-mcp-server gdiff mainπ Advanced Workflows
# Complete workflow (add β commit β push)
npx github-mcp-server gflow "implement new feature"
# Quick commit without push
npx github-mcp-server gquick "fix typo"
# Sync with remote (pull β push)
npx github-mcp-server gsync
# Development session management
npx github-mcp-server gdev feature-auth
# Backup and safety
npx github-mcp-server gbackup --emergency
# Repository cleanup
npx github-mcp-server gclean --optimizeπ§ Specialized Git Operations
# Tag management
npx github-mcp-server gtag create v1.0.0 "Release version"
# Merge operations
npx github-mcp-server gmerge feature-branch
# Rebase operations
npx github-mcp-server grebase main
# Cherry-pick specific commit
npx github-mcp-server gcherry abc1234
# Line-by-line authorship
npx github-mcp-server gblame src/app.jsπ Help and Discovery
# List all available operations
npx github-mcp-server list
# Get help for specific operation
npx github-mcp-server help
# Show basic operations
npx github-mcp-server glist basic
# Show advanced workflows
npx github-mcp-server glist advancedποΈ Project Structure & Architecture
GitHub MCP Server is organized for clarity and progressive learning:
github-mcp-server/
βββ src/
β βββ index.ts # MCP server (29 tool registrations, schema definitions)
β βββ github.ts # Git operations engine (all 29 implementations)
βββ bin/
β βββ basic/ # π 17 Essential Git Operations
β β βββ README.md # Comprehensive basic operations guide
β β βββ gadd.js # Add files (git add)
β β βββ gcommit.js # Create commits (git commit)
β β βββ gpush.js # Push changes (git push)
β β βββ gpull.js # Pull changes (git pull)
β β βββ gstatus.js # Repository status (git status)
β β βββ gbranch.js # Branch management (git branch)
β β βββ gcheckout.js # Branch switching (git checkout)
β β βββ glog.js # Commit history (git log)
β β βββ gdiff.js # Show differences (git diff)
β β βββ gstash.js # Stash operations (git stash)
β β βββ gpop.js # Apply stash (git stash pop)
β β βββ greset.js # Reset operations (git reset)
β β βββ gclone.js # Clone repositories (git clone)
β β βββ gremote.js # Remote management (git remote)
β β βββ ginit.js # Initialize repository (git init)
β βββ advanced/ # π 13 Advanced Workflows & Automation
β βββ README.md # Comprehensive advanced workflows guide
β βββ gflow.js # Complete workflow (addβcommitβpush)
β βββ gquick.js # Quick commit workflow
β βββ gsync.js # Sync workflow (pullβpush)
β βββ gdev.js # Development session management
β βββ gworkflow.js # Professional workflow combinations
β βββ gfix.js # Smart fix and patch workflows
β βββ gfresh.js # Fresh start workflows
β βββ gbackup.js # Backup and safety operations
β βββ gclean.js # Repository cleanup and optimization
β βββ gsave.js # Save and preserve workflows
β βββ glist.js # Tool discovery and help system
β βββ grelease.js # Release management workflows
β βββ common.js # Shared utilities and helpers
βββ markdown/
β βββ INSTALLATION.md # Detailed installation guide
β βββ DEPLOY.md # Production deployment guide
β βββ DOCKER.md # Docker setup and deployment guide
β βββ QUICK_REFERENCES.md # Copy-paste command reference
βββ mcp-cli.js # Enhanced CLI wrapper (organized by structure)
βββ package.json # Project configuration & npm scripts
βββ tsconfig.json # TypeScript configuration
βββ README.md # This comprehensive guideπ Documentation Structure
bin/basic/README.md - Complete guide to 17 essential Git operations
bin/advanced/README.md - Comprehensive advanced workflows documentation
markdown/INSTALLATION.md - Step-by-step installation for all platforms
markdown/MCP_UNIVERSAL_CONFIG.md - Universal MCP configuration for all LLM clients
markdown/QUICK_REFERENCES.md - Copy-paste commands for quick reference
markdown/DOCKER.md - Docker setup, deployment, and containerization
markdown/DEPLOY.md - Production deployment and hosting strategies
π§ Technical Architecture
π‘ MCP Server Core (src/index.ts)
29 Tool Registrations with complete JSON schemas
Enhanced Metadata with operation tracking and performance monitoring
Input Validation using Zod schemas for type safety
Error Handling Pipeline with timeout protection and meaningful messages
Cross-platform Compatibility with environment normalization
βοΈ Git Operations Engine (src/github.ts)
Comprehensive Implementation of all 29 Git operations
Security Features - Command injection prevention and input sanitization
Enhanced Error Handling with context-aware messaging for common scenarios
Performance Monitoring - Operation duration tracking and logging
Safety Checks - Repository validation and file existence verification
π₯οΈ Enhanced CLI System
Smart Organization - Tools categorized by basic vs advanced operations
Directory-Aware Help - References to specific README files for detailed guidance
Progressive Learning - Clear path from basic to advanced operations
Tool Discovery - Enhanced
glistcommand with category filtering
π‘οΈ Error Handling & Safety
π Repository Validation: Ensures directory is a valid Git repository
π File Existence Checks: Validates files exist before Git operations
β±οΈ Timeout Protection: 30-second timeout for operations
π« Input Sanitization: Prevents command injection
π Detailed Error Messages: Clear, actionable error descriptions
License
ISC License
Author
Created for use with AI assistants that support the Model Context Protocol.
Available Tools
30 toolsgit-addB
Adds a specific file to the staging area
Inputs: files (required), directory.
git-add-allA
Adds all files to the staging area
Inputs: directory.
git-bisectB
Binary search through commit history to find bugs
Inputs: action (required), directory, commit.
git-blameB
Show line-by-line authorship information for a file
Inputs: filePath (required), directory, lineRange.
git-branchB
Lists all branches or creates a new branch
Inputs: branchName, directory.
git-checkoutB
Switches to a branch or creates and switches to a new branch
Inputs: branchName (required), createNew, directory.
git-cherry-pickB
Apply changes from a specific commit to the current branch
Inputs: commitHash (required), directory.
git-cloneC
Clones a repository
Inputs: url (required), targetDir, directory.
git-commitC
Commits staged files
Inputs: message (required), directory.
git-diffB
Shows differences between commits, branches, or working directory
Inputs: target, directory.
git-flowA
Complete Git workflow: add all changes, commit with message, and push to remote
Inputs: message (required), directory.
git-initB
Initializes a new Git repository
Inputs: directory.
git-logB
Shows commit history
Inputs: maxCount, directory.
git-mergeB
Merge a branch into the current branch with conflict detection
Inputs: branch (required), directory, strategy.
git-pullC
Pulls changes from the remote repository
Inputs: directory.
git-pushC
Pushes committed files to the remote repository
Inputs: directory.
git-quick-commitB
Quick commit with automatic message generation based on changes
Inputs: message (required), directory.
git-rebaseC
Rebase current branch onto another branch or commit
Inputs: directory, target, interactive.
git-remote-addC
Adds a remote repository
Inputs: name (required), url (required), directory.
git-remote-listB
Lists all remote repositories
Inputs: directory.
git-remote-removeB
Removes a remote repository
Inputs: name (required), directory.
git-remote-set-urlB
Changes the URL of an existing remote repository
Inputs: name (required), url (required), directory.
git-removeA
Removes a specific file from the staging area
Inputs: file (required), directory.
git-remove-allB
Removes all files from the staging area
Inputs: directory.
git-resetC
Resets repository to a specific commit or state
Inputs: mode, target, directory.
git-stashB
Stashes current changes
Inputs: message, directory.
git-stash-popC
Applies the most recent stash
Inputs: directory.
git-statusB
Displays the status of the git repository
Inputs: directory.
git-syncB
Synchronize repository: pull from remote, then push local changes
Inputs: directory.
git-tagB
Manage Git tags: create, list, delete, or show tag details
Inputs: directory, action, tagName, message.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 30 tools
Many tools have overlapping purposes, such as multiple ways to add files (git-add, git-add-all, git-flow, git-quick-commit) and commit (git-commit, git-quick-commit, git-flow). The presence of git-sync and git-pull also creates ambiguity. An agent would struggle to choose the correct tool without detailed knowledge.
All tools start with 'git-' and use lowercase hyphenated names, which is consistent. However, the pattern varies: some are simple verbs (git-clone), others are verb-object (git-add-all), and a few are phrases (git-quick-commit). Minor deviations from a strict verb_noun pattern.
With 30 tools, the server exceeds the recommended range for a focused server. Many tools are redundant (e.g., git-add vs git-add-all, git-commit vs git-quick-commit) and could be consolidated. The high count adds complexity without proportional benefit.
The tool set covers nearly all common Git operations, including init, clone, add, commit, push, pull, branch, merge, rebase, stash, diff, log, blame, bisect, cherry-pick, reset, tag, and remote management. No major gaps for typical Git workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
A Model Context Protocol server for Wix AI tools
AI-native git hosting β repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.β¦
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol server that enables Large Language Models to interact with Git repositories through a robust API, supporting operations like repository initialization, cloning, file staging, committing, and branch management.284,204 npm245Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to perform GitHub operations including repository management, file operations, issue tracking, and pull request creation.2-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch management.12MIT
- AlicenseCqualityBmaintenanceA Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch operations.224MIT