mcpField
G
GitHub MCP Server

GitHub MCP Server

Local
github.com/scopwebVersion Control0Updated 10w ago

About GitHub MCP Server

GitHub MCP Server is a Go server for managing repositories through local Git operations and the GitHub API. It combines repository and administrative actions with configurable tool groups, risk-based confirmations, backups and audit logs.

Key features

  1. 01Local Git and GitHub API operations
  2. 02Repository and file management
  3. 03Administrative controls and settings
  4. 04Risk tiers with confirmation tokens
  5. 05Backups and audit logging
  6. 06Filterable tool groups

Use cases

  1. 01Creating and updating repository files
  2. 02Managing branches, commits and pull requests
  3. 03Changing repository settings and webhooks
  4. 04Restricting exposed tools by task

MCP support

The server exposes Git and GitHub operations as MCP tools, including repository, file, dashboard and administrative actions. Tool groups can be selected with --toolsets.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

GitHub MCP Server v4.0

Go-based MCP server that connects GitHub to Claude Desktop, enabling direct repository operations from Claude's interface.

Tools: 26 consolidated tools (85 operations) | Architecture: Hybrid (Local Git + GitHub API + Admin Controls)

What's New in v4.0

  • Consolidated Tool Design: 85 operations across just 26 tools — prevents AI confusion from tool-count limits
  • Operation Parameter Pattern: Each tool accepts an operation parameter to select the specific action
  • --toolsets Flag: Start the server exposing only selected tool groups (git, github, admin, files)
  • Real Auto-Backup: Writes a JSON backup before HIGH/CRITICAL operations when enable_auto_backup: true
  • 4-Tier Safety System: Risk classification (LOW/MEDIUM/HIGH/CRITICAL) with confirmation tokens
  • 22 Administrative Operations: Repository settings, branch protection, webhooks, collaborators, teams
  • Audit Logging: JSON-based operation tracking with automatic rotation

Token Permissions Required

Minimum Required
repo        - Full control of private repositories (essential)
Optional (for full functionality)
security_events  - For dismissing security alerts
workflow         - For re-running GitHub Actions workflows
admin:repo_hook  - Enhanced webhook management
admin:org        - For team management in organizations
Generate Token
  1. Go to: GitHub Settings > Personal Access Tokens
  2. Click "Generate new token (classic)"
  3. Select the required scopes
  4. Copy the generated token

Installation

# Install dependencies
go mod tidy

# Compile (using included script)
.\compile.bat          # Windows
./build-mac.bat        # macOS cross-compile

# Or compile manually
go build -o github-mcp-server-v4.exe ./cmd/github-mcp-server/

Testing

# Run all tests
go test ./...

# Run tests with verbose output
go test ./... -v

# Run tests for a specific package
go test ./pkg/git/ -v
go test ./pkg/safety/ -v

Claude Desktop Configuration

Multi-profile (Recommended)
{
  "mcpServers": {
    "github-personal": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": ["--profile", "personal"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_token"
      }
    },
    "github-work": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": ["--profile", "work"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_work_token"
      }
    }
  }
}
Basic Configuration (Single token)
{
  "mcpServers": {
    "github-mcp": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": [],
      "env": {
        "GITHUB_TOKEN": "your_token_here"
      }
    }
  }
}
Toolset Filtering (Optional)

Expose only specific tool groups to reduce attack surface:

{
  "args": ["--toolsets", "git,github"]
}

Available groups: git (14 tools), github (4 tools), admin (4 tools), files (4 tools). Default is all.

Available Tools (26)

Tools use an operation parameter to expose multiple operations under one name. This reduces the tool count from 85 to 26, preventing AI model confusion.

