Skip to main content
Glama

MidjourneyMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

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

Related MCP server: Midjourney Best Experience MCP Server

Tool Reference

Tool

Description

midjourney_imagine

Generate AI images from a text prompt using Midjourney.

midjourney_transform

Transform an existing Midjourney image with various operations.

midjourney_blend

Blend multiple images together using Midjourney.

midjourney_with_reference

Generate images using a reference image as inspiration.

midjourney_edit

Edit an existing image using Midjourney.

midjourney_describe

Get AI-generated descriptions of an image.

midjourney_generate_video

Generate a video from text prompt and reference image using Midjourney.

midjourney_extend_video

Extend an existing Midjourney video to make it longer.

midjourney_translate

Translate Chinese text to English for use as Midjourney prompts.

midjourney_shorten

Analyze and shorten long Midjourney prompts while preserving key ideas.

midjourney_get_seed

Get the seed value of a previously generated Midjourney image.

midjourney_get_task

Query the status and result of a Midjourney generation task.

midjourney_get_tasks_batch

Query multiple Midjourney generation tasks at once.

midjourney_list_actions

List all available Midjourney API actions and corresponding tools.

midjourney_get_prompt_guide

Get guidance on writing effective prompts for Midjourney.

midjourney_list_transform_actions

List all available transformation actions for Midjourney images.

Quick Start

1. Get Your API Token

  1. Sign up at AceDataCloud Platform

  2. Go to the API documentation page

  3. Click "Acquire" to get your API token

  4. Copy the token for use below

AceDataCloud hosts a managed MCP server — no local installation required.

Endpoint: https://midjourney.mcp.acedata.cloud/mcp

All requests require a Bearer token. Use the API token from Step 1.

Claude.ai

Connect directly on Claude.ai with OAuth — no API token needed:

  1. Go to Claude.ai Settings → Integrations → Add More

  2. Enter the server URL: https://midjourney.mcp.acedata.cloud/mcp

  3. Complete the OAuth login flow

  4. Start using the tools in your conversation

Claude Desktop

Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor / Windsurf

Add to your MCP config (.cursor/mcp.json or .windsurf/mcp.json):

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code (Copilot)

Add to your VS Code MCP config (.vscode/mcp.json):

