Git操作服务器

一个提供29种Git操作和11种工作流组合的MCP服务器,用于AI助手和开发者进行Git仓库管理。

  • by 0xshariq
  • JavaScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 0xshariq/github-mcp-server

使用说明

Github MCP服务器

🔗 MCP市场展望
🔗 MCP注册表视图
📦 在npm上可用

A. 模型上下文协议(MCP)服务器 这提供了 29个Git操作+11个工作流组合 AI助手和开发人员。该服务器通过标准化的界面提供全面的Git存储库管理,使AI模型和开发人员能够安全地管理复杂的版本控制工作流。

🚀 快速安装

选项1:.vcode/mcp.json(推荐)

{
  "mcpServers": {
    "github-mcp-server": {
      "command": "npx",
      "args": ["-y", "@0xshariq/github-mcp-server@latest"]
    }
  }
}

选项2:用于CLI

pnpm i -g @0xshariq/github-mcp-server@latest

# Test Commands After Installation
gstatus
gadd
glog 10
gpush

选项3:符号链接(替代方案-无包管理器)

# Clone and setup
git clone https://github.com/0xshariq/github-mcp-server.git
cd github-mcp-server
npm install && npm run build

# Create symbolic links (cross-platform)
./setup-symbolic.sh --user          # User installation
# OR
sudo ./setup-symbolic.sh           # System-wide (Linux/macOS)

# Test the installation
gstatus
glist

🛠️ 有问题吗? 如果安装后命令不起作用,请参阅我们的 完整的故障排除指南 用于解决所有常见问题,包括“找不到命令”错误、路径冲突、PNPM问题和符号链接替代方案。

🎯 关于

GitHub MCP服务器 将AI助手与Git存储库连接起来,并提供强大的开发人员生产力工具。它提供:

  • 安全的Git操作 通过标准化的MCP接口(29次操作)
  • 完整的版本控制 功能包括高级操作(标记、合并、重基、选择性选择、责备、平分)
  • 31种工作流程组合 提高开发人员的工作效率
  • 高级开发工具 (备份、清理、工作流自动化)
  • 错误处理和验证 防止常见的Git错误
  • 直接整合 使用VS Code和GitHub Copilot等人工智能助手
  • CLI包装器 用于终端接入和自动化

🚀 功能概述

此服务器通过两个主要类别提供全面的Git存储库管理:

📁 Git基本操作 (17次操作)

基本的日常Git命令组织在 bin/basic/ -看 基本操作指南 详细文档。

  • 文件管理:从暂存区添加、删除文件
  • 存储库信息:现状、历史、差异
  • 提交操作:创建提交、推送、拉取
  • 分行管理:创建、切换分支
  • 远程管理:添加、删除、配置遥控器
  • 停滞操作:临时保存更改
  • 重置操作:存储库状态管理

🚀 高级Git操作 (12项操作)

复杂的工作流程和自动化 bin/advanced/ -看 高级工作流指南 以获取全面的文档。

  • 工作流组合:完成流程(添加→承诺→推送)、快速提交、同步操作
  • 开发工具:智能开发工作流程、备份系统
  • Git高级功能:标签,合并,重设基线,樱桃采摘,责备,平分
  • 维护与安全:存储库清理、优化、备份管理
  • 专业工作流程:发布管理、修补程序、团队协作

🛠️ 安装

看 标记/安装.md 有关Windows、macOS、WSL和所有平台的详细安装指南。

🏗️ 项目结构和架构

GitHub MCP服务器 为了清晰和渐进式学习而组织:

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

📖 文档结构

🔧 技术架构

📡 MCP服务器核心 (来源/索引.ts)

  • 29工具注册 具有完整的JSON模式
  • 增强元数据 具有操作跟踪和性能监控功能
  • 输入验证 使用Zod模式实现类型安全
  • 错误处理管道 具有超时保护和有意义的消息
  • 跨平台兼容性 环境正常化

⚙️ Git操作引擎 (src/github.ts)

  • 全面实施 在所有29个Git操作中
  • 安全特性 -命令注入预防和输入消毒
  • 增强的错误处理 为常见场景提供上下文感知消息
  • 性能监控 -运行持续时间跟踪和记录
  • 安全检查 -存储库验证和文件存在性验证

🖥️ 增强的CLI系统

  • 智能组织 -按基本操作与高级操作分类的工具
  • 目录感知帮助 -参考特定的README文件以获取详细指导
  • 渐进式学习 -从基础操作到高级操作的清晰路径
  • 工具发现 -增强型 glist 带类别筛选的命令

🛡️ 错误处理和安全

  • 🔍 存储库验证:确保目录是有效的Git存储库
  • 📁 文件存在性检查:在Git操作之前验证文件是否存在
  • ⏱️ 超时保护:操作超时30秒
  • 🚫 输入消毒:防止命令注入
  • 📝 详细错误消息:清晰、可操作的错误描述

🛠️ 故障排除

安装有问题或命令不起作用?我们已经覆盖了你!我们全面的故障排除指南涵盖了所有常见问题的解决方案:

🚨 最常见的问题和快速修复

问题 快速解决方案
💥 command not found 错误 unset command_not_found_handle
📁 路径与PNPM冲突 删除 /5/ 来自全局目录
🔗 命令显示帮助而不是执行 更新包装器脚本以传递命令名
🚫 权限被拒绝 chmod +x ~/.local/share/pnpm/g*

👉 有关详细的解决方案、分步修复和诊断工具,请参阅我们的 完整的故障排除指南

🆘 快速诊断

# Test if commands are working
gstatus                    # Should show repository status
env gstatus               # Alternative if above fails
which gstatus             # Should show path to command

# If still having issues, see TROUBLESHOOTING.md for complete solutions

许可证

ISC许可证

作者

创建用于支持模型上下文协议的AI助手。