Git Info (2 tools)
ToolOperations
git_infostatus, file_sha, last_commit, file_content, changed_files, validate_repo, list_files, context, validate_clean
git_set_workspaceSet working directory for all Git operations
Git Basic (3 tools)
ToolDescription
git_initInitialize a new Git repository
git_addStage files for commit
git_commitCommit staged changes
Git Advanced (9 tools)
ToolOperations
git_historylog, diff
git_branchcheckout, checkout_remote, list, merge, rebase, backup
git_syncpush, pull, force_push, push_upstream, sync, pull_strategy
git_conflictstatus, resolve, detect, safe_merge
git_stashlist, push, pop, apply, drop, clear
git_remotelist, add, remove, show, fetch
git_taglist, create, delete, push, show
git_cleanuntracked, untracked_dirs, ignored, all
git_resetUndo commits (soft/mixed/hard)
Hybrid (3 tools)
ToolDescription
gh_create_fileCreate file — Git-first, GitHub API fallback
gh_update_fileUpdate file — Git-first, GitHub API fallback
gh_push_filesWrite multiple files + git add/commit/push in one call
GitHub API (1 tool)
ToolOperations
github_repolist_repos, create_repo, list_prs, create_pr
Dashboard (1 tool)
ToolOperations
github_dashboardfull, notifications, issues, prs_review, security, workflows, mark_read
Response (1 tool)
ToolOperations
github_respondcomment_issue, comment_pr, review_pr
Repair (1 tool)
ToolOperations
github_repairclose_issue, merge_pr, rerun_workflow, dismiss_alert
Admin (4 tools)
ToolOperationsRisk
github_admin_repoget_settings, update_settings, archive, deleteLOW → CRITICAL
github_branch_protectionget, update, deleteLOW → CRITICAL
github_webhookslist, create, update, delete, testLOW → HIGH
github_collaboratorslist, check, add, update_permission, remove, list_invitations, accept_invitation, cancel_invitation, list_teams, add_teamLOW → HIGH
File Operations (1 tool)
ToolOperations
github_fileslist, download, download_repo, pull_repo

Safety System

4-Tier Risk Classification
LevelDescriptionBehavior (moderate mode)
LOWRead-onlyDirect execution
MEDIUMReversible changesOptional dry-run
HIGHImpacts collaborationRequires confirmation token
CRITICALIrreversibleToken + backup recommendation

Safety uses composite keys tool:operation (e.g., github_webhooks:delete) for risk classification.

Safety Modes
ModeConfirms fromRecommended use
strictMEDIUM+Critical production environments
moderateHIGH+General use (default)
permissiveCRITICALLocal development
disabledNeverNot recommended
Safety Configuration

Create safety.json next to the executable (optional):

{
  "mode": "moderate",
  "enable_audit_log": true,
  "require_confirmation_above": 3,
  "audit_log_path": "./mcp-admin-audit.log",
  "audit_log_max_size_mb": 10,
  "audit_log_max_backups": 5
}

If safety.json doesn't exist, defaults to moderate mode with audit logging enabled.

Git-Free Mode

On systems without Git installed, the server:

  1. Automatically detects Git absence
  2. Filters git_* tools from the listing
  3. Keeps all API, admin, dashboard, and file operation tools operational
  4. Returns a friendly error if a Git tool is attempted

The github_files tool (list, download, download_repo, pull_repo) allows cloning and updating repositories using only the GitHub API, without Git.

Security

  • Command injection prevention in all Git operations
  • Path traversal defense
  • SSRF prevention in webhook URLs
  • Cryptographic confirmation tokens for destructive operations
  • Audit logging of all administrative operations

For vulnerability reports, see our Security Policy.

System Requirements

  • Go: 1.26.6 or higher
  • Git: Optional (auto-detected; file/API tools work without it)
  • github.com/google/go-github v88.0.0
  • golang.org/x/oauth2 v0.36.0
  • GitHub Token: Minimum repo permission

Project Status

  • 26 consolidated tools exposing 85 operations
  • Hybrid local Git + GitHub API system
  • 4-tier safety system with confirmation tokens and auto-backup
  • Multi-profile support
  • Complete test suite
  • Production ready (v4.0)

Changelog: See CHANGELOG.md for complete change history.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

MIT License — see LICENSE for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.