kaunghtut24/mcp-server
3.1
If you are the rightful owner of 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.
The MCP Server Deployment is a production-ready setup for hosting Model Context Protocol servers using GitHub, Puppeteer, and Context7 tools, optimized for fly.io hosting.
Tools
3
Resources
0
Prompts
0
MCP Server Deployment
A production-ready MCP (Model Context Protocol) server deployment with GitHub, Puppeteer, and Context7 tools, optimized for fly.io hosting.
š Features
- GitHub MCP Server: Repository operations, issue management, and code analysis
- Puppeteer MCP Server: Web scraping, screenshot capture, and browser automation
- Context7 MCP Service: Additional MCP functionality and tools
- Health Monitoring: Built-in health checks and monitoring
- Production Ready: Optimized for fly.io deployment with proper error handling
š ļø Tools Included
1. GitHub MCP Server
- Repository browsing and file operations
- Issue and PR management
- Code search and analysis
- Commit history and diff viewing
2. Puppeteer MCP Server
- Web page navigation and interaction
- Screenshot capture
- JavaScript evaluation on pages
- Form filling and automation
- Headless browser operations with Xvfb
3. Context7 MCP Service
- Extended MCP functionality
- Additional tool integrations
š Prerequisites
- fly.io CLI installed
- GitHub Personal Access Token
- TypingMind Auth Token (if using Context7)
š Quick Start
1. Clone and Setup
git clone https://github.com/kaunghtut24/mcp-server.git
cd mcp-server
2. Configure Secrets
# Set your GitHub token
fly secrets set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here
# Set your TypingMind token (optional, for Context7)
fly secrets set TYPINGMIND_AUTH_TOKEN=your_typingmind_token_here
3. Deploy
fly deploy
4. Verify Deployment
fly status
fly logs
š§ Configuration
Environment Variables
GITHUB_PERSONAL_ACCESS_TOKEN
: GitHub personal access token for API accessTYPINGMIND_AUTH_TOKEN
: TypingMind authentication tokenPORT
: Server port (default: 8080)HEALTH_PORT
: Health check port (default: 8081)NODE_ENV
: Environment (production/development)
MCP Tools Configuration
The server is configured via mcp-config.json
with three main tools:
- GitHub MCP: Handles repository operations
- Puppeteer MCP: Browser automation with headless Chromium
- Context7 MCP: External MCP service integration
š Monitoring
Health Checks
- Health endpoint:
http://localhost:8081/health
- Automatic health monitoring via fly.io
- Graceful startup with retry logic
Logging
# View recent logs
fly logs
# Follow logs in real-time
fly logs -f
# Check specific errors
fly logs | grep -i error
š Troubleshooting
Common Issues
-
Browser Launch Failures
- Xvfb virtual display is configured automatically
- Chromium runs in headless mode with proper flags
-
GitHub Authentication
- Ensure
GITHUB_PERSONAL_ACCESS_TOKEN
is set correctly - Token needs appropriate permissions for your use case
- Ensure
-
Health Check Failures
- Health server runs on separate port (8081)
- Check logs for startup issues
Debug Commands
# Check app status
fly status
# SSH into running instance
fly ssh console
# Check environment variables
fly ssh console -C "env | grep -E '(GITHUB|TYPING)'"
š Project Structure
mcp-server/
āāā Dockerfile # Container configuration
āāā fly.toml # Fly.io deployment config
āāā entrypoint.sh # Startup script
āāā health-server.js # Health check server
āāā mcp-config.json # MCP tools configuration
āāā package.json # Node.js dependencies
āāā README.md # This file
š Security
- Secrets managed via fly.io secrets
- No sensitive data in configuration files
- Proper environment variable handling
- Sandboxed browser execution
š License
MIT License - see LICENSE file for details
š¤ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
š Support
- Create an issue for bugs or feature requests
- Check fly.io documentation for deployment issues
- Review MCP documentation for protocol details