用于 GitHub API 的 MCP 服务器,支持文件操作、仓库管理、搜索功能等。
本指南将帮助您安装并配置 Cline 中的 GitHub Enterprise MCP 服务器,使您能够直接通过 Cline 使用 GitHub API 功能。
git clone https://github.com/yourusername/github-enterprise-mcp.git
cd github-enterprise-mcp
npm install
npm run build
这将创建一个包含编译后的 JavaScript 文件的 dist 目录。
repo 范围(“私有存储库的完全控制”)的令牌
public_repo 范围打开 VS Code
在以下位置找到 Cline MCP 设置文件:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json将 GitHub Enterprise MCP 服务器配置添加到 mcpServers 对象:
{
"mcpServers": {
"github-enterprise": {
"command": "node",
"args": [
"/绝对路径/github-enterprise-mcp/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "您的个人访问令牌",
"GITHUB_API_URL": "https://api.github.com" // 对于 GitHub.com
// 对于 GitHub Enterprise,请使用您的实例 URL,例如 "https://github.yourdomain.com/api/v3"
},
"disabled": false,
"autoApprove": []
}
}
}
将 /绝对路径/github-enterprise-mcp/dist/index.js 替换为您构建的 index.js 文件的绝对路径。
在以下位置找到 Claude 桌面配置文件:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json将 GitHub Enterprise MCP 服务器配置添加到 mcpServers 对象:
{
"mcpServers": {
"github-enterprise": {
"command": "node",
"args": [
"/绝对路径/github-enterprise-mcp/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "您的个人访问令牌",
"GITHUB_API_URL": "https://api.github.com" // 对于 GitHub.com
// 对于 GitHub Enterprise,请使用您的实例 URL,例如 "https://github.yourdomain.com/api/v3"
},
"disabled": false,
"autoApprove": []
}
}
}
配置好 MCP 设置后,重启 Cline(VS Code 或 Claude 桌面应用)以应用更改。
要验证 GitHub Enterprise MCP 服务器是否正确安装和配置,您可以要求 Cline 使用其中一个 GitHub 工具:
你可以使用 GitHub Enterprise MCP 服务器搜索带有关键词 "react" 的仓库吗?
Cline 应该能够使用 search_repositories 工具来搜索带有关键词 "react" 的仓库。
为了获得交互式的安装体验,将以下文本复制粘贴到 Cline 中,它将引导您完成安装过程:
我想让你帮我安装 GitHub Enterprise MCP 服务器。这是你需要做的事情:
1. 首先,解释什么是 GitHub Enterprise MCP 服务器以及它将赋予你的能力。
2. 引导我完成安装过程:
- 帮助我克隆仓库(如果我还没有这样做)
- 帮助我安装依赖项并构建项目
- 如果我没有,指导我创建一个 GitHub 个人访问令牌
- 帮助我在 VS Code 或 Claude 桌面中配置 MCP 设置
- 验证安装是否正常工作
3. 展示一些例子,说明如何在安装后使用 GitHub Enterprise MCP 服务器。
请从解释什么是 GitHub Enterprise MCP 服务器以及它将允许你为我做什么开始。
安装后,您可以要求 Cline 直接执行 GitHub 操作,例如:
如果您遇到 GitHub Enterprise MCP 服务器的问题:
您可以通过添加 GITHUB_API_VERSION 环境变量来指定 GitHub API 版本:
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "您的个人访问令牌",
"GITHUB_API_URL": "https://api.github.com",
"GITHUB_API_VERSION": "2022-11-28"
}
对于使用不同身份验证方法的 GitHub Enterprise 实例,您可能需要提供额外的配置。参阅 Octokit 文档 获取更多信息。
create_or_update_file
owner (字符串):仓库拥有者(用户名或组织)repo (字符串):仓库名称path (字符串):创建或更新文件的路径content (字符串):文件内容message (字符串):提交信息branch (字符串):创建或更新文件的分支sha (可选字符串):被替换文件的 SHA(用于更新)push_files
owner (字符串):仓库拥有者repo (字符串):仓库名称branch (字符串):推送至的分支files (数组):要推送的文件,每个文件都有 path 和 contentmessage (字符串):提交信息search_repositories
query (字符串):搜索查询page (可选数字):分页的页面编号perPage (可选数字):每页的结果数(最大 1 00)create_repository
name (字符串):仓库名称description (可选字符串):仓库描述private (可选布尔值):仓库是否为私有autoInit (可选布尔值):初始化时带有 READMEget_file_contents
owner (字符串):仓库拥有者repo (字符串):仓库名称path (字符串):文件/目录的路径branch (可选字符串):获取内容的分支create_issue
owner (字符串):仓库拥有者repo (字符串):仓库名称title (字符串):问题标题body (可选字符串):问题描述assignees (可选字符串数组):分配给的用户名labels (可选字符串数组):添加的标签milestone (可选数字):里程碑编号create_pull_request
owner (字符串):仓库拥有者repo (字符串):仓库名称title (字符串):拉取请求标题body (可选字符串):拉取请求描述head (字符串):包含更改的分支base (字符串):合并到的分支draft (可选布尔值):作为草稿拉取请求创建maintainer_can_modify (可选布尔值):允许维护者编辑fork_repository
owner (字符串):仓库拥有者repo (字符串):仓库名称organization (可选字符串):分叉到的组织create_branch
owner (字符串):仓库拥有者repo (字符串):仓库名称branch (字符串):新分支的名称from_branch (可选字符串):源分支(默认为仓库默认)list_issues
owner (字符串):仓库拥有者repo (字符串):仓库名称state (可选字符串):按状态过滤('open','closed','all')labels (可选字符串数组):按标签过滤sort (可选字符串):排序字段('created','updated','comments')direction (可选字符串):排序方向('asc','desc')since (可选字符串):按日期过滤(ISO 8601 时间戳)page (可选数字):页面编号per_page (可选数字):每页的结果数update_issue
owner (字符串):仓库拥有者repo (字符串):仓库名称issue_number (数字):要更新的问题编号title (可选字符串):新标题body (可选字符串):新描述state (可选字符串):新状态('open' 或 'closed')labels (可选字符串数组):新标签assignees (可选字符串数组):新分配人milestone (可选数字):新里程碑编号add_issue_comment
owner (字符串):仓库拥有者repo (字符串):仓库名称issue_number (数字):要评论的问题编号body (字符串):评论文本search_code
q (字符串):使用 GitHub 代码搜索语法的搜索查询sort (可选字符串):排序字段(只有 'indexed')order (可选字符串):排序顺序('asc' 或 'desc')per_page (可选数字):每页的结果数(最大 100)page (可选数字):页面编号search_issues
q (字符串):使用 GitHub 问题搜索语法的搜索查询sort (可选字符串):排序字段(评论、反应、创建等)order (可选字符串):排序顺序('asc' 或 'desc')per_page (可选数字):每页的结果数(最大 100)page (可选数字):页面编号search_users
q (字符串):使用 GitHub 用户搜索语法的搜索查询sort (可选字符串):排序字段(关注者、仓库、加入)order (可选字符串):排序顺序('asc' 或 'desc')per_page (可选数字):每页的结果数(最大 100)page (可选数字):页面编号list_commits
owner (字符串):仓库拥有者repo (字符串):仓库名称page (可选字符串):页面编号per_page (可选字符串):每页的记录数sha (可选字符串):分支名称get_issueowner (字符串):仓库拥有者repo (字符串):仓库名称issue_number (数字):要检索的问题编号get_pull_requestowner (字符串):仓库拥有者repo (字符串):仓库名称pull_number (数字):拉取请求编号list_pull_requestsowner (字符串):仓库拥有者repo (字符串):仓库名称state (可选字符串):按状态过滤('open','closed','all')head (可选字符串):按头用户/组织和分支过滤base (可选字符串):按基础分支过滤sort (可选字符串):排序字段('created','updated','popularity','long-running')direction (可选字符串):排序方向('asc','desc')per_page (可选数字):每页的结果数(最大 100)page (可选数字):页面编号create_pull_request_reviewowner (字符串):仓库拥有者repo (字符串):仓库名称pull_number (数字):拉取请求编号body (字符串):审查评论文本event (字符串):审查动作('APPROVE','REQUEST_CHANGES','COMMENT')commit_id (可选字符串):要审查的提交的 SHAcomments (可选数组):行特定评论,每个评论都有:
path (字符串):文件路径position (数字):差异中的行位置body (字符串):评论文本merge_pull_requestowner (字符串):仓库拥有者repo (字符串):仓库名称pull_number (数字):拉取请求编号commit_title (可选字符串):合并提交的标题commit_message (可选字符串):合并提交的额外细节merge_method (可选字符串):