项目简介
GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它允许大型语言模型 (LLM) 通过标准化的 JSON-RPC 接口与 GitHub 进行交互。该服务器用 Go 语言开发,旨在简化 LLM 应用与 GitHub 数据的集成,提供丰富的 GitHub API 访问能力。
主要功能点
- 全面的 GitHub API 访问: 提供一系列工具,允许 LLM 客户端搜索、读取和修改 GitHub 资源,包括代码仓库、Issue、Pull Request、文件、分支、Commit、GitHub Actions 等。
- 便捷的安装配置: 提供 'setup' 命令,可以自动完成服务器的安装和配置,并与 Cline 和 Claude Desktop 等 AI 助手工具集成。
- 灵活的安全控制: 支持通过命令行参数控制写访问权限,默认禁用写操作,并允许细粒度地配置工具的自动批准策略,保障安全性。
安装步骤
- 安装 Go 环境: 确保已安装 Go 1.23 或更高版本。
- 获取 GitHub Personal Access Token: 创建一个具有适当 GitHub API 权限的 Personal Access Token,并将其设置为环境变量 'GITHUB_PERSONAL_ACCESS_TOKEN'。
- 下载或构建:
- 下载预编译版本: 从 GitHub Releases 页面下载适用于您平台的预编译二进制文件。
- 从源码构建: 使用 'git clone https://github.com/geropl/github-mcp-go.git' 克隆仓库,然后使用 'go build -o github-mcp-go .' 构建。
- 设置 MCP 服务器: 运行 './github-mcp-go setup' 命令,根据您的 AI 助手工具和需求配置服务器。
服务器配置
MCP 服务器是为 MCP 客户端设计的,以下是一个典型的 MCP 客户端配置示例(JSON 格式),用于连接到 GitHub MCP Server:
{ "serverName": "github", "command": "/path/to/github-mcp-go", // github-mcp-go 二进制文件的路径,例如 /home/user/mcp-servers/github-mcp-go "args": ["serve"], // 启动服务器的参数,默认为 "serve" "env": { // (可选) 环境变量 "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN" // (可选) GitHub Personal Access Token,也可以设置为全局环境变量 }, "autoApprove": [] // (可选) 自动批准的工具列表,例如 ["search_repositories", "get_file_contents"],或使用 "allow-read-only" 自动批准所有只读工具 }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "github"。
- 'command': 必须配置。指向 'github-mcp-go' 二进制文件的绝对路径。请根据实际安装位置修改。
- 'args': 必须配置。启动服务器的命令行参数,对于 GitHub MCP Server,通常设置为 '["serve"]' 即可。
- 'env': 可选配置。用于设置 MCP 服务器运行时的环境变量。
- 'GITHUB_PERSONAL_ACCESS_TOKEN': 可选配置。 GitHub Personal Access Token,用于 GitHub API 的身份验证。您也可以将此 Token 设置为全局环境变量,这样就无需在此处配置。
- 'autoApprove': 可选配置。用于配置工具的自动批准列表。
- 可以是一个包含工具名称字符串的数组,例如 '["search_repositories", "get_file_contents"]'。
- 可以使用特殊值 '"allow-read-only"' 自动批准所有只读工具。
注意:
- 请将 '/path/to/github-mcp-go' 替换为 'github-mcp-go' 二进制文件的实际路径。
- 您可以通过 'github-mcp-go setup' 命令自动配置 Cline 或 Claude Desktop 等 MCP 客户端工具。
- 建议将 'GITHUB_PERSONAL_ACCESS_TOKEN' 设置为全局环境变量,以避免在配置文件中明文存储敏感信息。
基本使用方法
- 启动服务器: 运行 './github-mcp-go serve' 命令启动 MCP 服务器。可以使用 '--write-access' 参数启用写操作,或使用 '--auto-approve' 参数配置自动批准工具。
- 配置 MCP 客户端: 在您的 MCP 客户端(如 AI 助手)中配置连接信息,指定服务器的启动命令和参数(参考上面的服务器配置)。
- 通过客户端调用工具: 使用 MCP 客户端提供的界面或 API,调用 GitHub MCP Server 提供的各种工具,例如 'search_repositories'、'get_issue'、'create_pull_request' 等,与 GitHub 进行交互。
信息
分类
开发者工具