Skip to main content
Glama

Rembg MCP Server

by holocode-ai

Rembg MCP Server

An MCP (Model Context Protocol) server for the rembg background removal library. Remove image backgrounds using AI models through Claude Code, Claude Desktop, Cursor, and other MCP-compatible tools.

šŸŽÆ Features

  • šŸ–¼ļø Image Processing: Remove backgrounds from single images or batch process folders

  • šŸ¤– Multiple AI Models: u2net, birefnet, isnet, sam, and more specialized models

  • ⚔ Performance Optimized: Model session reuse for efficient batch processing

  • šŸŽØ Advanced Options: Alpha matting, mask-only output, custom backgrounds

  • šŸŒ Cross-Platform: Support for Windows, macOS, and Linux

  • šŸ”§ Easy Integration: Works with Claude Desktop, Claude Code CLI, Cursor IDE

šŸ“¦ Quick Start

šŸš€ One-Click Installation

Linux/macOS

git clone <repository-url> cd rembg-mcp ./setup.sh

Windows

git clone <repository-url> cd rembg-mcp setup.bat

The setup scripts will automatically:

  • Check Python 3.10+ requirement

  • Create virtual environment

  • Install all dependencies

  • Configure MCP server

  • Test the installation

  • Guide you through AI model downloads

šŸ”§ Manual Installation

If you prefer manual installation or need custom configuration:

  1. Create virtual environment:

python3 -m venv rembg source rembg/bin/activate # Linux/macOS # or rembg\Scripts\activate.bat # Windows
  1. Install dependencies:

pip install --upgrade pip pip install mcp "rembg[cpu,cli]" pillow pip install -e .
  1. Test installation:

python test_server.py python validate_setup.py
  1. Download AI models:

./download_models.sh # Linux/macOS # or python download_models.py # Windows (from activated venv)
  1. For GPU support:

pip install -e ".[gpu]"

šŸ”§ MCP Configuration

Claude Desktop Setup

  1. Find your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. Add the rembg server configuration:

{ "mcpServers": { "rembg": { "command": "/path/to/rembg-mcp/start_server.sh", "cwd": "/path/to/rembg-mcp", "env": { "REMBG_HOME": "~/.u2net", "OMP_NUM_THREADS": "4" } } } }
  1. Replace with your actual project path

  2. Restart Claude Desktop

Testing Your Setup

After configuration, test your MCP server:

  1. Start the server manually:

./start_server.sh # Linux/macOS # or start_server.bat # Windows
  1. Verify MCP connection in Claude Desktop:

    • Look for the rembg tools in your Claude conversation

    • Try a simple command: "List available MCP tools"

  2. Test with a sample image:

    • Ask Claude: "Use rembg-i to remove the background from test.jpg"

    • The server will process your request and return results

Claude Code CLI Setup

Add to your Claude Code settings:

{ "mcpServers": { "rembg": { "command": "/path/to/rembg-mcp/start_server.sh", "cwd": "/path/to/rembg-mcp", "env": { "REMBG_HOME": "~/.u2net", "OMP_NUM_THREADS": "4" } } } }

Cursor IDE Setup

Add to your Cursor settings or workspace .cursor/settings.json:

{ "mcp.servers": { "rembg": { "command": "/path/to/rembg-mcp/start_server.sh", "args": [], "cwd": "/path/to/rembg-mcp" } } }

Windows Configuration

For Windows users, use start_server.bat instead:

{ "mcpServers": { "rembg": { "command": "C:\\path\\to\\rembg-mcp\\start_server.bat", "cwd": "C:\\path\\to\\rembg-mcp" } } }

šŸš€ How to Use

Once configured, you can use the rembg tools directly in your MCP-compatible application:

Basic Usage Examples

Single Image Processing:

Remove the background from my photo.jpg and save it as photo_nobg.png

Batch Processing:

Process all images in my Photos folder and remove their backgrounds

Advanced Processing:

Use the birefnet-portrait model to remove backgrounds from all portrait photos in my folder, apply alpha matting for better edges, and save them to a new folder

šŸ› ļø Available MCP Tools

rembg-i - Single Image Background Removal

Removes background from a single image file with high precision.

Required Parameters:

  • input_path: Path to the source image file

  • output_path: Where to save the processed image

Optional Parameters:

  • model: AI model to use (default: "u2net")

  • alpha_matting: Improve edge quality (default: false)

  • only_mask: Output black/white mask only (default: false)

Supported formats: JPG, PNG, BMP, TIFF, WebP

rembg-p - Batch Folder Processing

Processes all images in a folder automatically.

Required Parameters:

  • input_folder: Source folder containing images

  • output_folder: Destination folder for processed images

Optional Parameters:

  • model: AI model to use (default: "u2net")

  • alpha_matting: Improve edge quality (default: false)

  • only_mask: Output masks only (default: false)

  • file_extensions: File types to process (default: common image formats)

