GitHub Enterprise

by containerelic

13 stars
372 downloads
Not rated
GitHub

About

Bridges GitHub Enterprise with natural language interaction, enabling repository management, issue tracking, and code access for streamlined development workflows without leaving your assistant interface.

Details

Author
containerelic
Repository
ddukbg/github-enterprise-mcp
GitHub stars
13
Downloads
372
Categories
Productivity, Design, Developer Tools, AI, API, Knowledge Base
Tags
#analytics

- 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
- User management (list, create, update, delete, suspend/unsuspend users)
- Access enterprise statistics
- Enhanced error handling and user-friendly response formatting

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name GitHub Enterprise
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 @ddukbg/github-enterprise-mcp
    Environment
    • GITHUB_TOKEN your_github_token
    • GITHUB_ENTERPRISE_URL https://github.your-company.com/api/v3

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Build the Docker image:

    docker build -t github-enterprise-mcp .
    

2. Run the Docker container with environment variables:

    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
    

> Note: The Dockerfile is configured to run with --transport http by default. If you need to change this, you can override the command:

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 node dist/index.js --transport http --debug

This method is useful for local development:


npm install

This MCP server supports both English and Korean languages. You can configure the language using:

bash

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

list-repositories

Retrieve repository list for a user or organization. Parameters: owner (string), isOrg (boolean), type (string), sort (string), page (number), perPage (number)

get-repository

Get detailed repository information. Parameters: owner (string), repo (string)

list-branches

List branches of a repository. Parameters: owner (string), repo (string), protected_only (boolean), page (number), perPage (number)

get-content

Retrieve file or directory contents. Parameters: owner (string), repo (string), path (string), ref (optional string)

list-pull-requests

List pull requests in a repository. Parameters: owner (string), repo (string), state (string), sort (string), direction (string), page (number), per_page (number)

get-pull-request

Get pull request details. Parameters: owner (string), repo (string), pull_number (number)

create-pull-request

Create a new pull request. Parameters: owner (string), repo (string), title (string), head (string), base (string), body (string), draft (boolean)

merge-pull-request

Merge a pull request. Parameters: owner (string), repo (string), pull_number (number), merge_method (string), commit_title (string), commit_message (string)

list-issues

List issues in a repository. Parameters: owner (string), repo (string), state (string), sort (string), direction (string), page (number), per_page (number)

get-issue

Get issue details. Parameters: owner (string), repo (string), issue_number (number)

list-issue-comments

List comments on an issue or pull request. Parameters: owner (string), repo (string), issue_number (number), page (number), per_page (number)

create-issue

Create a new issue. Parameters: owner (string), repo (string), title (string), body (string), labels (array of strings), assignees (array of strings), milestone (number)

create-repository

Create a new repository. Parameters: name (string), description (string), private (boolean), auto_init (boolean), gitignore_template (string), license_template (string), org (string)

update-repository

Update repository settings. Parameters: owner (string), repo (string), description (string), private (boolean), default_branch (string), has_issues (boolean), has_projects (boolean), has_wiki (boolean), archived (boolean)

delete-repository

Delete a repository. Parameters: owner (string), repo (string), confirm (boolean)

list-workflows

List GitHub Actions workflows. Parameters: owner (string), repo (string), page (number), perPage (number)

list-workflow-runs

List workflow runs. Parameters: owner (string), repo (string), workflow_id (string), branch (string), status (string), page (number), perPage (number)

trigger-workflow

Trigger a workflow. Parameters: owner (string), repo (string), workflow_id (string), ref (string), inputs (object)

get-license-info

Get GitHub Enterprise license information. Parameters: None (Requires site_admin account)

get-enterprise-stats

Get GitHub Enterprise system statistics. Parameters: None (Requires site_admin account)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

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

GitHub Enterprise MCP Server

image

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
- User management (list, create, update, delete, suspend/unsuspend users)
- 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)

Docker Installation and Setup

Option 1: Running with Docker

1. Build the Docker image:

    docker build -t github-enterprise-mcp .
    

2. Run the Docker container with environment variables:

    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
    

> Note: The Dockerfile is configured to run with --transport http by default. If you need to change this, you can override the command:

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 node dist/index.js --transport http --debug

Option 2: Using Docker Compose

1. Create a .env file in the project root with the required environment variables:

    GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3
    GITHUB_TOKEN=your_github_token
    DEBUG=true
    

2. Start the container with Docker Compose:

    docker-compose up -d
    

3. Check the logs:

    docker-compose logs -f
    

4. Stop the container:

    docker-compose down
    

Installation and Setup

Local Development (Using Concurrent Mode)

This method is recommended for active development with automatic recompilation and server restarts:

1. Clone the repository and install required packages:

    git clone https://github.com/ddukbg/github-enterprise-mcp.git
    cd github-enterprise-mcp
    npm install
    

2. Run the development server:

    export GITHUB_TOKEN="your_github_token"
    export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3"
    npm run dev
    

This will:
- Compile TypeScript code automatically when files change
- Restart the server when compiled files are updated
- Run the server in HTTP mode for URL-based connections

3. Connect to Cursor using URL mode as described below

Installation and Setup for Production

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
    

2. Build the project:

    npm run build
    chmod +x dist/index.js
    

3. 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
    

4. 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:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.