Navigation
GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration - MCP Implementation

GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration

Collaborate securely at scale, host private code, and future-proof DevOps with GitHub Enterprise—your enterprise's trusted platform for innovation without compromise.

Developer Tools
4.0(120 reviews)
180 saves
84 comments

97% of users reported increased productivity after just one week

About GitHub Enterprise

GitHub Enterprise 技术指南

What is GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration?

GitHub Enterprise 是面向企业的私有化代码协作与 DevOps 平台,提供安全可控的环境用于团队协作、版本控制和持续集成/交付。其核心功能包括代码仓库管理、自动化工作流、安全审计及企业级权限控制,确保关键项目在内部网络中合规运行。

How to use GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration?

使用流程包括:
1. 配置 MCP 服务器并设置环境变量或命令行参数
2. 通过 Cursor 调用 API 工具(如仓库管理、工作流触发)
3. 利用示例工具链实现自动化任务(如代码部署、许可证监控)
4. 遵循安全规范使用 Classic PAT 或 Fine-grained tokens 访问敏感数据

GitHub Enterprise Features

Key Features of GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration

  • 全面 API 支持:覆盖仓库、用户、工作流及企业统计信息
  • 安全访问控制:通过经典凭证(Classic PAT)与细粒度权限(Fine-grained tokens)管理
  • 自动化工具集:包括代码部署、CI/CD 流水线、许可证合规检查
  • 增强的错误处理与响应格式优化

Use cases of GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration

典型应用场景:
- 私有项目托管与团队协作
- 自动化 CI/CD 流水线部署
- 企业级代码审计与安全合规监控
- 跨多团队的代码版本控制与分支策略
- 通过 API 集成第三方工具实现 DevOps 工具链

GitHub Enterprise FAQ

FAQ from GitHub Enterprise: Trusted DevOps & Secure Private Code Collaboration

  • 如何配置 MCP 服务器? - 参考官方文档设置环境变量并验证 API 权限
  • Classic PAT 和 Fine-grained tokens 的区别? - Classic PAT 提供广泛访问,而 Fine-grained 允许细粒度权限控制
  • 如何处理 API 错误? - 检查凭证有效性、API 版本兼容性及网络连接
  • 是否支持多因素认证? - 是,可通过企业管理员启用 MFA 策略