Features:

  • Automatically finds all supported images

  • Preserves original filenames with .out.png suffix

  • Detailed progress reporting

  • Error handling for individual files

šŸ¤– Supported AI Models

Model

Use Case

Size

Quality

u2net

General purpose (default)

Medium

Good

u2netp

Lightweight version

Small

Good

u2net_human_seg

Human subjects

Medium

Good

u2net_cloth_seg

Clothing segmentation

Medium

Good

silueta

Lightweight general

Small

Good

isnet-general-use

High quality general

Large

Excellent

isnet-anime

Anime characters

Large

Excellent

birefnet-general

High accuracy general

Large

Excellent

birefnet-portrait

Portrait photos

Large

Excellent

birefnet-massive

Massive dataset trained

X-Large

Best

sam

Segment Anything (prompt-based)

Large

Variable

šŸŽÆ Model Recommendations

For beginners: Start with u2net (default) - good balance of speed and quality

For best quality: Use birefnet-general or birefnet-massive

For portraits: Use birefnet-portrait - specialized for human subjects

For anime/cartoons: Use isnet-anime - optimized for animated content

For speed: Use u2netp or silueta - faster processing for batch jobs

šŸ“„ Downloading Models

Models are downloaded automatically when first used, but you can pre-download them:

# Interactive selection (recommended) ./download_models.sh # Linux/macOS # Download specific models ./download_models.sh u2net birefnet-portrait # Download all models ./download_models.sh all # Windows (from activated virtual environment) python download_models.py # Interactive python download_models.py u2net birefnet-portrait

Models are cached in ~/.u2net/ and only need to be downloaded once.

šŸ”§ Configuration

Environment Variables

  • REMBG_HOME: Model storage directory (default: ~/.u2net)

  • OMP_NUM_THREADS: Number of CPU threads for processing (default: 4)

  • MODEL_CHECKSUM_DISABLED: Skip model checksum verification

Advanced Options

  • Alpha Matting: Improves edge quality but increases processing time

  • Mask Only: Returns black/white mask instead of transparent cutout

  • Custom Background Colors: Replace transparent areas with solid colors

  • Batch Processing: Automatically reuses model sessions for efficiency

šŸ“ Project Structure

rembg-mcp/ ā”œā”€ā”€ rembg_mcp/ │ ā”œā”€ā”€ __init__.py │ └── server.py # Main MCP server implementation ā”œā”€ā”€ rembg/ # Virtual environment (git-ignored) ā”œā”€ā”€ setup.sh # Linux/macOS setup script ā”œā”€ā”€ setup.bat # Windows setup script ā”œā”€ā”€ start_server.sh # Linux/macOS server startup ā”œā”€ā”€ start_server.bat # Windows server startup (generated) ā”œā”€ā”€ pyproject.toml # Python package configuration ā”œā”€ā”€ claude_desktop_config.json # Claude Desktop config (Linux/macOS) ā”œā”€ā”€ claude_desktop_config_windows.json # Claude Desktop config (Windows) ā”œā”€ā”€ test_server.py # Installation test ā”œā”€ā”€ validate_setup.py # Comprehensive setup validation ā”œā”€ā”€ download_models.py # AI model download utility (Python) ā”œā”€ā”€ download_models.sh # AI model download script (Linux/macOS) ā”œā”€ā”€ example_usage.py # Usage examples ā”œā”€ā”€ README.md # This file ā”œā”€ā”€ USAGE_CN.md # Chinese documentation └── CLAUDE.md # Claude Code context file

🚨 Troubleshooting

Common Issues

MCP Server Not Found

  • Verify the command path in your MCP configuration

  • Ensure the script is executable: chmod +x start_server.sh

  • Check that the virtual environment exists: ls rembg/

Python Version Issues

python --version # Must be 3.10+ # If wrong version, install Python 3.10+ and recreate venv

Model Download Problems

# Clear model cache and re-download rm -rf ~/.u2net # Re-download models manually ./download_models.sh # Linux/macOS python download_models.py # Windows # Download a specific model ./download_models.sh u2net # Linux/macOS python download_models.py u2net # Windows

Memory or Performance Issues

# Reduce CPU threads export OMP_NUM_THREADS=2 # Use lighter models (u2netp, silueta) instead of large ones

Installation Problems

# Clean reinstall rm -rf rembg/ ./setup.sh # Or setup.bat on Windows

Getting Help

  • Run python validate_setup.py for detailed diagnostics

  • Check server logs when starting manually

  • Ensure your MCP client supports the latest protocol version

šŸ“š Additional Resources

šŸ¤ Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™ Acknowledgments

  • danielgatis/rembg - The excellent background removal library

  • Anthropic - For the MCP protocol and Claude

  • The open source community for the various AI models

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/holocode-ai/rembg-mcp'

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