mcp-github-enterprise
MCP GitHub Enterprise integrates AI agents with GitHub Enterprise to access and analyze license data securely. It offers features like license analytics, user lookup, and seamless deployment options, with a focus on enhancing enterprise GitHub management.
MCP GITHUB ENTERPRISE š
A Model Context Protocol (MCP) server that lets AI agents (Claude, ChatGPT, etc.) query your GitHub Enterprise license data. Securely fetch license summaries, per-user details, org memberships, and enterprise roles via the /consumed-licenses
endpoint.
š Capabilities & Example Prompts
-
License Summary
ā¢"Show me our GitHub Enterprise license summary"
ā¢"How many licenses are we currently using?"
-
Detailed License Usage
ā¢"List all consumed GitHub licenses"
ā¢"Do we have any unused GitHub licenses?"
-
User Lookup
ā¢"What GitHub orgs does johndoe belong to?"
ā¢"What enterprise roles does johndoe have?"
ā¢"Is johndoe an owner in our enterprise?"
ā¢"Get detailed info about johndoe"
ā¢"Does johndoe have 2FA enabled?"
š Features
- License Analytics: Total vs. consumed seats
- User Lookup: Org memberships, roles, 2FA, SAML ID
- Pagination: Handles large enterprises automatically
- Dual Transports: stdio for direct MCP, SSE for HTTP
- Kubernetes-Ready: Deploy on EKS/GKE or any K8s cluster
š Prerequisites
- Python 3.9+
- GitHub PAT with
read:enterprise
/ license scopes - GitHub Enterprise Cloud tenant
š Quick Start
1. Clone & Install
git clone https://github.com/vipink1203/mcp-github-enterprise.git
cd mcp-github-enterprise
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2. Configure
cp .env.example .env
# Edit .env: set GITHUB_TOKEN and GITHUB_ENTERPRISE_URL
3. Run
stdio transport
export TRANSPORT=stdio
python main.py
SSE transport
export TRANSPORT=sse PORT=8050
python main.py
š³ Docker & n8n
Add this service to your docker-compose.yml alongside n8n:
services:
github-mcp:
image: ghcr.io/vipink1203/mcp-github-enterprise:latest
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
- GITHUB_ENTERPRISE_URL=${GITHUB_ENTERPRISE_URL}
- TRANSPORT=sse
- PORT=8050
ports:
- "8050:8050"
restart: unless-stopped
networks:
- n8n-network
In n8n's UI, enable the MCP client:
- Settings ā Credentials ā New Credential
- Choose MCP Client API, set URL to http://github-mcp:8050/sse
š Client Configuration
Claude Desktop / Windsurf / Cursor
Add this configuration to your Claude Desktop settings:
{
"mcpServers": {
"github-ent": {
"command": "/path/to/your/venv/python",
"args": ["/path/to/main.py"],
"env": {
"GITHUB_TOKEN": "",
"GITHUB_ENTERPRISE_URL": "https://api.github.com/enterprises/{enterprise_name}",
"TRANSPORT": "stdio"
}
}
}
SSE Configuration
{
"mcpServers": {
"github": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
š Example Use Cases
- Enterprise User Management: Automate user onboarding and offboarding
- License Monitoring: Get alerts when licenses are close to expiration
- Organization Analysis: Analyze organization structures and relationships
- User Access Auditing: Track user permissions and access levels
- AI-powered GitHub Insights: Let AI analyze your enterprise GitHub data
š MCP Tools & Resources
Tools
Name | Description |
---|---|
list_consumed_licenses | Summarize licenses, optionally include users |
get_user_organizations | List a user's GitHub org memberships |
get_user_enterprise_roles | List a user's enterprise roles |
get_user_detail | Full license detail for a user |
Resources
URI | Description |
---|---|
github://consumed-licenses/{dummy} | Full license usage + user details |
github://user/{username}/roles | Org & enterprise roles for a user |
š Security Considerations
- Store your GitHub token securely
- Use appropriate scopes for your GitHub token
- For production, consider using AWS Secrets Manager or similar
- Implement network policies in Kubernetes deployments
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
š License
This project is licensed under the MIT License - see the file for details.
š Acknowledgements
- Model Context Protocol for the Python SDK
- MCP-Mem0 for providing a great template structure
- GitHub API for the comprehensive API
Built with ā¤ļø for seamless AI āļø GitHub Enterprise integration.