{
  "servers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Or install the Ace Data Cloud MCP extension for VS Code, which registers the hosted MCP servers with one-click setup.

JetBrains IDEs

  1. Go to Settings → Tools → AI Assistant → Model Context Protocol (MCP)

  2. Click AddHTTP

  3. Paste:

{
  "mcpServers": {
    "midjourney": {
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Claude Code

Claude Code supports MCP servers natively:

claude mcp add midjourney --transport http https://midjourney.mcp.acedata.cloud/mcp \
  -h "Authorization: Bearer YOUR_API_TOKEN"

Or add to your project's .mcp.json:

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cline

Add to Cline's MCP settings (.cline/mcp_settings.json):

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Amazon Q Developer

Add to your MCP configuration:

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code

Add to Roo Code MCP settings:

{
  "mcpServers": {
    "midjourney": {
      "type": "streamable-http",
      "url": "https://midjourney.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Continue.dev

Add to .continue/config.yaml:

mcpServers:
  - name: midjourney
    type: streamable-http
    url: https://midjourney.mcp.acedata.cloud/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Zed

Add to Zed's settings (~/.config/zed/settings.json):

{
  "language_models": {
    "mcp_servers": {
      "midjourney": {
        "url": "https://midjourney.mcp.acedata.cloud/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

cURL Test

# Health check (no auth required)
curl https://midjourney.mcp.acedata.cloud/health

# MCP initialize
curl -X POST https://midjourney.mcp.acedata.cloud/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

3. Or Run Locally (Alternative)

If you prefer to run the server on your own machine:

# Install from PyPI
pip install mcp-midjourney
# or
uvx mcp-midjourney

# Set your API token
export ACEDATACLOUD_API_TOKEN="your_token_here"

# Run (stdio mode for Claude Desktop / local clients)
mcp-midjourney

# Run (HTTP mode for remote access)
mcp-midjourney --transport http --port 8000

Claude Desktop (Local)

{
  "mcpServers": {
    "midjourney": {
      "command": "uvx",
      "args": ["mcp-midjourney"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_token_here"
      }
    }
  }
}

Docker (Self-Hosting)

docker pull ghcr.io/acedatacloud/mcp-midjourney:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-midjourney:latest

Clients connect with their own Bearer token — the server extracts the token from each request's Authorization header.

Available Tools

Image Generation

Tool

Description

midjourney_imagine

Generate images from a text prompt (creates 2x2 grid)

midjourney_transform

Transform images (upscale, variation, zoom, pan)

midjourney_blend

Blend multiple images together

midjourney_with_reference

Generate using a reference image as inspiration

Image Editing

Tool

Description

midjourney_edit

Edit an existing image with text prompt

midjourney_describe

Get AI descriptions of an image (reverse prompt)

Video

Tool

Description

midjourney_generate_video

Generate video from text and reference image

midjourney_extend_video

Extend existing video to make it longer

Utility

Tool

Description

midjourney_translate

Translate Chinese text to English for prompts

midjourney_get_seed

Get the seed value of a generated image

Tasks

Tool

Description

midjourney_get_task

Query a single task status

midjourney_get_tasks_batch

Query multiple tasks at once

Information

Tool

Description

midjourney_list_actions

List available API actions

midjourney_get_prompt_guide

Get prompt writing guide

midjourney_list_transform_actions

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

fast

Recommended for most use cases (default)

turbo

Faster generation, uses more credits

relax

Slower generation, cheaper

Configuration

Environment Variables

Variable

Description

Default

ACEDATACLOUD_API_TOKEN

API token from AceDataCloud

Required

ACEDATACLOUD_API_BASE_URL

API base URL

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth client ID (hosted mode)

ACEDATACLOUD_PLATFORM_BASE_URL

Platform base URL

https://platform.acedata.cloud

MIDJOURNEY_DEFAULT_MODE

Default generation mode

fast

MIDJOURNEY_REQUEST_TIMEOUT

Request timeout in seconds

1800

LOG_LEVEL

Logging level

INFO

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/MidjourneyMCP.git
cd MidjourneyMCP

# 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 integration

Code Quality

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

Build & Publish

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

Project Structure

MidjourneyMCP/
├── 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
├── deploy/                 # Deployment configs
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

API Reference

This server wraps the AceDataCloud Midjourney API:

Contributing

Contributions are welcome! Please:

  1. Fork the repository

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

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

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

  5. Open a Pull Request

Service details

Service details

License

MIT License - see LICENSE for details.


Made with love by AceDataCloud

Available Tools

16 tools
midjourney_blendAInspect

Blend multiple images together using Midjourney.

This allows you to combine 2-5 images into a new creative fusion.

Use this when:
- You want to merge elements from multiple images
- You want to create composite images
- You want to blend styles or subjects together

Example:
- Blend a bear image with a chainsaw image with prompt "The bear is holding the chainsaw"

Returns:
    Task ID and blended image information.
ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoGeneration mode.fast
promptNoDescription of how to blend the images. Examples: 'The bear is holding the chainsaw', 'Combine the face with the background'
image_urlsYesList of image URLs to blend together. Supports 2-5 images. Images should be pure image URLs (not web pages containing images).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states that it blends images and returns a Task ID, implying asynchronous generation. It does not disclose side effects, resource consumption, authentication needs, or other behavioral traits, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: purpose, usage list, example, and return type. It is front-loaded with the main action. Some redundancy exists (e.g., repeating 'blend' and 'combine'), but overall it's well-organized and no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and comprehensive parameter documentation, the description covers the tool's purpose, usage scenarios, and return value. It could be more complete by mentioning limitations like image size or format, but it sufficiently sets expectations for a blending tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing full parameter descriptions. The tool description adds an example but does not provide additional semantics beyond the schema. With high schema coverage, the baseline of 3 is appropriate for not adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool blends multiple images (2-5) using Midjourney, which is a specific verb+resource. It distinguishes from siblings like midjourney_imagine (text-to-image) by focusing on image blending, though it doesn't explicitly name alternative tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use this when' bullet points covering merging, composite creation, and style blending. It gives clear context but does not mention when not to use or suggest alternative tools among the siblings, which would improve guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_describeAInspect

Get AI-generated descriptions of an image.

This analyzes an image and returns 4 alternative text descriptions that
could be used as prompts to recreate similar images with Midjourney.

Use this when:
- You want to understand what prompts might create a similar image
- You want to reverse-engineer an image's style or composition
- You need inspiration for prompts based on existing artwork
- You want to describe an image for documentation

The descriptions include style tags and aspect ratio parameters that
Midjourney understands.

Returns:
    Four alternative descriptions of the image with Midjourney-compatible formatting.
ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to describe. Must be a direct image URL (JPEG, PNG, GIF, etc.), not a web page containing an image.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It discloses the tool analyzes an image and returns descriptions with style tags. No side effects are mentioned, but the read-only nature is implied. Could explicitly state non-destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with a summary, bullet-point usage, and output note. Every sentence adds value, no unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description covers purpose, usage, and return format completely. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for image_url (must be direct URL). The tool description adds no additional parameter guidance, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides AI-generated descriptions of an image, returning 4 alternative text prompts. This distinguishes it from sibling tools like midjourney_imagine (generation) and midjourney_transform (editing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists specific use cases (e.g., reverse-engineering style, inspiration) but does not explicitly state when not to use or compare to alternatives. Still provides clear context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_editAInspect

Edit an existing image using Midjourney.

This allows you to modify an existing image based on a text prompt,
optionally using a mask to specify which regions to edit.

Use this when:
- You want to modify an existing image with AI
- You want to add or change elements in an image
- You want to apply style changes to an image
- You need to edit specific regions using a mask

For masks:
- White areas in the mask indicate regions to regenerate
- Black areas will be preserved from the original

Returns:
    Task ID and edited image information including URLs and dimensions.
ParametersJSON Schema
NameRequiredDescriptionDefault
maskNoOptional Base64-encoded mask image. White areas indicate regions to edit and regenerate.
modeNoGeneration mode. 'fast' is recommended.fast
asyncNoWhether to process the request asynchronously.
promptYesDescription of how to edit the image. Examples: 'A cat sitting on a table', 'Add a sunset in the background', 'Make it look like a watercolor painting'
image_urlYesURL of the image to edit. Must be a direct image URL (not a web page).
callback_urlNoWebhook callback URL for asynchronous notifications. When provided, the API will call this URL when the edit is complete.
split_imagesNoIf true, split the result into separate images returned via sub_image_urls.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral disclosure. It explains important behavior like mask semantics (white regenerates, black preserves) and that the tool returns task ID plus image information. However, it does not disclose side effects, async behavior, failure modes, or any requirements beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a short summary, bulleted use cases, mask guidance, and return info. It is not overly verbose and front-loads the core purpose. The four 'Use this when' bullets are slightly overlapping but still earn their place by clarifying intended scenarios.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters, an output schema, and 100% schema coverage, the description provides enough operational context: what it does, when to use it, how masks work, and what is returned. It does not discuss async/callback modes, but those are fully documented in the schema, so the description does not need to repeat them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, giving a baseline of 3. The description adds value by explicitly stating black mask areas are preserved, which complements the schema's white-region semantics, and by clarifying 'optionally using a mask' in the main description. This adds meaning beyond the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Edit'), the resource ('an existing image'), and the method (via text prompt, optionally with mask). It distinguishes the tool from image generation siblings like midjourney_imagine, though it does not explicitly name a sibling to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this when' section provides clear contextual scenarios: modifying existing images, adding/changing elements, applying style changes, and region-specific edits. It does not explicitly list exclusions or when to prefer a sibling tool like midjourney_transform, but the usage context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_extend_videoAInspect

Extend an existing Midjourney video to make it longer.

This allows you to continue a previously generated video by adding more
frames based on your prompt description.

Use this when:
- You want to make a video longer
- You want to continue the story or motion from an existing video
- You need to add more content to a short clip

Returns:
    Task ID and extended video information including new video URLs.
ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoGeneration mode.fast
asyncNoWhether to process the request asynchronously.
promptYesDescription for the video extension. This guides how the video should continue.
video_idYesID of the video to extend. This is the 'video_id' field from a previous video generation result.
resolutionNoOptional video resolution. '720p' or '480p'.
video_indexNoIndex of the video to extend from the video_urls array. 0-indexed, default is 0 (first video).
callback_urlNoWebhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video extension is complete.
end_image_urlNoOptional URL of an image to use as the final frame of the extended video.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral transparency burden. It discloses that this is an extension operation based on a prompt and that it returns a Task ID plus extended video information. However, it does not describe the asynchronous workflow, whether a new video is created while the original remains unchanged, or any rate/cost implications. It provides moderate transparency but leaves important behavioral details to the schema or the agent's inference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear opening statement, a concise 'Use this when' section, and a returns section. It is front-loaded with the core purpose and avoids excessive detail. Minor redundancy exists between 'make a video longer' and 'add more content to a short clip', but overall it is efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderately complex tool with 8 parameters, the description covers purpose, usage scenarios, and return value. The output schema and parameter schemas handle details like callback_url and async behavior. The description does not explain the full async task lifecycle, but mentioning Task ID and having get_task/get_tasks_batch as siblings makes the context reasonably complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already explains all parameters clearly, including video_id, prompt, video_index, resolution, and callback_url. The description adds only general context about continuing a video based on a prompt description, which maps loosely to parameters but does not add meaningful meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('extend an existing Midjourney video'), the resource (existing video), and the outcome (make it longer by adding frames). It also distinguishes this from generating a new video by emphasizing continuation of a previously generated result, so an agent can separate it from siblings like midjourney_generate_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit 'Use this when' list covering the main use cases: making a video longer, continuing story/motion, and adding content to a short clip. It does not explicitly state when not to use it or name alternative tools, but the context is clear enough to guide selection away from generation-focused siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_generate_videoAInspect

Generate a video from a reference image using Midjourney.

This creates an AI-generated video based on your description and a starting
frame image. Midjourney video generation is image-to-video only — a reference
image is always required. You can optionally specify an ending frame for more
control.

Use this when:
- You want to animate a still image
- You want to create short video clips from a reference image
- You need AI-generated video content

The generation process returns 4 video variations.

Returns:
    Task ID and video information including cover image and video URLs.
ParametersJSON Schema
NameRequiredDescriptionDefault
loopNoIf true, generate a looping video where the end seamlessly connects to the beginning.
modeNoGeneration mode. 'fast' is recommended for most use cases.fast
asyncNoWhether to process the request asynchronously.
promptYesDescription of the video to generate. Examples: 'A cat walking on a table', 'Ocean waves crashing on the shore', 'Timelapse of clouds moving'
image_urlYesURL of the first-frame reference image when generating the video. Required for video generation (Midjourney video generation is image-to-video only and does not support pure text-to-video).
resolutionNoVideo resolution. '720p' or '480p'.720p
callback_urlNoWebhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video is generated.
end_image_urlNoOptional URL of the last frame reference image. Use this to control where the video ends.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden of behavioral disclosure. It discloses the key image-to-video-only requirement, the optional ending-frame feature, that four video variations are generated, and that the response includes task ID and video information with URLs. It does not clarify async-versus-sync return behavior, but the main behavioral constraints are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it front-loads the core purpose and constraint, then gives short use-case bullets and a returns section. It is appropriately sized, though a couple of phrases like 'You need AI-generated video content' and 'using Midjourney' are slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 8 parameters, the rich schema descriptions, and the presence of an output schema, the description covers the essential context: what the tool does, when to use it, the need for a reference image, optional ending-frame control, and the return shape. The main gap is not routing the agent to midjourney_extend_video for extending existing videos or clarifying async behavior, but the schema and output schema mitigate most of that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already explains all eight parameters. The description adds context around image_url being required and end_image_url giving more control, but these mostly echo the rich schema descriptions. It does not add meaningful detail about mode, resolution, loop, async, or callback beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific operation: 'Generate a video from a reference image using Midjourney.' It also emphasizes the image-to-video-only constraint, which distinguishes it from text-to-video or image-generation tools. It does not explicitly name a sibling alternative like midjourney_extend_video, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this when' section provides concrete triggers: animating a still image, creating short video clips from a reference image, and needing AI-generated video content. This gives clear context for when to select the tool, but it does not mention when not to use it or point to an alternative such as midjourney_extend_video for existing videos.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_get_prompt_guideAInspect

Get guidance on writing effective prompts for Midjourney.

Shows how to structure prompts and use parameters for best results.
Following this guide helps Midjourney understand your creative vision.

Returns:
    Complete guide with prompt structure, parameters, and examples.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: it returns a guide with prompt structure, parameters, and examples. It is a read-only operation with no side effects, and the return content is clearly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences: purpose, benefit, and return content. It is well-structured with no unnecessary fluff, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description covers the tool's purpose and return content completely. It leaves no gaps in understanding what the tool does and what it provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the schema coverage is trivially 100%. The description adds no parameter information, but since none exist, the baseline score of 4 for zero parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get guidance on writing effective prompts for Midjourney,' which identifies the tool's purpose with a specific verb and resource. It distinguishes from sibling tools like 'midjourney_imagine' by focusing on guidance rather than generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the guide does and implies usage before writing prompts, saying 'Following this guide helps Midjourney understand your creative vision.' However, it does not explicitly mention when not to use it or provide alternatives, though this is minimally necessary for a guide tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_get_seedAInspect

Get the seed value of a previously generated Midjourney image.

The seed is a numeric value that controls the randomness of generation.
Using the same seed with the same prompt will produce similar results,
which is useful for reproducible generation or fine-tuning prompts.

Use this when:
- You want to reproduce a specific generation result
- You need the seed to use with --seed parameter in prompts
- You want to create variations with consistent base randomness

Returns:
    The seed value for the specified image.
ParametersJSON Schema
NameRequiredDescriptionDefault
image_idYesThe ID of the generated image to get the seed for. This is the 'image_id' field from a previous imagine result.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explains what a seed is and its role in reproducibility, and states the return value. It could mention that the operation is read-only and requires prior generation, but overall it's transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with six well-structured sentences. Use cases are presented in a bullet-like format without redundancy, and every sentence contributes meaningfully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no nested objects, output schema present), the description fully covers the needed context: purpose, usage scenarios, parameter meaning, and return value. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying 'image_id' as the field from a previous imagine result, which helps the agent understand the specific parameter context beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('seed value of a previously generated Midjourney image'), making the tool's purpose unambiguous. It distinguishes from sibling tools like midjourney_imagine which generates images.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (reproduce generation, use with --seed, create variations) but does not specify when not to use or mention alternative tools for similar tasks. It gives clear context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_get_taskAInspect

Query the status and result of a Midjourney generation task.

Use this to check if a generation is complete and retrieve the resulting
image/video URLs and metadata.

Use this when:
- You want to check if a generation has completed
- You need to retrieve URLs from a previous generation
- You want to get the full details of a generated image or video
- You used async callback and want to check results later

Returns:
    Task status and generation result including URLs, dimensions, and available actions.
ParametersJSON Schema
NameRequiredDescriptionDefault
task_idNoThe task ID returned from a generation request. This is the 'task_id' field from any midjourney_imagine, midjourney_describe, midjourney_edit, or midjourney_generate_video tool response.
trace_idNoThe trace ID to retrieve. Used as an alternative to task_id for identifying a task.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It states the tool queries and retrieves but does not disclose any potential side effects, rate limits, or idempotency. For a query tool, this is adequate but lacks depth on constraints or error states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single sentence for purpose, a bulleted list of usage scenarios, and a returns summary. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter descriptions, the description covers purpose, usage, and key return fields (URLs, dimensions, actions). It lacks mention of idempotency or multiplicity but is complete for a simple query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (task_id, trace_id) already well-described in the schema. The tool description adds no new meaning beyond summarizing their purpose. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries the status and result of a Midjourney generation task. It specifies retrieving image/video URLs and metadata, and distinguishes this from siblings like midjourney_imagine (creation) and midjourney_get_tasks_batch (batch query).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Four explicit 'Use this when' scenarios are provided (check completion, retrieve URLs, get full details, async results). It does not mention when not to use it or direct alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_get_tasks_batchAInspect

Query multiple Midjourney generation tasks at once.

Efficiently check the status of multiple tasks in a single request.
More efficient than calling midjourney_get_task multiple times.

Use this when:
- You have multiple pending generations to check
- You want to get status of several images/videos at once
- You're tracking a batch of generations
- You want to list recent tasks with pagination (omit task_ids and trace_ids)

Returns:
    Status and result information for all queried tasks.
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of tasks to return in a batch. Default is 12.
offsetNoOffset for pagination when retrieving a batch of tasks. Default is 0.
task_idsNoList of task IDs to query. Maximum recommended batch size is 50 tasks.
trace_idsNoList of trace IDs to query. Used as an alternative to task_ids.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explains the query behavior, mentions pagination, and max batch size in schema, but does not disclose rate limits, authentication needs, or behavior for invalid IDs. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with a clear header and bullet-pointed usage scenarios. Every sentence adds value, no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, 0 required, high schema coverage, and output schema), the description covers purpose, usage, return value ('Status and result information'), and pagination. No significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented. The description adds value by explaining when to omit task_ids/trace_ids for pagination, and the schema includes max batch recommendation. This goes beyond baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries multiple Midjourney tasks at once, specifying action (query), resource (tasks), and batching. It distinguishes itself from the sibling tool midjourney_get_task by emphasizing efficiency and batch capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists four use cases with bullet points, guiding when to use this tool (multiple pending checks, batch status, pagination). It implies alternatives (single task queries use midjourney_get_task) without explicitly naming it, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_imagineAInspect

Generate AI images from a text prompt using Midjourney.

This is the primary way to create images - describe what you want and Midjourney
will generate a 2x2 grid of 4 image variations.

Use this when:
- You want to create new images from a text description
- You have a creative vision to visualize
- You need AI-generated artwork or illustrations

For image transformations like upscaling or variations, use midjourney_transform instead.

Returns:
    Task ID and generated image information including URLs, dimensions, and available actions.
ParametersJSON Schema
NameRequiredDescriptionDefault
hdNoEnable HD output. V8.2 supports HD; V8.1 uses separate SD and HD resolution-based rates.
maskNoOptional Base64-encoded mask image for image-based generation actions.
modeNoGeneration mode. 'fast' is recommended and 'relax' is slower but cheaper. 'turbo' is faster on supported versions. V8.2 supports it; V8.1 only supports fast and relax.fast
asyncNoWhether to process the request asynchronously.
promptYesDescription of the image to generate. Be descriptive about style, subject, lighting, and composition. Examples: 'A majestic lion in a savanna at sunset, cinematic lighting', 'Cyberpunk city street at night, neon lights, rain, photorealistic', 'Abstract watercolor painting of mountains and clouds'
qualityNoImage quality level for versions that support --quality / --q. V8.2 supports it. This parameter is not supported in V8.1.
timeoutNoTimeout in seconds for the API to return data. Default is 480.
versionNoMidjourney model version to use, e.g. '8.2', '8.1', '8', '7', '6.1'. '8.2' is the latest version and is recommended. Leave unset to use Midjourney's default.
image_idNoOptional image ID for image-based generation actions.
moodboardNoWhether the prompt uses a moodboard. V8.1 bills it at the selected SD/HD resolution rate; V8.0 Alpha uses different premium rules.
translationNoIf true, automatically translate non-English prompts to English for better results.
callback_urlNoWebhook callback URL for asynchronous notifications. When provided, the API will call this URL when the image is generated.
split_imagesNoIf true, split the 2x2 grid result into 4 separate images returned via sub_image_urls.
style_referenceNoWhether the prompt includes --sref style reference. V8.1 bills it at the selected SD/HD resolution rate; V8.0 Alpha uses different premium rules.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the disclosure burden. It usefully reveals the 2x2 grid output and the return payload including Task ID, URLs, dimensions, and available actions. However, it does not mention billing/credit consumption, expected latency, or asynchronous execution behavior, which are material for an image-generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized into purpose, usage criteria, alternative routing, and return information. Every sentence adds value, and the structure is front-loaded with the primary action before usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 14-parameter tool with an output schema, the description covers the core invocation path, output format, and sibling routing. Version-specific and async/callback details are already documented in the input schema, so the description does not need to repeat them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with detailed descriptions for all 14 parameters including defaults, version notes, and examples. The description adds no new parameter-level semantics beyond emphasizing that the prompt is the core input, which is acceptable because the schema already handles this thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Generate AI images from a text prompt using Midjourney.' It clearly positions this as the primary creation tool and distinguishes it from midjourney_transform by noting that transformations like upscaling or variations belong elsewhere.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Use this when' criteria such as creating new images from a text description, visualizing a creative vision, or needing AI-generated artwork. It also names the alternative midjourney_transform for transformation tasks, giving an agent direct routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_list_actionsAInspect

List all available Midjourney API actions and corresponding tools.

Reference guide for what each action does and which tool to use.
Helpful for understanding the full capabilities of the Midjourney MCP.

Returns:
    Categorized list of all actions and their corresponding tools.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly states it returns a categorized list of actions and tools, which is a read-only operation. No hidden behaviors or side effects are implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with the primary purpose, then additional context. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, an output schema exists, and it is a simple listing tool, the description fully covers what the tool does and what it returns. No additional information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is nothing to explain. The description adds value by describing the output format (categorized list) and its purpose as a reference guide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states that the tool lists all available Midjourney API actions and corresponding tools, and serves as a reference guide. This clearly distinguishes it from sibling tools which are action-specific (e.g., midjourney_imagine, midjourney_transform).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates it is helpful for understanding the full capabilities, implying use for discovery and reference. It does not explicitly state when not to use it or compare to alternatives, but context makes it clear this is the overview tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_list_transform_actionsAInspect

List all available transformation actions for Midjourney images.

Reference guide for transform actions used with midjourney_transform tool.

Returns:
    Detailed list of all transformation actions and when to use them.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavior. It states it returns detailed list and usage guidance, implying a read-only operation. However, it does not explicitly confirm no side effects or mention authentication, leaving some ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each providing essential information: purpose, context as reference guide, and content of return. No unnecessary words, front-loaded with the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description is complete. It explains what the tool does and what the return entails, sufficient for an AI agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, baseline is 4. The description adds value by explaining the output includes 'Detailed list of all transformation actions and when to use them,' which goes beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all available transformation actions for Midjourney images,' specifying 'transformation' to distinguish from sibling tools like midjourney_list_actions. The title reinforces this, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says it's a 'Reference guide for transform actions used with midjourney_transform tool,' implying it should be used before calling midjourney_transform. However, it does not explicitly state when to use or not use this tool compared to alternatives like midjourney_list_actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_shortenAInspect

Shorten and analyze a Midjourney prompt using Midjourney's built-in prompt analyzer.

This tool helps optimize long or complex prompts by identifying the most
important elements and producing up to 5 shortened candidate prompts that
preserve the dominant ideas.

Use this when:
- You have a long prompt and want to identify the most impactful words
- You want to understand which parts of your prompt carry the most weight
- You need to simplify a complex prompt while keeping its essence

Returns:
    Up to 5 shortened candidate prompts derived from the original.
ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe prompt to analyze and shorten. Midjourney's prompt analyzer reads the prompt, highlights the highest-weighted tokens and produces up to 5 shortened candidate prompts that preserve the dominant ideas.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It describes the process (analyzes tokens, produces candidates) but lacks details on side effects, permissions, rate limits, or whether the tool is read-only. The description is informative but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a brief main sentence, a clarifying paragraph, a bulleted use-case list, and a return statement. Every sentence adds value, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, clear output) and the presence of an output schema, the description covers all essential aspects: what it does, when to use it, and what it returns. No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is already well-documented. The description adds some context about the analyzer and token weighting, but this does not significantly increase understanding beyond the schema's own description. The baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'shorten and analyze' and the resource 'Midjourney prompt'. It distinguishes itself from siblings like midjourney_imagine or midjourney_describe by focusing on prompt optimization, and it explicitly lists the output (up to 5 shortened candidates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a 'Use this when:' section with three specific scenarios (long prompt, identifying impactful words, simplifying complex prompts). However, it does not mention when not to use the tool or explicitly name alternative siblings, which would strengthen the guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_transformAInspect

Transform an existing Midjourney image with various operations.

This allows you to upscale, create variations, zoom, or pan existing images
generated by Midjourney.

Use this when:
- You want to upscale one of the 4 images from a generation
- You want to create variations of a specific image
- You want to zoom out or pan an image
- You want to regenerate with the same prompt

Workflow example:
1. Generate with midjourney_imagine -> get image_id
2. Upscale favorite: midjourney_transform(image_id, "upscale2")
3. Further upscale: midjourney_transform(new_image_id, "upscale_4x")

Returns:
    Task ID and transformed image information.
ParametersJSON Schema
NameRequiredDescriptionDefault
maskNoBase64-encoded mask image for variation_region action. White areas indicate regions to regenerate.
modeNoGeneration mode for the transformation.fast
actionYesTransformation action to perform. Options include: - upscale1/2/3/4: Upscale one of the 4 images (top-left=1, top-right=2, bottom-left=3, bottom-right=4) - upscale_2x/4x: Further upscale an already upscaled image by 2x or 4x - variation1/2/3/4: Create variations of one of the 4 images - variation_subtle/strong: Create subtle or strong variations after upscaling - reroll: Regenerate all 4 images with the same prompt - zoom_out_2x/1_5x: Zoom out the image by 2x or 1.5x - pan_left/right/up/down: Pan the image in a direction
promptNoOptional prompt for the transformation. Used with variation_region action.
image_idYesID of the image to transform. This is the 'image_id' field from a previous generation result.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes actions and their effects, but lacks details on side effects, rate limits, or prerequisites like image_id validity. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a brief purpose statement, bullet points for usage, a workflow example, and return info. No unnecessary words; efficiently conveys needed information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, many actions) and existence of an output schema, the description covers main usage scenarios and workflow. Could improve by noting error handling or prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds context: image_id is tied to a previous generation, prompt/mask are used with variation_region, and the workflow example explains action sequence. Adds value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool transforms existing Midjourney images with operations like upscaling, variations, zoom, and pan. It distinguishes itself from generation tools but does not explicitly differentiate from midjourney_edit or midjourney_blend.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this when' section lists specific scenarios (upscale, variation, zoom, pan, reroll), and a workflow example is provided. However, it does not explicitly state when not to use this tool or mention alternatives like blend or edit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_translateAInspect

Translate Chinese text to English for use as Midjourney prompts.

Midjourney works best with English prompts. This tool helps translate
Chinese descriptions to English, optimized for image generation.

Use this when:
- You have a Chinese description that needs translation
- You want to convert Chinese prompts to English
- You need English prompts for better Midjourney results

Returns:
    Translated English text ready to use as a Midjourney prompt.
ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesChinese text to translate to English. This is useful for converting Chinese prompts to English for better Midjourney results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It discloses that translation is optimized for image generation and returns English text ready as a prompt. This is adequate for a straightforward translation tool, though it does not mention any rate limits or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short paragraphs plus a return line, breaking down purpose, usage, and output. Every sentence is meaningful, and there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (single parameter, output schema exists), the description covers purpose, when to use, and what it returns. It is fully complete for an agent to decide when to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, giving a baseline of 3. The description adds minimal extra value beyond the schema, only rephrasing that the content is Chinese text for translation. The schema already describes the parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool translates Chinese text to English specifically for Midjourney prompts, with a specific verb 'Translate' and resource 'Chinese text to English'. It distinguishes itself from siblings which are all other Midjourney tool categories (e.g., imagine, blend) that serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear list of when to use the tool (Chinese description needing translation, converting Chinese prompts, needing English for better results). While no explicit when-not or alternatives are given, the context of Midjourney tools makes it clear that this is for translation only, not other tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

midjourney_with_referenceAInspect

Generate images using a reference image as inspiration.

This allows you to use an existing image as a starting point and modify it
based on your prompt description.

Use this when:
- You want to reimagine an existing image with modifications
- You want to change the style of an image
- You want to add or change elements while keeping the composition

Tips:
- Use --iw parameter (image weight) to control reference influence (0-2)
- Higher --iw values make the output more similar to the reference

Returns:
    Task ID and generated image information.
ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoGeneration mode.fast
promptYesDescription of how to modify or reimagine the reference image. Examples: 'an illustration of a car parked on the beach --iw 2', 'in the style of Van Gogh'
reference_image_urlYesURL of the reference image to use as a base. Must be a direct image URL (not a web page).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explains the tool uses a reference image and modifies based on prompt, mentions the --iw parameter, and states it returns a Task ID and image info. Missing: behavior on invalid URLs, rate limits, or cost differences. Still good overall.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with clear sections: main action, usage scenarios, tips. Every sentence adds value. No redundant or verbose phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no nested objects, and an output schema (implied), the description is sufficient. It covers usage, returns, and tips. Could elaborate on output fields, but output schema exists to fill that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value beyond schema by explaining how to use --iw for control and providing example prompts. This contextualizes the prompt parameter more richly than the schema description alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates images using a reference image as inspiration. The verb 'generate' and the resource 'reference image' are specific, and it contrasts with sibling tools like 'midjourney_imagine' which does not use a reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists explicit use cases ('when you want to reimagine, change style, add/change elements'). However, it does not explicitly state when NOT to use this tool (e.g., for generation without reference). This is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.10
    • Changedmidjourney_edit1 field changed
      • addedInput schema / properties / async
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to process the request asynchronously.",
        +  "title": "Async"
        +}
    • Changedmidjourney_extend_video1 field changed
      • addedInput schema / properties / async
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to process the request asynchronously.",
        +  "title": "Async"
        +}
    • Changedmidjourney_generate_video1 field changed
      • addedInput schema / properties / async
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to process the request asynchronously.",
        +  "title": "Async"
        +}
    • Changedmidjourney_imagine3 fields changed
      • addedInput schema / properties / async
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Whether to process the request asynchronously.",
        +  "title": "Async"
        +}
      • addedInput schema / properties / image_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional image ID for image-based generation actions.",
        +  "title": "Image Id"
        +}
      • addedInput schema / properties / mask
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional Base64-encoded mask image for image-based generation actions.",
        +  "title": "Mask"
        +}
  2. 1 tool updatev0.1.9
    • Changedmidjourney_imagine5 fields changed
      • changedInput schema / properties / hd / description
        Previous value: -"Enable 2K HD output. V8.1 uses separate SD and HD resolution-based rates; V8.0 Alpha uses different premium rules."New value: +"Enable HD output. V8.2 supports HD; V8.1 uses separate SD and HD resolution-based rates."
      • changedInput schema / properties / mode / description
        Previous value: -"Generation mode. 'fast' is recommended and 'relax' is slower but cheaper. 'turbo' is faster on supported versions, but V8.1 only supports fast and relax."New value: +"Generation mode. 'fast' is recommended and 'relax' is slower but cheaper. 'turbo' is faster on supported versions. V8.2 supports it; V8.1 only supports fast and relax."
      • changedInput schema / properties / quality / description
        Previous value: -"Image quality level for versions that support --quality / --q. This parameter is not supported in V8.1; use hd for higher-resolution V8.1 output."New value: +"Image quality level for versions that support --quality / --q. V8.2 supports it. This parameter is not supported in V8.1."
      • changedInput schema / properties / version / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "5.2",
        -      "6",
        -      "6.1",
        -      "7",
        -      "8",
        -      "8.1"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "5.2",
        +      "6",
        +      "6.1",
        +      "7",
        +      "8",
        +      "8.1",
        +      "8.2"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / version / description
        Previous value: -"Midjourney model version to use, e.g. '8.1', '8', '7', '6.1'. '8.1' is the latest version and is recommended. Leave unset to use Midjourney's default."New value: +"Midjourney model version to use, e.g. '8.2', '8.1', '8', '7', '6.1'. '8.2' is the latest version and is recommended. Leave unset to use Midjourney's default."
  3. 1 tool updatev0.1.8
    • Changedmidjourney_extend_video1 field changed
      • addedInput schema / properties / resolution
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "480p",
        +        "720p"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional video resolution. '720p' or '480p'.",
        +  "title": "Resolution"
        +}
  4. 1 tool updatev0.1.7
    • Changedmidjourney_imagine5 fields changed
      • changedInput schema / properties / hd / description
        Previous value: -"Enable HD mode (V8/V8.1). Generates higher resolution images at 4x cost."New value: +"Enable 2K HD output. V8.1 uses separate SD and HD resolution-based rates; V8.0 Alpha uses different premium rules."
      • changedInput schema / properties / mode / description
        Previous value: -"Generation mode. 'fast' is recommended for most use cases. 'turbo' is faster but uses more credits. 'relax' is slower but cheaper."New value: +"Generation mode. 'fast' is recommended and 'relax' is slower but cheaper. 'turbo' is faster on supported versions, but V8.1 only supports fast and relax."
      • changedInput schema / properties / moodboard / description
        Previous value: -"Whether using moodboard feature (V8 only, multiple reference images). Incurs 4x cost."New value: +"Whether the prompt uses a moodboard. V8.1 bills it at the selected SD/HD resolution rate; V8.0 Alpha uses different premium rules."
      • changedInput schema / properties / quality / description
        Previous value: -"Image quality level. Values: '.25', '.5', '1', '2', '4'. Quality '4' is V8/V8.1 only."New value: +"Image quality level for versions that support --quality / --q. This parameter is not supported in V8.1; use hd for higher-resolution V8.1 output."
      • changedInput schema / properties / style_reference / description
        Previous value: -"Whether the prompt includes --sref style reference. In V8 this incurs 4x cost."New value: +"Whether the prompt includes --sref style reference. V8.1 bills it at the selected SD/HD resolution rate; V8.0 Alpha uses different premium rules."
  5. 16 tool updatesv0.1.5
    • Addedmidjourney_blend
    • Addedmidjourney_describe
    • Addedmidjourney_edit
    • Addedmidjourney_extend_video
    • Addedmidjourney_generate_video
    • Addedmidjourney_get_prompt_guide
    • Addedmidjourney_get_seed
    • Addedmidjourney_get_task
    • Addedmidjourney_get_tasks_batch
    • Addedmidjourney_imagine
    • Addedmidjourney_list_actions
    • Addedmidjourney_list_transform_actions
    • Addedmidjourney_shorten
    • Addedmidjourney_transform
    • Addedmidjourney_translate
    • Addedmidjourney_with_reference
  6. 16 tool updatesv0.1.4
    • Removedmidjourney_blend
    • Removedmidjourney_describe
    • Removedmidjourney_edit
    • Removedmidjourney_extend_video
    • Removedmidjourney_generate_video
    • Removedmidjourney_get_prompt_guide
    • Removedmidjourney_get_seed
    • Removedmidjourney_get_task
    • Removedmidjourney_get_tasks_batch
    • Removedmidjourney_imagine
    • Removedmidjourney_list_actions
    • Removedmidjourney_list_transform_actions
    • Removedmidjourney_shorten
    • Removedmidjourney_transform
    • Removedmidjourney_translate
    • Removedmidjourney_with_reference
  7. 2 tool updatesv0.1.2
    • Changedmidjourney_imagine4 fields changed
      • changedInput schema / properties / hd / description
        Previous value: -"Enable HD mode (V8 only). Generates higher resolution images at 4x cost. Requires version='8'."New value: +"Enable HD mode (V8/V8.1). Generates higher resolution images at 4x cost."
      • changedInput schema / properties / quality / description
        Previous value: -"Image quality level. For V8: '1' (standard) or '4' (ultra, 4x cost). For older versions: '.25', '.5', or '1'. HD + quality '4' = 16x cost."New value: +"Image quality level. Values: '.25', '.5', '1', '2', '4'. Quality '4' is V8/V8.1 only."
      • changedInput schema / properties / version / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "5.2",
        -      "6",
        -      "6.1",
        -      "7",
        -      "8"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "5.2",
        +      "6",
        +      "6.1",
        +      "7",
        +      "8",
        +      "8.1"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / version / description
        Previous value: -"Midjourney model version to use. '8' is the latest V8 Alpha with HD and ultra quality support. Leave unset to use Midjourney's default."New value: +"Midjourney model version to use, e.g. '8.1', '8', '7', '6.1'. '8.1' is the latest version and is recommended. Leave unset to use Midjourney's default."
    • Addedmidjourney_shorten
  8. 7 tool updatesv0.1.1
    • Changedmidjourney_edit1 field changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the edit is complete.",
        +  "title": "Callback Url"
        +}
    • Changedmidjourney_extend_video3 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video extension is complete.",
        +  "title": "Callback Url"
        +}
      • addedInput schema / properties / end_image_url
        Added value: +{
        +  "default": "",
        +  "description": "Optional URL of an image to use as the final frame of the extended video.",
        +  "title": "End Image Url",
        +  "type": "string"
        +}
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "fast",
        -  "relax",
        -  "turbo"
        -]New value: +[
        +  "fast",
        +  "turbo"
        +]
    • Changedmidjourney_generate_video5 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video is generated.",
        +  "title": "Callback Url"
        +}
      • changedInput schema / properties / image_url / description
        Previous value: -"URL of the first frame reference image. This image will be used as the starting point for the video."New value: +"URL of the first-frame reference image when generating the video. Required for video generation (Midjourney video generation is image-to-video only and does not support pure text-to-video)."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "fast",
        -  "relax",
        -  "turbo"
        -]New value: +[
        +  "fast",
        +  "turbo"
        +]
      • changedInput schema / properties / resolution / description
        Previous value: -"Video resolution. '720p' or '1080p'."New value: +"Video resolution. '720p' or '480p'."
      • changedInput schema / properties / resolution / enum
        Previous value: -[
        -  "720p",
        -  "1080p"
        -]New value: +[
        +  "480p",
        +  "720p"
        +]
    • Addedmidjourney_get_seed
    • Changedmidjourney_get_task5 fields changed
      • addedInput schema / properties / task_id / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / task_id / default
        Added value: +null
      • removedInput schema / properties / task_id / type
        Removed value: -"string"
      • addedInput schema / properties / trace_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "The trace ID to retrieve. Used as an alternative to task_id for identifying a task.",
        +  "title": "Trace Id"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "task_id"
        -]
    • Changedmidjourney_get_tasks_batch8 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 12,
        +  "description": "Maximum number of tasks to return in a batch. Default is 12.",
        +  "title": "Limit",
        +  "type": "integer"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "default": 0,
        +  "description": "Offset for pagination when retrieving a batch of tasks. Default is 0.",
        +  "title": "Offset",
        +  "type": "integer"
        +}
      • addedInput schema / properties / task_ids / anyOf
        Added value: +[
        +  {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / task_ids / default
        Added value: +null
      • removedInput schema / properties / task_ids / items
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / task_ids / type
        Removed value: -"array"
      • addedInput schema / properties / trace_ids
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "List of trace IDs to query. Used as an alternative to task_ids.",
        +  "title": "Trace Ids"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "task_ids"
        -]
    • Changedmidjourney_imagine7 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the image is generated.",
        +  "title": "Callback Url"
        +}
      • addedInput schema / properties / hd
        Added value: +{
        +  "default": false,
        +  "description": "Enable HD mode (V8 only). Generates higher resolution images at 4x cost. Requires version='8'.",
        +  "title": "Hd",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / moodboard
        Added value: +{
        +  "default": false,
        +  "description": "Whether using moodboard feature (V8 only, multiple reference images). Incurs 4x cost.",
        +  "title": "Moodboard",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / quality
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Image quality level. For V8: '1' (standard) or '4' (ultra, 4x cost). For older versions: '.25', '.5', or '1'. HD + quality '4' = 16x cost.",
        +  "title": "Quality"
        +}
      • addedInput schema / properties / style_reference
        Added value: +{
        +  "default": false,
        +  "description": "Whether the prompt includes --sref style reference. In V8 this incurs 4x cost.",
        +  "title": "Style Reference",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / timeout
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Timeout in seconds for the API to return data. Default is 480.",
        +  "title": "Timeout"
        +}
      • addedInput schema / properties / version
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "5.2",
        +        "6",
        +        "6.1",
        +        "7",
        +        "8"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Midjourney model version to use. '8' is the latest V8 Alpha with HD and ultra quality support. Leave unset to use Midjourney's default.",
        +  "title": "Version"
        +}
  9. 14 tool updatesv0.1.0
    • First observedmidjourney_blend
    • First observedmidjourney_describe
    • First observedmidjourney_edit
    • First observedmidjourney_extend_video
    • First observedmidjourney_generate_video
    • First observedmidjourney_get_prompt_guide
    • First observedmidjourney_get_task
    • First observedmidjourney_get_tasks_batch
    • First observedmidjourney_imagine
    • First observedmidjourney_list_actions
    • First observedmidjourney_list_transform_actions
    • First observedmidjourney_transform
    • First observedmidjourney_translate
    • First observedmidjourney_with_reference

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: generation (imagine, blend, with_reference), editing (edit, transform), video (generate_video, extend_video), analysis (describe, shorten, translate), and task management. No significant overlap; descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow a consistent 'midjourney_' prefix plus verb or verb_noun pattern (e.g., midjourney_blend, midjourney_get_task). Naming is systematic and predictable.

Tool Count5/5

With 16 tools covering generation, editing, video, analysis, and task management, the count is well-scoped for Midjourney's capabilities. Each tool serves a distinct function without redundancy.

Completeness5/5

The tool surface covers the full creative workflow: image generation, blending, editing, transformation, video creation, prompt analysis, translation, task tracking, and reference guides. No obvious gaps for the intended purpose.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/AceDataCloud/MidjourneyMCP'

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