Introducing the Sunpeak Resource Repository
Manage your MCP App and ChatGPT App resources with sunpeak push and pull.
[Updated 2026-02-05] Today we’re launching the Sunpeak Resource Repository—ECR for MCP Apps and ChatGPT Apps.
TL;DR: Push, pull, and tag your MCP App UI resources separately from your MCP server using sunpeak login, sunpeak push, and sunpeak pull.
Why Decouple Your App from Your MCP Server?
MCP Apps (ChatGPT Apps) are built on MCP servers, but your UI resources don’t need to live alongside your server code. Decoupling them provides:
- Generic MCP servers: Keep your production MCP server largely client agnostic. If your server is in Python (or any other language), keep React and JS out of your server.
- Independent lifecycles: Clearly indicate which code changes and version tags require MCP App submission reviews and which are entirely MCP server-side
- Team collaboration: Designers and frontend devs can push UI changes without touching server infrastructure and vice versa
- Independent deployments: Update your UI without redeploying your server
Getting Started
Authenticate
sunpeak login
This opens your browser for secure OAuth authentication. Sunpeak stores local configuration in ~/.sunpeak/.
Push Resources
After building your resources with sunpeak build, push them to the repository:
sunpeak push
Tag your resources for versioning:
sunpeak push -t v1.0.0 -t staging
Pull Resources
Retrieve resources by tag from any directory:
sunpeak pull -r myorg/my-app -t prod
This downloads the JavaScript bundles and metadata files, ready for deployment.
Common Workflows
Rollback to a previous version:
sunpeak pull -r myorg/my-app -t v1.0.0
sunpeak deploy # Shorthand for sunpeak push -t prod
Promote staging to production:
sunpeak pull -r myorg/my-app -t staging
sunpeak deploy
Get Started
Ready to try it? Learn about the MCP App framework or the ChatGPT App framework, or jump straight into the web application to create your account.
Shoutout to our friends at appsonchatgpt.com for the feature!
Frequently Asked Questions
What is the Sunpeak Resource Repository?
The Sunpeak Resource Repository is like Docker Hub or ECR (Elastic Container Registry) for MCP Apps and ChatGPT Apps. It lets you push, pull, version, and share your MCP Resource bundles separately from your MCP server code using the sunpeak CLI.
Why should I decouple my MCP App UI from my MCP server?
Decoupling provides four key benefits: generic MCP servers (keep React/JS out of Python servers), independent version lifecycles for UI vs server changes, team collaboration where frontend and backend work independently, and independent deployments without server redeploys.
How do I authenticate with the Sunpeak Resource Repository?
Run "sunpeak login" which opens your browser for secure OAuth authentication. Sunpeak stores your credentials locally in ~/.sunpeak/ for subsequent CLI commands like push and pull.
How do I push MCP App resources to the repository?
First build your resources with "sunpeak build", then push with "sunpeak push". Add version tags with "sunpeak push -t v1.0.0 -t staging" to support semantic versioning and environment-based deployments.
How do I pull MCP App resources from the repository?
Use "sunpeak pull -r myorg/my-app -t prod" to download resources by repository name and tag. This retrieves the JavaScript bundles and metadata files ready for deployment to your MCP server.
How do I roll back an MCP App to a previous version?
Pull the previous version with "sunpeak pull -r myorg/my-app -t v1.0.0", then redeploy with "sunpeak deploy" (shorthand for sunpeak push -t prod). Tags let you maintain multiple versions for easy rollbacks.
How do I promote an MCP App from staging to production?
Pull your staging version with "sunpeak pull -r myorg/my-app -t staging", then deploy to production with "sunpeak deploy". This workflow keeps staging and production resources separate but easily promotable.
Can designers and frontend developers push UI changes independently?
Yes. The Resource Repository enables team collaboration where designers and frontend developers can push UI changes without touching server infrastructure. Backend developers can update the MCP server independently without affecting the UI.