Minimal HTTP wrapper for GitHub's official MCP server.
GitHub's MCP server is distributed as a stdio-only OCI container. This wrapper adds an HTTP interface so it can be deployed as a standard HTTP service.
KISS principle applied:
- Single Python file (105 lines)
- No complex dependencies
- Multi-stage Docker build extracts binary from distroless base
- Clean subprocess management
# Build
make build
# Run locally
make run GITHUB_TOKEN=your_token_here
# Test
curl http://localhost:8000/healthGET /health- Health checkPOST /mcp- JSON-RPC MCP protocol endpoint
GITHUB_PERSONAL_ACCESS_TOKEN- Required for GitHub API accessMCP_SERVER_COMMAND- Server command (default:github-mcp-server stdio)PORT- HTTP port (default:8000)
# Build multi-arch and push to registry
make build-push IMAGE_NAME=your-registry/github-mcp-http VERSION=v1.0.0
# Login to registry first
make loginHTTP Request → FastAPI → subprocess (stdio) → GitHub MCP Server
The wrapper spawns the original stdio server as a subprocess and translates HTTP requests to stdin/stdout JSON-RPC communication.
- Upstream: github/github-mcp-server
- Base image:
ghcr.io/github/github-mcp-server:latest