This MCP Midjourney server enables AI-powered image and video generation, transformation, and editing through the AceDataCloud API, accessible from MCP-compatible clients like Claude Desktop or VS Code.
Core Capabilities:
Image Generation - Create AI-generated images from text prompts, producing 2x2 grids of 4 variations with style, lighting, and composition controls
Image Transformation - Upscale (2x, 4x), create variations (subtle/strong), zoom out (1.5x, 2x), pan in any direction, or reroll existing Midjourney images
Image Blending - Combine 2-5 images into creative fusions with optional prompt guidance
Reference-Based Generation - Use existing images as inspiration and modify them based on text descriptions
Image Editing - Modify specific regions using text prompts and optional masks (white areas regenerate, black areas preserve)
Image Description - Reverse-engineer images to get 4 alternative text descriptions that could recreate similar results
Video Generation - Create videos from text prompts and reference images with support for start/end frames, looping, and resolution options (720p/1080p)
Video Extension - Extend existing videos to make them longer based on prompt descriptions
Translation - Convert Chinese text to English for optimized Midjourney prompts
Task Management - Monitor progress and retrieve results for single or multiple generation tasks using task IDs
Information Tools - Access prompt writing guides, list available actions, and reference transformation options
Key Features:
Three generation modes: fast (default), turbo (faster, more credits), and relax (slower, cheaper)
Works with direct image URLs (JPEG, PNG, GIF) for reference, editing, and blending
Asynchronous task tracking for all generation processes
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP MidjourneyImagine a cozy cabin in the woods during a snowfall --ar 16:9"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Midjourney
A Model Context Protocol (MCP) server for AI image and video generation using Midjourney through the AceDataCloud API.
Generate AI images, videos, and manage creative projects directly from Claude, VS Code, or any MCP-compatible client.
Features
Image Generation - Create AI-generated images from text prompts
Image Transformation - Upscale, create variations, zoom, and pan images
Image Blending - Combine multiple images into creative fusions
Reference-Based Generation - Use existing images as inspiration
Image Description - Get AI descriptions of images (reverse prompt)
Image Editing - Edit images with text prompts and masks
Video Generation - Create videos from text and reference images
Video Extension - Extend existing videos to make them longer
Translation - Translate Chinese prompts to English
Task Tracking - Monitor generation progress and retrieve results
Quick Start
1. Get API Token
Get your API token from AceDataCloud Platform:
Sign up or log in
Navigate to Midjourney Imagine API
Click "Acquire" to get your token
2. Install
# Clone the repository
git clone https://github.com/AceDataCloud/mcp-midjourney.git
cd mcp-midjourney
# Install with pip
pip install -e .
# Or with uv (recommended)
uv pip install -e .3. Configure
# Copy example environment file
cp .env.example .env
# Edit with your API token
echo "ACEDATACLOUD_API_TOKEN=your_token_here" > .env4. Run
# Run the server
mcp-midjourney
# Or with Python directly
python main.pyClaude Desktop Integration
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"midjourney": {
"command": "mcp-midjourney",
"env": {
"ACEDATACLOUD_API_TOKEN": "your_api_token_here"
}
}
}
}Or if using uv:
{
"mcpServers": {
"midjourney": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-midjourney", "mcp-midjourney"],
"env": {
"ACEDATACLOUD_API_TOKEN": "your_api_token_here"
}
}
}
}Available Tools
Image Generation
Tool | Description |
| Generate images from a text prompt (creates 2x2 grid) |
| Transform images (upscale, variation, zoom, pan) |
| Blend multiple images together |
| Generate using a reference image as inspiration |
Image Editing
Tool | Description |
| Edit an existing image with text prompt |
| Get AI descriptions of an image (reverse prompt) |
Video
Tool | Description |
| Generate video from text and reference image |
| Extend existing video to make it longer |
Utility
Tool | Description |
| Translate Chinese text to English for prompts |
Tasks
Tool | Description |
| Query a single task status |
| Query multiple tasks at once |
Information
Tool | Description |
| List available API actions |
| Get prompt writing guide |
| List transformation actions |
Usage Examples
Generate Image from Prompt
User: Create a cyberpunk city at night
Claude: I'll generate a cyberpunk city image for you.
[Calls midjourney_imagine with prompt="Cyberpunk city at night, neon lights, rain, futuristic, detailed --ar 16:9"]Upscale an Image
User: Upscale the second image
Claude: I'll upscale the top-right image from the grid.
[Calls midjourney_transform with image_id and action="upscale2"]Blend Multiple Images
User: Blend these two images: [url1] and [url2]
Claude: I'll blend these images together.
[Calls midjourney_blend with image_urls=[url1, url2]]Generate Video
User: Animate this image [url] with gentle movement
Claude: I'll create a video from this image.
[Calls midjourney_generate_video with image_url and prompt="Gentle camera movement, cinematic"]Generation Modes
Mode | Description |
| Recommended for most use cases (default) |
| Faster generation, uses more credits |
| Slower generation, cheaper |
Configuration
Environment Variables
Variable | Description | Default |
| API token from AceDataCloud | Required |
| API base URL |
|
| Default generation mode |
|
| Request timeout in seconds |
|
| Logging level |
|
Command Line Options
mcp-midjourney --help
Options:
--version Show version
--transport Transport mode: stdio (default) or http
--port Port for HTTP transport (default: 8000)Development
Setup Development Environment
# Clone repository
git clone https://github.com/AceDataCloud/mcp-midjourney.git
cd mcp-midjourney
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # or `.venv\Scripts\activate` on Windows
# Install with dev dependencies
pip install -e ".[dev,test]"Run Tests
# Run unit tests
pytest
# Run with coverage
pytest --cov=core --cov=tools
# Run integration tests (requires API token)
pytest tests/test_integration.py -m integrationCode Quality
# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy core toolsBuild & Publish
# Install build dependencies
pip install -e ".[release]"
# Build package
python -m build
# Upload to PyPI
twine upload dist/*Project Structure
MCPMidjourney/
├── core/ # Core modules
│ ├── __init__.py
│ ├── client.py # HTTP client for Midjourney API
│ ├── config.py # Configuration management
│ ├── exceptions.py # Custom exceptions
│ ├── server.py # MCP server initialization
│ ├── types.py # Type definitions
│ └── utils.py # Utility functions
├── tools/ # MCP tool definitions
│ ├── __init__.py
│ ├── describe_tools.py # Image description tools
│ ├── edits_tools.py # Image editing tools
│ ├── imagine_tools.py # Image generation tools
│ ├── info_tools.py # Information tools
│ ├── task_tools.py # Task query tools
│ ├── translate_tools.py # Translation tools
│ └── video_tools.py # Video generation tools
├── prompts/ # MCP prompt templates
│ └── __init__.py
├── tests/ # Test suite
├── .env.example # Environment template
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── main.py # Entry point
├── pyproject.toml # Project configuration
└── README.mdAPI Reference
This server wraps the AceDataCloud Midjourney API:
Midjourney Imagine API - Image generation
Midjourney Describe API - Image description
Midjourney Tasks API - Task queries
Midjourney Edits API - Image editing
Midjourney Videos API - Video generation
Midjourney Translate API - Translation
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing)Open a Pull Request
License
MIT License - see LICENSE for details.
Links
Made with love by AceDataCloud