GitHub MCP Bridge
A Model Context Protocol server that enables AI agents to securely access and interact with GitHub Enterprise data, providing access to enterprise users, organizations, emails, and license information.
README
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 LICENSE 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.