GitHub Enterprise
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
GitHub EnterpriseCommand (node, npx, python, etc.)npxArguments-
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.
-
Argument 1
- 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
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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





