midjourney-mcp-web

midjourney-mcp-web

Unofficial MCP server for generating images via Midjourney web app using authentication cookies. Enables text-to-image generation with customizable parameters.

Category
Visit Server

README

Midjourney MCP Web

Unofficial Model Context Protocol (MCP) server for generating images through the Midjourney web app using your own signed-in browser authentication cookies.

This project is a cleaned-up and modernized fork of Lala-0x3f/mj-mcp. It keeps the same simple MCP surface, but updates the web flow for the current Midjourney site:

  • submits jobs to /api/submit-jobs
  • reads the Midjourney user id from the signed-in web page
  • polls /api/imagine instead of relying on the now-blocked websocket path
  • defaults to --v 8.1

This project is not affiliated with, endorsed by, or supported by Midjourney.

Tool

The server exposes one MCP tool:

generating_image(prompt: str, aspect_ratio: str) -> str

The response is Markdown with four Midjourney CDN image URLs.

Requirements

  • Python 3.10+
  • uv or another Python package runner
  • A Midjourney account with access to the web app
  • Your own __Host-Midjourney.AuthUserTokenV3_r and __Host-Midjourney.AuthUserTokenV3_i cookie values

Install From GitHub

uvx --from git+https://github.com/WilliamJizh/midjourney-mcp-web midjourney-mcp-web

For local development:

git clone https://github.com/WilliamJizh/midjourney-mcp-web.git
cd midjourney-mcp-web
uv run --with-editable . python -m midjourney_mcp_web

Configuration

The server reads configuration from environment variables.

Variable Required Default Description
TOKEN_R Yes Value of __Host-Midjourney.AuthUserTokenV3_r
TOKEN_I Yes Value of __Host-Midjourney.AuthUserTokenV3_i
API_BASE No www.midjourney.com Midjourney web host
SUFFIX No --v 8.1 Parameters appended to every prompt
MJ_JOB_TIMEOUT_SEC No 300 Polling timeout for completed job visibility
CHANNEL_ID No singleplayer_<user_id> Override channel id

Never commit real token values. Treat both tokens as secrets.

Codex Config Example

[mcp_servers.midjourney]
command = "uvx"
args = ["--from", "git+https://github.com/WilliamJizh/midjourney-mcp-web", "midjourney-mcp-web"]

[mcp_servers.midjourney.env]
TOKEN_R = "replace_with_midjourney_cookie_r"
TOKEN_I = "replace_with_midjourney_cookie_i"
SUFFIX = "--v 8.1"

For better local security on macOS, store the tokens in Keychain and use a small wrapper script that exports TOKEN_R and TOKEN_I before launching this server. Do not publish that wrapper with real values.

Claude Desktop Config Example

{
  "mcpServers": {
    "midjourney": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/WilliamJizh/midjourney-mcp-web",
        "midjourney-mcp-web"
      ],
      "env": {
        "TOKEN_R": "replace_with_midjourney_cookie_r",
        "TOKEN_I": "replace_with_midjourney_cookie_i",
        "SUFFIX": "--v 8.1"
      }
    }
  }
}

Getting Cookie Values

  1. Open https://www.midjourney.com/explore?tab=top while signed in.
  2. Open browser developer tools.
  3. Go to Application or Storage.
  4. Open Cookies for https://www.midjourney.com.
  5. Copy the values for:
    • __Host-Midjourney.AuthUserTokenV3_r
    • __Host-Midjourney.AuthUserTokenV3_i

Do not paste these values into public chats, issues, logs, or commits.

Example Prompt

A peaceful impressionist garden with water lilies and soft morning light --stylize 200

Call the MCP tool with:

{
  "prompt": "A peaceful impressionist garden with water lilies and soft morning light --stylize 200",
  "aspect_ratio": "3:4"
}

The server appends:

--ar 3:4 --v 8.1

unless you override SUFFIX.

Development

uv run --extra dev pytest
uv run --extra dev python -m build

Run a no-secret source scan before publishing:

git grep -n -I -E 'TOKEN_R=|TOKEN_I=|AuthUserTokenV3_[ri]=[^\"[:space:]]+|gho_|sk-[A-Za-z0-9]|BEGIN (RSA|OPENSSH|PRIVATE) KEY'

Limitations

  • Midjourney web APIs are not public APIs and may change without notice.
  • The server uses your own Midjourney account and may consume GPU time.
  • The returned URLs point to Midjourney CDN assets.
  • This does not upload reference images; it is text-prompt only.

License

GPL-3.0-or-later. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured