MostafaSwaisy/github_mcp_server
If you are the rightful owner of github_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A powerful Model Context Protocol server that seamlessly integrates with GitHub, enhancing the Cursor IDE experience.
🚀 GitHub MCP Server
A powerful Model Context Protocol server that seamlessly integrates with GitHub, making your Cursor IDE experience smoother than ever.
✨ Why Choose This Server?
- 🔄 Seamless GitHub Integration - Push, pull, and manage your code with zero friction
- 🎯 Built for Cursor IDE - Perfect companion for your favorite IDE
- 🛡️ Rock-solid Reliability - Enterprise-grade error handling and logging
- 🐳 Docker Ready - Deploy anywhere in seconds
- 🔍 Smart Context Management - Efficient code organization and search
- 🚦 Health Monitoring - Always know your server's status
🚀 Quick Start
🐳 Using Docker (Recommended)
# Clone the repository
git clone https://github.com/MostafaSwaisy/github_mcp_server.git
# Navigate to the project
cd github_mcp_server
# Start with Docker Compose
docker-compose up -d
That's it! Your server is running at http://localhost:3000 🎉
🛠️ Manual Setup
# Install dependencies
npm install
# Set your GitHub token
export GITHUB_TOKEN=your_github_token
# Start the server
npm start
🎯 Key Features
🔗 GitHub Integration
- Create and manage repositories
- Handle multiple files in single commits
- Manage branches and pull requests
- Access repository content seamlessly
📦 Context Management
- Create and manage code contexts
- Add/remove files from contexts
- Search within contexts
- Bulk operations support
🛡️ Enterprise Ready
- Comprehensive error handling
- Detailed logging system
- Health monitoring
- Docker support with auto-restart
🔌 API Examples
Create a New Context
POST /v1/init
Push Multiple Files
POST /v1/push_files
Content-Type: application/json
{
"repoName": "awesome-project",
"branch": "main",
"files": [
{
"path": "src/app.js",
"content": "console.log('Hello, World!');"
}
],
"message": "Add main application file"
}
Search in Context
POST /v1/search
Content-Type: application/json
{
"context_id": "ctx_123",
"query": "function main"
}
🔧 Configuration
Environment Variables
GITHUB_TOKEN=your_github_token # Required
NODE_ENV=production # Optional (default: development)
PORT=3000 # Optional (default: 3000)
📊 Health Monitoring
Check server status:
GET /health
Response:
{
"status": "healthy",
"github_token": true,
"contexts": 5
}
🤝 Contributing
We love contributions! Here's how you can help:
- 🍴 Fork the repository
- 🌿 Create your feature branch
- 💻 Make your changes
- 🚀 Push to your branch
- 📬 Open a Pull Request
📝 License
This project is licensed under the MIT License - making it perfect for both personal and commercial use.
🌟 Support
Love this project? Give it a star ⭐️ on GitHub!
Made with ❤️ for the Cursor IDE community