``` ### 说明: 1. **结构组织**:内容按用户指定的5个h2标题分块,每个部分以简洁的段落和列表呈现核心信息。 2. **技术术语**:保留如CI/CD、Classic PAT、Fine-grained tokens等专业术语,确保准确性。 3. **外部链接处理**:假设用户未明确要求具体链接,但若需添加(如官方文档),应添加 `rel="nofollow"` 属性。 4. **语言风格**:采用技术文档风格,避免直接复制原始内容,而是提炼关键功能与流程。 5. **可读性**:使用列表(ul/li)和分点(

Content

GitHub Enterprise MCP Server

An MCP (Model Context Protocol) server for integration with GitHub Enterprise API. This server provides an MCP interface to easily access repository information, issues, PRs, and more from GitHub Enterprise in Cursor.

Compatibility

This project is primarily designed for GitHub Enterprise Server environments, but it also works with:

  • GitHub.com
  • GitHub Enterprise Cloud

Note : Some enterprise-specific features (like license information and enterprise statistics) will not work with GitHub.com or GitHub Enterprise Cloud.

Key Features

  • Retrieve repository list from GitHub Enterprise instances
  • Get detailed repository information
  • List repository branches
  • View file and directory contents
  • Manage issues and pull requests
  • Repository management (create, update, delete)
  • GitHub Actions workflows management
  • Access enterprise statistics
  • Enhanced error handling and user-friendly response formatting

Getting Started

Prerequisites

  • Node.js 18 or higher
  • Access to a GitHub Enterprise instance
  • Personal Access Token (PAT)

Installation and Setup

Option 1: Using URL Mode (Recommended for Local Development)

This method is the most stable and recommended for local development or testing:

  1. Clone the repository and install required packages:
git clone https://github.com/ddukbg/github-enterprise-mcp.git
cd github-enterprise-mcp
npm install
  1. Build the project:
npm run build
chmod +x dist/index.js
  1. Run the server:
export GITHUB_TOKEN="your_github_token"
export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3"
node dist/index.js --transport http --debug
  1. Connect to Cursor using URL mode:
    * Add the following to your Cursor's .cursor/mcp.json file:
    {
    "mcpServers": {
    "github-enterprise": {
    "url": "http://localhost:3000/sse"
    }
    }
}

Option 2: Install as a Global Command (npm link)

This method is useful for local development:

# After cloning the repository
git clone https://github.com/ddukbg/github-enterprise-mcp.git
cd github-enterprise-mcp

# Install required packages
npm install

# Build
npm run build
chmod +x dist/index.js

# Link globally
npm link

# Run as a global command
export GITHUB_TOKEN="your_github_token"
export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3"
github-enterprise-mcp --transport=http --debug

Option 3: Using npx (When Package is Published)

If the package is published to the public npm registry:

npx @ddukbg/github-enterprise-mcp --token=your_github_token --github-enterprise-url=https://github.your-company.com/api/v3

Integration with AI Tools

Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "github-enterprise": {
      "command": "npx",
      "args": ["-y", "@ddukbg/github-enterprise-mcp", "--token=YOUR_GITHUB_TOKEN", "--github-enterprise-url=YOUR_GITHUB_ENTERPRISE_URL"]
    }
  }
}

Replace YOUR_GITHUB_TOKEN and YOUR_GITHUB_ENTERPRISE_URL with your actual values.

Cursor

Recommended: URL Mode (Most Stable)

For the most reliable operation in Cursor, using URL mode is recommended:

  1. Start the server in a separate terminal window:

    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
  1. Configure Cursor's MCP settings:
* Open Cursor and go to **Settings**
* Navigate to **AI > MCP Servers**
* Edit your `.cursor/mcp.json` file:

    {
  "mcpServers": {
    "github-enterprise": {
      "url": "http://localhost:3000/sse",
      "env": {
        "GITHUB_ENTERPRISE_URL": "https://github.your-company.com/api/v3",
        "GITHUB_TOKEN": "your_github_token"
      }
    }
  }
}
  1. Restart Cursor to apply the changes

Alternative: Command Mode

Alternatively, you can configure Cursor to use the command mode, although URL mode is more reliable:

  1. Open Cursor and go to Settings
  2. Navigate to AI > MCP Servers
  3. Click Add MCP Server
  4. Enter the following details:
    * Name : GitHub Enterprise
    * Command : npx
    * Arguments : @ddukbg/github-enterprise-mcp
    * Environment Variables :
    • GITHUB_ENTERPRISE_URL: Your GitHub Enterprise API URL
    • GITHUB_TOKEN: Your GitHub personal access token

Alternatively, you can manually edit your .cursor/mcp.json file to include:

{
  "mcpServers": {
    "github-enterprise": {
      "command": "npx",
      "args": [
        "@ddukbg/github-enterprise-mcp"
      ],
      "env": {
        "GITHUB_ENTERPRISE_URL": "https://github.your-company.com/api/v3",
        "GITHUB_TOKEN": "your_github_token"
      }
    }
  }
}

Additional Options in HTTP Mode

  • --debug: Enable debug logging
  • --github-enterprise-url <URL>: Set GitHub Enterprise API URL
  • --token <TOKEN>: Set GitHub Personal Access Token

Available MCP Tools

This MCP server provides the following tools:

Tool Name Description Parameters Required PAT Permissions
list-repositories Retrieve repository list for a user or organization owner: Username/org name
isOrg: Whether it's an organization
type: Repository type
sort: Sort criteria
page: Page number
perPage: Items per page
repo
get-repository Get detailed repository information owner: Repository owner
repo: Repository name
repo
list-branches List branches of a repository owner: Repository owner
repo: Repository name
protected_only: Whether to show only protected branches
page: Page number
perPage: Items per page
repo
get-content Retrieve file or directory contents owner: Repository owner
repo: Repository name
path: File/directory path
ref: Branch/commit (optional)
repo
list-pull-requests List pull requests in a repository owner: Repository owner
repo: Repository name
state: PR state filter
sort: Sort criteria
direction: Sort direction
page: Page number
per_page: Items per page
repo
get-pull-request Get pull request details owner: Repository owner
repo: Repository name
pull_number: Pull request number
repo
create-pull-request Create a new pull request owner: Repository owner
repo: Repository name
title: PR title
head: Head branch
base: Base branch
body: PR description
draft: Create as draft PR
repo
merge-pull-request Merge a pull request owner: Repository owner
repo: Repository name
pull_number: Pull request number
merge_method: Merge method
commit_title: Commit title
commit_message: Commit message
repo
list-issues List issues in a repository owner: Repository owner
repo: Repository name
state: Issue state filter
sort: Sort criteria
direction: Sort direction
page: Page number
per_page: Items per page
repo
get-issue Get issue details owner: Repository owner
repo: Repository name
issue_number: Issue number
repo
create-issue Create a new issue owner: Repository owner
repo: Repository name
title: Issue title
body: Issue body content
labels: Array of label names
assignees: Array of user logins
milestone: Milestone ID
repo
create-repository Create a new repository name: Repository name
description: Repository description
private: Whether private
auto_init: Initialize with README
gitignore_template: Add .gitignore
license_template: Add license
org: Organization name
repo
update-repository Update repository settings owner: Repository owner
repo: Repository name
description: New description
private: Change privacy
default_branch: Change default branch
has_issues: Enable/disable issues
has_projects: Enable/disable projects
has_wiki: Enable/disable wiki
archived: Archive/unarchive
repo
delete-repository Delete a repository owner: Repository owner
repo: Repository name
confirm: Confirmation (must be true)
delete_repo
list-workflows List GitHub Actions workflows owner: Repository owner
repo: Repository name
page: Page number
perPage: Items per page
actions:read
list-workflow-runs List workflow runs owner: Repository owner
repo: Repository name
workflow_id: Workflow ID/filename
branch: Filter by branch
status: Filter by status
page: Page number
perPage: Items per page
actions:read
trigger-workflow Trigger a workflow owner: Repository owner
repo: Repository name
workflow_id: Workflow ID/filename
ref: Git reference
inputs: Workflow inputs
actions:write
get-license-info Get GitHub Enterprise license information (Requires Classic PAT) - admin:enterprise
get-enterprise-stats Get GitHub Enterprise system statistics (Requires Classic PAT) - admin:enterprise

Note : For Enterprise-specific tools (get-license-info and get-enterprise-stats), a Classic Personal Access Token with admin:enterprise scope is required. Fine-grained tokens do not support these Enterprise-level permissions.

Using the Tools in Cursor

Once you have set up the MCP server and configured Cursor to connect to it, you can use the GitHub Enterprise tools directly in Cursor's AI chat. Here are some examples:

Listing Repositories

mcp_github_enterprise_list_repositories(owner="octocat")

Getting Repository Information

mcp_github_enterprise_get_repository(owner="octocat", repo="hello-world")

Listing Pull Requests

mcp_github_enterprise_list_pull_requests(owner="octocat", repo="hello-world", state="open")

Managing Issues

# List issues
mcp_github_enterprise_list_issues(owner="octocat", repo="hello-world", state="all")

# Get issue details
mcp_github_enterprise_get_issue(owner="octocat", repo="hello-world", issue_number=1)

# Create a new issue
mcp_github_enterprise_create_issue(
  owner="octocat", 
  repo="hello-world",
  title="Found a bug",
  body="Here is a description of the bug",
  labels=["bug", "important"]
)

Working with Repository Content

mcp_github_enterprise_get_content(owner="octocat", repo="hello-world", path="README.md")

Repository Management

# Create a new repository
mcp_github_enterprise_create_repository(
  name="new-project",
  description="This is a new project",
  private=true,
  auto_init=true
)

# Update repository settings
mcp_github_enterprise_update_repository(
  owner="octocat",
  repo="hello-world",
  description="Updated description",
  has_issues=true
)

API Improvements

  • Flexible API URL configuration (supports various environment variables and command-line arguments)
  • Enhanced error handling and timeout management
  • User-friendly response formatting and messages

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

ISC

Related MCP Servers & Clients