Skip to main content
Glama
vipink1203

GitHub MCP Bridge

by vipink1203

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?"


Related MCP server: GitHub MCP Server

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

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vipink1203/github-mcp-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server