Skip to main content
Glama

Vybe Virtual Try-On MCP Server

by arnabgho

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)

  1. Install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Install dependencies:

uv sync
  1. Set up environment variables:

cp .env.example .env

Edit .env and add your Replicate API token.

Using pip (alternative)

  1. Install dependencies:

pip install -r requirements.txt
  1. Set up environment variables:

cp .env.example .env

Edit .env and add your Replicate API token.

Related MCP server: MCP Server for Replicate

Local Testing

Run the server locally:

# With uv (recommended) uv run python server.py # Or with regular python python server.py

The 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 image

  • garment_image: URL or data URI of the clothing item to try on

  • Various 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

  1. Push your code to a GitHub repository

  2. Connect the repository to Render

  3. Render will automatically detect the render.yaml configuration

  4. Add your REPLICATE_API_TOKEN in the Render dashboard under Environment Variables

  5. Deploy!

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:

  1. Create a new Web Service on Render

  2. Connect your GitHub repository

  3. Configure the service:

    • Build Command: curl -LsSf https://astral.sh/uv/install.sh | sh && source $HOME/.cargo/env && uv sync --frozen --no-dev

    • Start Command: uv run python server.py

    • Health Check Path: /health

  4. 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/health

  • Root: 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.com

This 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.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arnabgho/mcp-vybe'

If you have feedback or need assistance with the MCP directory API, please join our Discord server