Claude Code Integration with Midjourney MCP

📘 OverviewClaude Code MCP Overview →

You are a heavy terminal user: tmux split screens, coding in Neovim, Claude Code assistance—everything is done in the command line. Suddenly, the project needs a few concept images. Previously, you had to open Discord, go to the Midjourney channel, use /imagine, wait for the images, download them, and then upload them back to the project. Now, with the Midjourney MCP Server connected, it can be done with a single command in the terminal.

Obtain API Token

Before using the Midjourney MCP Server, you need to prepare an Ace Data Cloud API Token. The method to obtain it is consistent with the Claude Code VS Code configuration tutorial:

  1. Open the Ace Data Cloud Console - Application List to get your API Token for backup.
  2. If you are not logged in or registered, you will be automatically redirected to the login page; after logging in or registering, you will be automatically returned to the current page.
  3. The first application will come with a free quota, allowing you to experience the Claude Code MCP service for free.

One Token can be used for all MCP Servers provided by AceData Cloud, without needing to apply separately for Midjourney. The documentation and screenshots suggest displaying only a desensitized form, such as 3b78cc40dd3b43db806a4300...., and do not paste the complete Token into public repositories, Issues, screenshots, or chat records.

Using the web version of claude.ai or Claude Desktop? They support OAuth one-click authorization, eliminating the need to manually fill in the Token. For details, see the Claude.ai / Desktop tutorial for Midjourney MCP.

Configure Claude Code

Choose one from the three options below. -H must be uppercase; lowercase -h is --help; please replace the Token after Authorization with the actual value you copied from the console.

For Current Project Only: local

Suitable for trial use, the configuration is bound only to the project directory where you run the command. Claude Code will write the record into the local ~/.claude.json, along with the current project path.

claude mcp add midjourney --transport http https://midjourney.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer 3b78cc40dd3b43db806a4300...." \
  -s local

Usable for All Projects: user

Suitable for frequent use of Midjourney MCP across multiple projects. The configuration is written into the local ~/.claude.json user-level configuration, which will be visible in any project when Claude Code is opened afterward.

claude mcp add midjourney --transport http https://midjourney.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer 3b78cc40dd3b43db806a4300...." \
  -s user

Shared with Project: project

Suitable for team projects. The configuration is written into the .mcp.json in the current project root directory, which can be submitted to a private repository for teammates to reuse; do not submit the real Token to public repositories, and it is recommended to change it to an environment variable placeholder or have each person add it locally.

claude mcp add midjourney --transport http https://midjourney.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer 3b78cc40dd3b43db806a4300...." \
  -s project

When the project-level configuration is first read by Claude Code, it may display Pending approval, and you need to confirm trust in this project configuration within the Claude Code session. This is a normal security prompt.

Actual Running Results

Below is the desensitized output after actual execution in an isolated temporary directory using Claude Code 2.1.158. The command uses a real AceData Cloud Token, and the Token in the output has been replaced with 3b78cc40dd3b43db806a4300...., and the temporary configuration has been deleted.

Added HTTP MCP server midjourney with URL: https://midjourney.mcp.acedata.cloud/mcp to local config
midjourney: https://midjourney.mcp.acedata.cloud/mcp (HTTP) - ✓ Connected

The behavior of the three scopes has also been tested:

luma-local: https://luma.mcp.acedata.cloud/mcp (HTTP) - ✓ Connected
luma-user: https://luma.mcp.acedata.cloud/mcp (HTTP) - ✓ Connected
luma-project: https://luma.mcp.acedata.cloud/mcp (HTTP) - ⏸ Pending approval (run `claude` to approve)

To confirm the local configuration, you can run:

claude mcp list

Seeing midjourney: https://midjourney.mcp.acedata.cloud/mcp (HTTP) - ✓ Connected indicates that Midjourney MCP has been successfully integrated.

Terminal Workflow

After configuration is complete, return to the Claude Code session and directly use natural language to call Midjourney, with the image URL returned directly:

Text to Image

Generate a cyberpunk-style city street scene with neon lights reflecting on the rain-soaked streets using Midjourney.

Continuous Iteration

Enlarge and refine the third image from the previous set.

Style Reference

Use this image as a style reference to create a similarly dark-toned cyberpunk tech company homepage banner.

Reverse Analyze Prompt

Analyze what Midjourney prompt might have been used for this image.

Tool List

Tool Description
midjourney_imagine Generate images from text
midjourney_blend Blend multiple images
midjourney_with_reference Generate with reference image (style/character consistency)
midjourney_describe AI describes image content
midjourney_edit Image editing (local repainting, variations)
midjourney_generate_video Generate video from images
midjourney_translate Translate to English description