返回市场
GitHub-MCP-自定义

GitHub-MCP-自定义

作者:idletoaster2 星标更新:2025-06-05

项目介绍

GitHub MCP Custom (跨平台NPX包装器)

GitHub MCP服务器的自定义打包版本,通过npx无缝运行于WindowsLinuxmacOS。此包装器将Go二进制文件封装在Node.js启动器中,使得使用Claude Desktop的开发者无需Docker或手动编译即可使用GitHub MCP功能。


📦 存在的原因

官方GitHub MCP服务器需要:

  • Docker 或
  • 手动Go编译。

这些选项在Linux/macOS上工作良好,但在Windows上会中断或复杂化使用

此包通过npx提供服务器,消除了对以下内容的需求:

  • Docker
  • Go安装
  • 自定义PATH设置

🧠 此包的功能

  • 提供跨平台的github-mcp-custom命令
  • 通过Node.js包装器执行预构建的Go二进制文件
  • 在所有操作系统上完全兼容NPX
  • 开箱即用与Claude Desktop或其他MCP兼容工具一起工作
  • 与Claude Desktop兼容的协议版本

🚀 安装及使用

🔹 方案1:使用NPX运行(推荐)

npx -y github-mcp-custom@1.0.20 stdio

首次使用时会自动下载并运行该包。

🔹 方案2:全局安装

npm install -g github-mcp-custom@1.0.20
github-mcp-custom stdio

🔹 方案3:直接可执行文件(Windows备用方案)

如果NPX在Windows上有问题,请使用直接路径:

