This server provides an MCP interface to interact with GitHub Enterprise API (also compatible with GitHub.com and GitHub Enterprise Cloud with some limitations) for AI tools like Cursor.
Capabilities include:
Repository Management: Retrieve repository lists and details, list branches, get file/directory contents, create/update/delete repositories
Pull Requests & Issues: List, create, get details, merge PRs, manage issues, and retrieve/add comments
GitHub Actions: List workflows and workflow runs, trigger workflows
User Management: List, create, update, suspend/unsuspend users (Enterprise only)
Enterprise Features: Access license information and system statistics (requires site admin permissions)
Provides access to GitHub Enterprise and GitHub.com repositories, enabling repository management, branch listing, file content retrieval, and issue/PR handling through the GitHub API.
Offers tools for listing, viewing, and triggering GitHub Actions workflows, with capabilities for managing workflow runs and filtering by branch or status.
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
Build the Docker image:
docker build -t github-enterprise-mcp .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:
Option 2: Using Docker Compose
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=trueStart the container with Docker Compose:
docker-compose up -dCheck the logs:
docker-compose logs -fStop 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:
Clone the repository and install required packages:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installRun the development server:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run devThis 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
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:
Clone the repository and install required packages:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installBuild the project:
npm run build chmod +x dist/index.jsRun 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 --debugConnect 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:
Option 3: Using npx (When Package is Published)
If the package is published to the public npm registry:
Integration with AI Tools
Claude Desktop
Add the following to your claude_desktop_config.json
:
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:
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 httpConfigure 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" } } }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:
Open Cursor and go to Settings
Navigate to AI > MCP Servers
Click Add MCP Server
Enter the following details:
Name: GitHub Enterprise
Command:
npx
Arguments:
@ddukbg/github-enterprise-mcp
Environment Variables:
GITHUB_ENTERPRISE_URL
: Your GitHub Enterprise API URLGITHUB_TOKEN
: Your GitHub personal access token
Alternatively, you can manually edit your .cursor/mcp.json
file to include:
Language Configuration
This MCP server supports both English and Korean languages. You can configure the language using:
Environment Variables
Command-line Arguments
The default language is English if not specified.
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--language <LANG>
: Set language (en or ko, default: en)
Available MCP Tools
This MCP server provides the following tools:
Tool Name | Description | Parameters | Required PAT Permissions |
| Retrieve repository list for a user or organization |
: Username/org name
: Whether it's an organization
: Repository type
: Sort criteria
: Page number
: Items per page |
|
| Get detailed repository information |
: Repository owner
: Repository name |
|
| List branches of a repository |
: Repository owner
: Repository name
: Whether to show only protected branches
: Page number
: Items per page |
|
| Retrieve file or directory contents |
: Repository owner
: Repository name
: File/directory path
: Branch/commit (optional) |
|
| List pull requests in a repository |
: Repository owner
: Repository name
: PR state filter
: Sort criteria
: Sort direction
: Page number
: Items per page |
|
| Get pull request details |
: Repository owner
: Repository name
: Pull request number |
|
| Create a new pull request |
: Repository owner
: Repository name
: PR title
: Head branch
: Base branch
: PR description
: Create as draft PR |
|
| Merge a pull request |
: Repository owner
: Repository name
: Pull request number
: Merge method
: Commit title
: Commit message |
|
| List issues in a repository |
: Repository owner
: Repository name
: Issue state filter
: Sort criteria
: Sort direction
: Page number
: Items per page |
|
| Get issue details |
: Repository owner
: Repository name
: Issue number |
|
| List comments on an issue or pull request |
: Repository owner
: Repository name
: Issue/PR number
: Page number
: Items per page |
|
| Create a new issue |
: Repository owner
: Repository name
: Issue title
: Issue body content
: Array of label names
: Array of user logins
: Milestone ID |
|
| Create a new repository |
: Repository name
: Repository description
: Whether private
: Initialize with README
: Add .gitignore
: Add license
: Organization name |
|
| Update repository settings |
: Repository owner
: Repository name
: New description
: Change privacy
: Change default branch
: Enable/disable issues
: Enable/disable projects
: Enable/disable wiki
: Archive/unarchive |
|
| Delete a repository |
: Repository owner
: Repository name
: Confirmation (must be true) |
|
| List GitHub Actions workflows |
: Repository owner
: Repository name
: Page number
: Items per page |
|
| List workflow runs |
: Repository owner
: Repository name
: Workflow ID/filename
: Filter by branch
: Filter by status
: Page number
: Items per page |
|
| Trigger a workflow |
: Repository owner
: Repository name
: Workflow ID/filename
: Git reference
: Workflow inputs |
|
| Get GitHub Enterprise license information | - | Requires site_admin (Administrator) account |
| Get GitHub Enterprise system statistics | - | Requires site_admin (Administrator) account |
Note: For Enterprise-specific tools (
get-license-info
andget-enterprise-stats
), a user with site administrator privileges is required. A Classic Personal Access Token is recommended, as Fine-grained tokens may 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
Getting Repository Information
Listing Pull Requests
Managing Issues
Working with Repository Content
Repository Management
User Management (Enterprise Only)
These features are specifically designed for GitHub Enterprise Server environments and require administrative permissions:
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
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
An MCP server that enables integration with GitHub Enterprise API, allowing users to access repository information, manage issues, pull requests, workflows, and other GitHub features through Cursor.
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -22,57369,123MIT License
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1804
- AsecurityAlicenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -235MIT License
- -securityAlicense-qualityAn MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.Last updated -5MIT License