GitHub Enterprise MCP 服务器
用于与 GitHub Enterprise API 集成的 MCP(模型上下文协议)服务器。该服务器提供 MCP 接口,方便用户在 Cursor 中轻松访问 GitHub Enterprise 的仓库信息、问题、PR 等。
兼容性
该项目主要针对 GitHub Enterprise Server 环境设计,但也适用于:
GitHub.com
GitHub 企业云
注意:某些企业特定功能(如许可证信息和企业统计信息)不适用于 GitHub.com 或 GitHub Enterprise Cloud。
Related MCP server: GitHub MCP Server Plus
主要特点
从 GitHub Enterprise 实例检索存储库列表
获取详细的存储库信息
列出存储库分支
查看文件和目录内容
管理问题和拉取请求
存储库管理(创建、更新、删除)
GitHub Actions 工作流管理
用户管理(列出、创建、更新、删除、暂停/取消暂停用户)
访问企业统计数据
增强的错误处理和用户友好的响应格式
入门
先决条件
Node.js 18 或更高版本
访问 GitHub Enterprise 实例
个人访问令牌(PAT)
Docker 安装和设置
选项 1:使用 Docker 运行
构建 Docker 镜像:
docker build -t github-enterprise-mcp .使用环境变量运行 Docker 容器:
docker run -p 3000:3000 \ -e GITHUB_TOKEN="your_github_token" \ -e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \ -e DEBUG=true \ github-enterprise-mcp
注意:Dockerfile 默认配置为使用
--transport http运行。如果需要更改此设置,可以覆盖以下命令:
选项 2:使用 Docker Compose
在项目根目录中创建一个包含所需环境变量的
.env文件:GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=true使用 Docker Compose 启动容器:
docker-compose up -d检查日志:
docker-compose logs -f停止容器:
docker-compose down
安装和设置
本地开发(使用并发模式)
对于具有自动重新编译和服务器重启功能的主动开发,建议使用此方法:
克隆存储库并安装所需的包:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install运行开发服务器:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run dev这将:
文件更改时自动编译 TypeScript 代码
编译文件更新后重新启动服务器
以 HTTP 模式运行服务器以进行基于 URL 的连接
使用 URL 模式连接到 Cursor,如下所述
生产的安装和设置
选项 1:使用 URL 模式(推荐用于本地开发)
此方法最稳定,推荐用于本地开发或测试:
克隆存储库并安装所需的包:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install构建项目:
npm run build chmod +x dist/index.js运行服务器:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" node dist/index.js --transport http --debug使用URL方式连接Cursor:
将以下内容添加到 Cursor 的
.cursor/mcp.json文件中:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
选项 2:作为全局命令安装(npm 链接)
此方法对于本地开发很有用:
选项 3:使用 npx(包发布时)
如果该包已发布到公共 npm 注册表:
与AI工具集成
克劳德桌面
将以下内容添加到您的claude_desktop_config.json中:
用您的实际值替换YOUR_GITHUB_TOKEN和YOUR_GITHUB_ENTERPRISE_URL 。
光标
推荐:URL模式(最稳定)
为了在 Cursor 中最可靠的操作,建议使用 URL 模式:
在单独的终端窗口中启动服务器:
cd /path/to/github-enterprise-mcp GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" GITHUB_TOKEN="your_github_token" node dist/index.js --transport http配置 Cursor 的 MCP 设置:
打开 Cursor 并转到**“设置”**
导航至AI > MCP 服务器
编辑你的
.cursor/mcp.json文件:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }重新启动 Cursor 以应用更改
替代方案:命令模式
或者,您可以将 Cursor 配置为使用命令模式,尽管 URL 模式更可靠:
打开 Cursor 并转到**“设置”**
导航至AI > MCP 服务器
点击**“添加 MCP 服务器”**
输入以下详细信息:
名称:GitHub Enterprise
命令:
npx参数:
@ddukbg/github-enterprise-mcp环境变量:
GITHUB_ENTERPRISE_URL:您的 GitHub Enterprise API URLGITHUB_TOKEN:您的 GitHub 个人访问令牌
或者,您可以手动编辑.cursor/mcp.json文件以包含:
语言配置
此 MCP 服务器支持英语和韩语。您可以使用以下方式配置语言:
环境变量
命令行参数
如果未指定,默认语言为英语。
HTTP 模式中的附加选项
--debug:启用调试日志记录--github-enterprise-url <URL>:设置 GitHub Enterprise API URL--token <TOKEN>:设置 GitHub 个人访问令牌--language <LANG>:设置语言(en 或 ko,默认值:en)
可用的 MCP 工具
该 MCP 服务器提供以下工具:
工具名称 | 描述 | 参数 | 所需的 PAT 权限 |
| 检索用户或组织的存储库列表 |
:用户名/组织名称
:是否为组织
:存储库类型
:排序条件
:页码
:每页项目数 |
|
| 获取详细的存储库信息 |
:存储库所有者
:存储库名称 |
|
| 列出存储库的分支 |
:仓库所有者
:仓库名称
:是否仅显示受保护的分支
:页码
:每页项目数 |
|
| 检索文件或目录内容 |
:存储库所有者
:存储库名称
:文件/目录路径
:分支/提交(可选) |
|
| 列出存储库中的拉取请求 |
:仓库所有者
:仓库名称
:PR 状态 filter
:排序标准
:排序方向
:页码
:每页项目数 |
|
| 获取拉取请求详细信息 |
:仓库所有者
:仓库名称
:拉取请求编号 |
|
| 创建新的拉取请求 |
:仓库所有者
:仓库名称
:PR 标题
:头部分支
:基础分支
:PR 描述
:创建为草稿 PR |
|
| 合并拉取请求 |
:仓库所有者
:仓库名称
:拉取请求编号
:合并方法
:提交标题
:提交消息 |
|
| 列出存储库中的问题 |
:仓库所有者
:仓库名称
:问题状态 filter
:排序标准
:排序方向
:页码
:每页项目数 |
|
| 获取问题详细信息 |
:存储库所有者
:存储库名称
:发行编号 |
|
| 列出对问题或拉取请求的评论 |
:存储库所有者
:存储库名称
:问题/PR 编号
:页码
:每页项目数 |
|
| 创建新问题 |
:存储库所有者
:存储库名称
:问题标题
:问题正文内容
:标签名称数组
:用户登录数组
:里程碑 ID |
|
| 创建新的存储库 |
:仓库名称
:仓库描述
:是否私有
:使用 README 初始化
:添加 .gitignore
:添加许可证
:组织名称 |
|
| 更新存储库设置 |
:存储库所有者
:存储库名称
:新描述
:更改隐私
:更改默认分支
:启用/禁用问题
:启用/禁用项目
:启用/禁用 wiki
:存档/取消存档 |
|
| 删除存储库 |
:仓库所有者
:仓库名称
:确认(必须为真) |
|
| 列出 GitHub Actions 工作流程 |
:存储库所有者
:存储库名称
:页码
:每页项目数 |
|
| 列出工作流程运行 |
:存储库所有者
:存储库名称
:工作流 ID/文件名
:按分支过滤
:按状态过滤
:页码
:每页项目数 |
|
| 触发工作流 |
:存储库所有者
:存储库名称
:工作流 ID/文件名
:Git 参考
:工作流输入 |
|
| 获取 GitHub Enterprise 许可证信息 | - | 需要 site_admin(管理员)帐户 |
| 获取 GitHub Enterprise 系统统计信息 | - | 需要 site_admin(管理员)帐户 |
注意:对于企业专用工具(
get-license-info和get-enterprise-stats),需要具有站点管理员权限的用户。建议使用经典个人访问令牌 (Classic Personal Access Token),因为细粒度令牌可能不支持这些企业级权限。
使用 Cursor 中的工具
设置好 MCP 服务器并配置 Cursor 连接到该服务器后,您就可以直接在 Cursor 的 AI 聊天中使用 GitHub Enterprise 工具。以下是一些示例:
列出存储库
获取存储库信息
列出拉取请求
管理问题
使用存储库内容
存储库管理
用户管理(仅限企业)
这些功能专为 GitHub Enterprise Server 环境设计,需要管理权限:
API 改进
灵活的 API URL 配置(支持各种环境变量和命令行参数)
增强错误处理和超时管理
用户友好的响应格式和消息
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
国际学习中心