GitHub MCP Server

GitHub MCP Server

site icon
2025.04.05 0
GoGitHub 集成开发工具团队协作开发效率交流协作
GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,提供全面的 GitHub CLI 集成功能。它实现了 GitHub CLI 的所有主要功能,允许 AI 助手与 GitHub 仓库、问题、拉取请求、文件等进行交互。该服务器具有高效、安全、多平台支持等特点,适用于开发者和团队协作场景。
View on GitHub

Overview

基本能力

产品定位

GitHub MCP Server 是一个为 AI 助手提供 GitHub 操作能力的中间件,通过 MCP 协议实现与 GitHub 的无缝集成。

核心功能

  • 全功能 GitHub CLI 实现:完整实现了 GitHub CLI 的核心功能
  • 安全机制:仅在 GitHub 个人访问令牌的权限范围内执行操作
  • 高效性能:使用 Go 编写,具有高性能和低资源消耗
  • 独立二进制:无需运行时依赖
  • 多平台支持:支持 macOS、Linux 和 Windows

适用场景

  • 开发者通过 AI 助手管理 GitHub 仓库
  • 团队协作自动化处理问题和拉取请求
  • 代码搜索和文件操作自动化
  • GitHub Actions 工作流管理

工具列表

仓库管理

  • get_repository: 获取仓库详情
  • list_repositories: 列出用户仓库
  • create_repository: 创建新仓库

问题管理

  • get_issue: 获取问题详情
  • list_issues: 列出仓库问题
  • create_issue: 创建新问题
  • close_issue: 关闭现有问题

拉取请求管理

  • get_pull_request: 获取拉取请求详情
  • list_pull_requests: 列出仓库拉取请求
  • create_pull_request: 创建新拉取请求
  • merge_pull_request: 合并现有拉取请求

GitHub Actions

  • list_workflows: 列出仓库工作流
  • list_workflow_runs: 列出工作流运行
  • trigger_workflow: 触发工作流

文件操作

  • get_file_content: 获取文件内容
  • create_file: 创建新文件
  • update_file: 更新现有文件
  • delete_file: 删除文件

搜索操作

  • search_code: 在仓库中搜索代码
  • search_issues: 搜索问题和拉取请求

常见问题解答

  • 安全性:服务器仅在令牌权限范围内操作,不存储令牌
  • 权限控制:建议创建仅包含必要权限的令牌
  • 运行环境:建议在本地运行而非远程服务器

使用教程

使用依赖

需要安装 Go 环境(如果从源码构建)

安装教程

下载二进制文件

Releases 页面下载预构建的二进制文件

从源码构建

# 克隆仓库
git clone https://github.com/your-username/github-mcp-server-go.git
cd github-mcp-server-go

# 构建二进制文件
go build -o github-mcp-server

# 将二进制文件移动到 PATH 目录(可选)
sudo mv github-mcp-server /usr/local/bin/

调试方式

获取 GitHub 个人访问令牌

  1. 访问 GitHub Settings > Developer settings > Personal access tokens
  2. 创建具有 repo 范围(完整仓库访问)或 public_repo(仅公共仓库访问)的新令牌
  3. 复制生成的令牌供 MCP 服务器使用

运行服务器

# 使用命令行参数提供令牌
./github-mcp-server -token YOUR_GITHUB_TOKEN

# 或使用环境变量提供令牌
export GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_TOKEN
./github-mcp-server

与 Claude Desktop 集成

  1. 编辑 Claude Desktop 配置文件
  2. 添加 GitHub MCP Server 配置
  3. 重启 Claude Desktop 应用更改

许可证

该项目遵循 MIT 开源许可条款。