Vybe Virtual Try-On MCP Server
Vybe Virtual Try-On MCP Server
A FastMCP server that wraps the Replicate API for virtual try-on functionality, ready for deployment to Render.
Setup
Using UV (recommended)
Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | shInstall dependencies:
uv syncSet up environment variables:
cp .env.example .envEdit .env and add your Replicate API token.
Using pip (alternative)
Install dependencies:
pip install -r requirements.txtSet up environment variables:
cp .env.example .envEdit .env and add your Replicate API token.
Local Testing
Run the server locally:
# With uv (recommended)
uv run python server.py
# Or with regular python
python server.pyThe server will start on the default FastMCP port and expose the virtual_tryon tool.
MCP Client Configuration
Add to your Claude Desktop or other MCP client configuration:
{
"mcpServers": {
"vybe-virtual-tryon": {
"command": "python",
"args": ["/path/to/server.py"]
}
}
}Usage
The server exposes three tools:
test_connection
Tests the connection and shows timeout configuration.
base64_to_url
Converts base64 encoded images to data URIs for use with virtual_tryon:
base64_image: Base64 encoded image string (with or without data:image prefix)image_type: Image type (png, jpg, jpeg, gif, webp) - default: png
Returns a data URI that can be used as model_image or garment_image in virtual_tryon.
virtual_tryon
Performs virtual try-on with these parameters:
model_image: URL or data URI of the person/model imagegarment_image: URL or data URI of the clothing item to try onVarious optional parameters for customization
Timeout Configuration
The server is configured with extended timeouts to handle long-running Replicate operations:
MCP request timeout: 600 seconds (10 minutes)
Replicate polling interval: 5 seconds
Replicate timeout: 600 seconds (10 minutes)
If you still experience timeouts, you can adjust these in the server.py file.
Deployment to Render
Quick Deploy with render.yaml
Push your code to a GitHub repository
Connect the repository to Render
Render will automatically detect the
render.yamlconfigurationAdd your
REPLICATE_API_TOKENin the Render dashboard under Environment VariablesDeploy!
The service includes health check endpoints:
/health- Health check endpoint for Render monitoring/- Root endpoint with service status
Manual Setup
If you prefer manual configuration:
Create a new Web Service on Render
Connect your GitHub repository
Configure the service:
Build Command:
curl -LsSf https://astral.sh/uv/install.sh | sh && source $HOME/.cargo/env && uv sync --frozen --no-devStart Command:
uv run python server.pyHealth Check Path:
/health
Add environment variables:
REPLICATE_API_TOKEN: Your Replicate API token (required)PORT: (leave empty, Render will auto-assign)HOST: (leave empty, defaults to 0.0.0.0)
Using the Remote MCP Server
Once deployed, you can access the server at:
Health Check:
https://your-service-name.onrender.com/healthRoot:
https://your-service-name.onrender.com/MCP Protocol: Use the base URL for MCP client connections
For MCP clients that support HTTP transport:
{
"mcpServers": {
"vybe-virtual-tryon-remote": {
"url": "https://your-service-name.onrender.com",
"transport": "http"
}
}
}Replace your-service-name with your actual Render service URL.
Testing the Deployment
Use the included test script to verify your deployment is working:
# With uv (if using uv environment)
uv run python test_deployment.py https://your-service-name.onrender.com
# Or with regular python
python test_deployment.py https://your-service-name.onrender.comThis will test:
Health check endpoint (
/health)Root endpoint (
/)Basic MCP server connectivity
Example output:
Testing deployment at: https://your-service.onrender.com
--------------------------------------------------
๐งช Testing Health Endpoint...
โ
Health check passed: {'status': 'healthy', 'service': 'vybe-virtual-tryon'}
๐งช Testing Root Endpoint...
โ
Root endpoint passed: {'message': 'Vybe Virtual Try-On MCP Server', 'status': 'running'}
๐งช Testing MCP Connection...
โ
MCP server is responding
==================================================
TEST RESULTS:
==================================================
โ
PASS - Health Endpoint
โ
PASS - Root Endpoint
โ
PASS - MCP Connection
Tests passed: 3/3
๐ All tests passed! Deployment is working correctly.Docker Deployment (Alternative)
A Dockerfile is also included if you prefer containerized deployment. Render will automatically detect and use it if present.