MCP server for LLM-operable Midjourney image generation — compose, generate, inspect with vision, curate, log. 20 tools. Agent-first
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add cascade-img --env DISCORD_USER_TOKEN='<DISCORD_USER_TOKEN>' --env MJ_CHANNEL_ID='<MJ_CHANNEL_ID>' --env MJ_IMAGINE_VERSION='<MJ_IMAGINE_VERSION>' -- uvx cascade-img~/.codex/config.toml
[mcp_servers.cascade-img]
command = "uvx"
args = ["cascade-img"]
env = { DISCORD_USER_TOKEN = "<DISCORD_USER_TOKEN>", MJ_CHANNEL_ID = "<MJ_CHANNEL_ID>", MJ_IMAGINE_VERSION = "<MJ_IMAGINE_VERSION>" }
# codex mcp add cascade-img --env DISCORD_USER_TOKEN='<DISCORD_USER_TOKEN>' --env MJ_CHANNEL_ID='<MJ_CHANNEL_ID>' --env MJ_IMAGINE_VERSION='<MJ_IMAGINE_VERSION>' -- uvx cascade-img~/.cursor/mcp.json
{
"mcpServers": {
"cascade-img": {
"command": "uvx",
"args": [
"cascade-img"
],
"env": {
"DISCORD_USER_TOKEN": "<DISCORD_USER_TOKEN>",
"MJ_CHANNEL_ID": "<MJ_CHANNEL_ID>",
"MJ_IMAGINE_VERSION": "<MJ_IMAGINE_VERSION>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"cascade-img": {
"type": "stdio",
"command": "uvx",
"args": [
"cascade-img"
],
"env": {
"DISCORD_USER_TOKEN": "<DISCORD_USER_TOKEN>",
"MJ_CHANNEL_ID": "<MJ_CHANNEL_ID>",
"MJ_IMAGINE_VERSION": "<MJ_IMAGINE_VERSION>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"cascade-img": {
"command": "uvx",
"args": [
"cascade-img"
],
"env": {
"DISCORD_USER_TOKEN": "<DISCORD_USER_TOKEN>",
"MJ_CHANNEL_ID": "<MJ_CHANNEL_ID>",
"MJ_IMAGINE_VERSION": "<MJ_IMAGINE_VERSION>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"cascade-img": {
"command": "uvx",
"args": [
"cascade-img"
],
"env": {
"DISCORD_USER_TOKEN": "<DISCORD_USER_TOKEN>",
"MJ_CHANNEL_ID": "<MJ_CHANNEL_ID>",
"MJ_IMAGINE_VERSION": "<MJ_IMAGINE_VERSION>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"cascade-img": {
"command": "uvx",
"args": [
"cascade-img"
],
"env": {
"DISCORD_USER_TOKEN": "<DISCORD_USER_TOKEN>",
"MJ_CHANNEL_ID": "<MJ_CHANNEL_ID>",
"MJ_IMAGINE_VERSION": "<MJ_IMAGINE_VERSION>"
}
}
}
}Environment variables
DISCORD_USER_TOKENMJ_CHANNEL_IDMJ_IMAGINE_VERSION
Replace the placeholders with your own credentials and keep them out of version control.