GitHub MCP跨平台包装器

一个通过npx运行的跨平台GitHub MCP服务包装器,无需Docker或手动编译即可在Windows、Linux和macOS上使用。

  • by idletoaster
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 idletoaster/github-mcp-custom

使用说明

GitHub MCP自定义(跨平台NPX包装器)

的自定义打包版本 GitHub MCP服务器 无缝运行 视窗, Linux,以及 macOS 通过 npx。这将Go二进制文件封装在Node.js启动器中,因此使用Claude Desktop的开发人员可以使用GitHub MCP功能,而无需Docker或手动编译。


📦 为什么存在

GitHub MCP服务器需要:

  • Docker或
  • 手动Go编译。

这些选项在Linux/macOS上运行良好,但是 破坏或复杂化Windows使用.

此软件包使服务器可通过以下方式使用 npx,消除了以下需求:

  • 码头工人
  • 开始安装
  • 自定义路径设置

🧠 这个包有什么作用

  • 提供跨平台 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 或更高版本,以获得最佳的克劳德桌面兼容性。


🛠️ 先决条件

  • Node.js 必须安装v14或更高版本
  • 具有适当作用域的活动GitHub个人访问令牌:
    • repo (用于访问存储库)
    • read:org (用于组织访问)
    • user (供用户参考)

🔐 创建GitHub个人访问令牌

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

🖥️ Claude桌面配置

视窗

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

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

macOS

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

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

Linux

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

{
  "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 -Fork存储库
  • 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 -获取公关评论
  • 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用户信息吗?”
    • 克劳德应该能够使用 get_me 工具

🔧 故障排除

常见问题

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

  • 确保您使用的是版本 1.0.20 或以后
  • 检查您的GitHub令牌是否有效并且具有适当的作用域
  • 验证JSON配置是否有效(没有尾随逗号)

❌ “找不到命令”

  • 确保Node.js已安装并位于您的PATH中
  • 试着跑步 npm --version 验证npm是否正常工作

❌ “身份验证失败”

  • 验证您的GitHub个人访问令牌是否正确
  • 检查令牌是否具有所需的作用域(repo, read:org, user)
  • 确保令牌未过期

❌ “找不到方法”错误

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

📁 文件结构

github-mcp-custom/
├── bin/
│   └── index.js               # Node.js launcher
├── dist/
│   ├── github-mcp-server.exe  # Windows binary
│   ├── github-mcp-server-macos # macOS binary  
│   └── github-mcp-server-linux # Linux binary
├── package.json
└── README.md

🖥️ 平台兼容性

平台 已测试 备注
✅ Windows 10/11 ✔️ 无需Docker或Go
✅ Linux(Ubuntu) ✔️ 开箱即用
✅ macOS(英特尔/M1) ✔️ 轻松使用NPX

📈 版本历史记录

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

👷 这是如何建造的

  1. 克隆了GitHub MCP Server官方存储库。
  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 具有适当的料箱配置。
  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

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

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

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而产生或与之相关的任何索赔、损害赔偿或其他责任承担责任,无论是在合同、侵权或其他诉讼中。