Skip to content

vipink1203/mcp-github-enterprise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MCP GITHUB ENTERPRISE πŸŒ‰

Python >=3.9
MCP Protocol
GitHub API

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:

πŸ”Œ 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgements


Built with ❀️ for seamless AI ↔️ GitHub Enterprise integration.

About

A powerful Model Context Protocol (MCP) server for GitHub Enterprise that enables AI agents to access and manage enterprise users, organizations, and licenses.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors