mcp-server

kaunghtut24/mcp-server

3.2

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
  1. GitHub MCP

    Handles repository operations, issue management, and code analysis

  2. Puppeteer MCP

    Provides browser automation and web scraping capabilities

  3. Context7 MCP

    Offers extended MCP functionalities and tool integrations

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 access
  • TYPINGMIND_AUTH_TOKEN: TypingMind authentication token
  • PORT: 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:

  1. GitHub MCP: Handles repository operations
  2. Puppeteer MCP: Browser automation with headless Chromium
  3. 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

  1. Browser Launch Failures

    • Xvfb virtual display is configured automatically
    • Chromium runs in headless mode with proper flags
  2. GitHub Authentication

    • Ensure GITHUB_PERSONAL_ACCESS_TOKEN is set correctly
    • Token needs appropriate permissions for your use case
  3. 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. 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