{
  "mcpServers": {
    "github": {
      "command": "C:\\Users\\[USERNAME]\\AppData\\Roaming\\npm\\node_modules\\github-mcp-custom\\dist\\github-mcp-server.exe",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

请将[USERNAME]替换为您的实际Windows用户名。

注意: 使用@1.0.20或更高版本以获得最佳Claude Desktop兼容性。


🛠️ 先决条件

  • 必须安装Node.js v14或更高版本
  • 活跃的GitHub个人访问令牌,具有适当的范围:
    • repo(用于仓库访问)
    • read:org(用于组织访问)
    • user(用于用户信息)

🔐 创建GitHub个人访问令牌

  1. 前往GitHub设置 > 开发者设置 > 个人访问令牌
  2. 点击“生成新令牌(经典)”
  3. 选择这些范围:
    • repo - 私有仓库的完全控制权
    • read:org - 查看组织和团队成员资格
    • user - 更新用户数据
  4. 复制生成的令牌

🖥️ Claude Desktop配置

Windows

将以下内容添加到位于%APPDATA%\Claude\claude_desktop_config.json的Claude Desktop配置文件中:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

macOS

将以下内容添加到位于~/Library/Application Support/Claude/claude_desktop_config.json的Claude Desktop配置文件中:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Linux

将以下内容添加到位于~/.config/Claude/claude_desktop_config.json的Claude Desktop配置文件中:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

全局安装替代配置

如果您已全局安装,可以使用:

{
  "mcpServers": {
    "github": {
      "command": "github-mcp-custom",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

🎯 可用工具及功能

配置完成后,您将能够访问以下GitHub MCP工具:

📂 仓库管理

  • search_repositories - 搜索GitHub仓库
  • get_file_contents - 从仓库读取文件内容
  • create_or_update_file - 创建/修改文件
  • create_repository - 创建新的仓库
  • fork_repository - 分叉仓库
  • create_branch - 创建分支
  • push_files - 推送文件更改
  • list_commits - 查看提交历史
  • get_commit - 获取特定提交详情

🐛 问题及项目管理

  • get_issue - 获取带有时间戳的问题详情
  • create_issue - 创建新问题
  • update_issue - 更新问题(返回带有时间戳的更新信息)
  • search_issues - 跨问题搜索
  • list_issues - 列出仓库中的问题
  • get_issue_comments - 获取带有时间戳的问题评论
  • add_issue_comment - 向问题添加评论

🔀 拉取请求

  • get_pull_request - 获取PR详情
  • create_pull_request - 创建新的PR
  • update_pull_request - 更新现有的PR
  • merge_pull_request - 合并PR
  • get_pull_request_files - 查看PR更改
  • get_pull_request_comments - 获取PR评论
  • create_and_submit_pull_request_review - 审查PR

🔒 安全及扫描

  • list_code_scanning_alerts - 代码安全警报
  • list_secret_scanning_alerts - 密码扫描警报

🔔 通知

  • list_notifications - 获取通知
  • dismiss_notification - 忽略通知
  • mark_all_notifications_read - 标记所有为已读

👤 用户及上下文

  • get_me - 获取认证用户的详细信息
  • search_users - 搜索GitHub用户

🧪 测试您的设置

  1. 直接测试命令:

    npx -y github-mcp-custom@1.0.20 stdio
    

    应输出:GitHub MCP Server running on stdio

  2. 使用Claude Desktop测试:

    • 更新配置后重启Claude Desktop
    • 尝试询问:“你能获取我的GitHub用户信息吗?”
    • Claude应能使用get_me工具

🔧 故障排除

常见问题

❌ “服务器断开连接”在Claude Desktop中

  • 确保您正在使用版本1.0.20或更高版本
  • 检查您的GitHub令牌是否有效且具有适当的范围
  • 验证JSON配置是有效的(没有尾随逗号)

❌ “命令未找到”

  • 确保已安装Node.js并在PATH中
  • 尝试运行npm --version以验证npm是否正常工作

❌ “身份验证失败”

  • 验证您的GitHub个人访问令牌是否正确
  • 检查令牌是否具有所需的范围(reporead:orguser
  • 确保令牌未过期

❌ “方法未找到”错误

  • 更新到最新版本:npm install -g github-mcp-custom@latest

📁 文件结构

github-mcp-custom/
├── bin/
│   └── index.js               # Node.js启动器
├── dist/
│   ├── github-mcp-server.exe  # Windows二进制文件
│   ├── github-mcp-server-macos # macOS二进制文件  
│   └── github-mcp-server-linux # Linux二进制文件
├── package.json
└── README.md

🖥️ 平台兼容性

平台测试备注
✅ Windows 10/11✔️不需要Docker或Go
✅ Linux (Ubuntu)✔️开箱即用
✅ macOS (Intel/M1)✔️与NPX轻松配合

📈 版本历史

  • v1.0.20 - 修复了Claude Desktop协议兼容性
  • v1.0.16 - 上一版本(存在连接问题)
  • v1.0.x - 更早的版本

👷 构建方式

  1. 克隆官方GitHub MCP服务器存储库。
  2. 更新协议版本以实现Claude Desktop兼容性。
  3. 编译所有平台的Go二进制文件:
    GOOS=linux GOARCH=amd64 go build -o dist/github-mcp-server-linux ./cmd/github-mcp-server
    GOOS=darwin GOARCH=amd64 go build -o dist/github-mcp-server-macos ./cmd/github-mcp-server  
    GOOS=windows GOARCH=amd64 go build -o dist/github-mcp-server.exe ./cmd/github-mcp-server
    
  4. 创建一个跨平台执行的Node.js包装脚本(bin/index.js)。
  5. 设置NPM兼容的package.json,具有正确的bin配置。
  6. 发布带有协议兼容性修复的包。

🤝 贡献

欢迎贡献!请访问我们的GitHub存储库:

🔗 存储库: https://github.com/idletoaster/github-mcp-custom

开发设置

  1. 分叉并克隆存储库
  2. 安装依赖项:go mod tidy
  3. 编译二进制文件:npm run build
  4. 本地测试:node bin/index.js stdio
  5. 进行更改并测试
  6. 提交拉取请求

📜 许可证

MIT许可证

版权所有 (c) 2025 idletoaster

在此授权任何人免费获得此软件及其相关文档文件(以下简称“软件”),在不受限制的情况下处理软件,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许向其提供软件的人这样做,但需遵守以下条件:

上述版权声明和本许可通知必须包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不附带任何形式的保证,无论是明示的还是默示的,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人都不对因软件或软件的使用或其它交易而产生的任何索赔、损害或其他责任承担任何责任,无论是在合同行为、侵权行为或其他行为中。