Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork3.6k
✨ feat(mcp): add Docker containerization with automated GHCR publishing#10220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
✨ feat(mcp): add Docker containerization with automated GHCR publishing#10220
Uh oh!
There was an error while loading.Please reload this page.
Conversation
vercelbot commentedAug 4, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
The latest updates on your projects. Learn more aboutVercel for GitHub.
💡Enable Vercel Agent with $100 free credit for automated AI reviews |
changeset-botbot commentedAug 4, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
|
KemingHe commentedAug 4, 2025
No changeset intended, this is not a core package update PR. The |
6b77975 tod498904Comparesegunadebayo commentedAug 5, 2025
Amazing work@KemingHe Will review this shortly and get it merged |
a11484a to32c9b95Compare4c1e34a tob786995Compareb786995 to4b703c8Compare4b703c8 tocc70f31Compare1d2edba to972d914Compare972d914 to8054ea0Compare8054ea0 to93dd813Compare93dd813 to29d74e7Compare29d74e7 to7cb090dComparegregboero commentedOct 15, 2025
Hello, any news on this feature? It’s something my team is really looking forward to. |
KemingHe commentedOct 15, 2025
I will get this polished up by end of the week. I will ping you when it's ready for review and publishing. |
refschakra-ui#10204CHANGES- Add multi-stage Dockerfile with stdio/HTTP mode switching- Create comprehensive Docker.md with quick start guide- Implement optimized .dockerignore for efficient builds- Update README.md with Docker setup instructions- Align GHCR naming to ghcr.io/chakra-ui/chakra-ui/react-mcpIMPACT- Users can run MCP server in containers with same features as npx- Easy mode switching via MCP_MODE environment variable- Production-ready container with health checks and optimizationsTECHNICAL NOTES- Foundation for part 1/2 ofchakra-ui#10204 (GitHub Actions publishing next)- Uses main pnpm-lock.yaml with filtered workspace installation- Supports both stdio (default) and HTTP modes without functional changes- Clean separation of Docker concerns from core MCP functionality
refschakra-ui#10204CHANGES- Fix HTTP mode CMD path from dist/http.js to api/index.js- Add non-root mcpuser for container security- Copy missing api/ directory from build stage- Update Docker.md with local development examplesIMPACT- HTTP mode now works correctly alongside stdio mode- Enhanced container security with non-root execution- Both modes tested and verified with secure setupTECHNICAL NOTES- Part 1/2 of Docker/GHCR implementation foundation- Maintains feature parity with npx version
CHANGES- Add multi-arch Docker workflow for GHCR publishing- Implement manual dispatch testing without disrupting auto releases- Create comprehensive workflows documentation system- Fix Docker.md version tag alignment (remove "v" prefix)IMPACT- MCP maintainers get automated Docker publishing on releases- Contributors can dry-run test Docker builds before merging- New developers have clear CI/CD system documentationTECHNICAL NOTES- Multi-platform builds: linux/amd64, linux/arm64- Triggered by @chakra-ui/react-mcp@* tags + workflow_dispatch- SHOULD_PUSH env var controls push vs dry-run behavior- Complete system architecture in workflows README- Completes 2/2 Docker implementation (pending testing)
CHANGES- Fix stdio mode to use Docker args (-e) instead of NPM env field- Correct HTTP mode header name from CHAKRA_PRO_API_KEY to x-api-key- Add explicit CHAKRA_PRO_API_KEY environment variable to Dockerfile- Update documentation for both deployment modesIMPACT- Chakra UI Pro features now properly accessible in Docker deployments- Consistent API key handling across stdio and HTTP transport modes- Clear separation between host process (NPM) and container environment (Docker)TECHNICAL NOTES- Docker containers require -e flags for internal environment variables- NPM env field sets host process environment, not container environment- HTTP mode uses standard x-api-key header following REST conventions- Explicit ENV declaration improves Dockerfile transparency
CHANGES- Add comprehensive Docker Image Publishing section to workflows README- Document step-by-step manual workflow instructions with GitHub Actions links- Clarify Docker tag independence from internal @chakra-ui/react-mcp version- Reference apps/mcp/package.json for version info instead of hard-coding- Improve workflow input descriptions for manual dispatch clarityIMPACT- Core maintainers can confidently publish Docker images automatically or manually- Clear operational guidance for first release and testing scenarios- Eliminates confusion between Docker tags and internal package versions- Reduces maintenance burden with dynamic version references
CHANGES- Merge Docker.md content into README.md following DRY principles- Fix GHCR image name alignment across all documentation files- Replace hardcoded version with package.json import in http.ts- Add GitHub source links to tool documentation- Remove dead Docker.md references from workflows README- Add GHCR README copying step to mcp-docker.yml workflowIMPACT- Single source of truth for MCP Docker documentation- Consistent GHCR image references across all files- Dynamic versioning eliminates manual updates- Enhanced tool discoverability with direct source linksTECHNICAL NOTES- Applied KISS principle: simplified version handling with JSON import- Applied DRY principle: eliminated duplicate Docker documentation- Corrected ghcr.io/chakra-ui/chakra-ui/react-mcp → ghcr.io/chakra-ui/react-mcp- Workflow now copies apps/mcp/README.md to root for GHCR display
CHANGES- Streamline MCP README description and features for clarity- Remove hard-coded repository restrictions from Docker workflow- Add OCI image metadata labels for proper GHCR presentation- Make image naming dynamic using repository_owner variableIMPACT- Workflow now works seamlessly in any fork without configuration- Container images display proper metadata on GHCR package pages- Documentation provides clearer value proposition for usersTECHNICAL NOTES- Eliminated need to edit hard-coded values when testing in forks- Added org.opencontainers.image labels for description, source, and license
CHANGES- Implement dynamic container labels using GITHUB_REPOSITORY build arg- Add comprehensive Dockerfile documentation with stage organization- Enhance README with API key security guidance and usage clarity- Fix grammar and improve example consistency throughout docsIMPACT- Contributors can build fork-friendly images with correct metadata- End users gain clearer setup instructions and security best practices- Enhanced trust through GHCR-compliant container labeling- Improved maintainability with well-documented Docker stagesTECHNICAL NOTES- Follows official GitHub Container Registry metadata standards- Dynamic labels replace hardcoded repository references- Multi-stage Dockerfile with clear separation of concerns- Enhanced security documentation for API key handling
7cb090d to511deafCompareKemingHe commentedOct 20, 2025
Update to@gregboero,@segunadebayo, and the Chakra UI community: Over the weekend of 10-18, I've spent 10+ hours on the final polish and debugging of the Docker-ized
I expect another 5-10 hours of additional work to fully and responsibly delivernot just the Docker-ized MCP server,but more importantly design lineage, troubleshooting docs, and updated instructions in root README.md for quick onboarding. @segunadebayo I'm happy to continue maintaining this critical part of Chakra UI even after merging of this branch to main. Will keep you all posted! This is fun, believe it or not. |
Resolves#10204
📝 Description
Add complete Docker containerization for the Chakra UI MCP server with automated CI/CD publishing to GitHub Container Registry. This enables both individual developers and teams to deploy the MCP server without local dependency management.
⛳️ Current behavior (updates)
npx @chakra-ui/react-mcp)🚀 New behavior
MCP_MODEenv varlinux/amd64+linux/arm64published to GHCR on MCP releasesKey Features:
docker pull ghcr.io/chakra-ui/chakra-ui/react-mcp:2.0.5docker run -p 3000:3000 -e MCP_MODE=http@chakra-ui/react-mcp@*tags + manual testing💣 Is this a breaking change (Yes/No): No
All existing NPM usage remains unchanged. Docker is an additional deployment option.
📝 Additional Information
Testing Status: ✅Workflow build passed successfully
Review Focus Areas:
.github/workflows/README.mdsystem architecture,apps/mcp/Docker.mdusage guide.dockerignore, minimal dependenciesBusiness Value: