Atlas / MCP servers / thenavidm / midjourney-mcp-cli

midjourney-mcp-cliCAUTION

mcp/thenavidm/midjourney-mcp-cli

Midjourney MCP server and CLI for Claude Code, Codex and AI agents. 32 tools for generating images, following jobs to completion, downloading the real files, and building moodboards that make a style reusable.

Verdict
CAUTION
Grade
B
Trust score
89 /100
Exposed tools
25 21r · 3w · 1d
Transport
—
License
MIT
Stars
3
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://www.npmjs.com/package/@thenavidm/midjourney-mcp-cli) [](./LICENSE) [](https://youtube.com/@thenavidm?sub_confirmation=1) [](https://x.com/thenavidm) [](https://linkedin.com/in/thenavidm)

Midjourney MCP server and CLI for Claude Code, Codex and AI agents. 32 tools for generating images, following jobs to completion, downloading the real files, and building moodboards that make a style reusable.

Midjourney publishes no API, so this drives a real Chrome that is signed in as you.

There is no key to paste and no cookie to export. You sign in once, in a window, and the session lives in a browser profile rather than in a config file.

32 tools, on both surfaces. It waits for jobs to finish and hands back the actual files, not a screenshot of them.

Built and maintained by Navid Moazzez. Built on Slipway, which turns one definition of each tool into the MCP server and the CLI.

Two ways to use it

Command line

midjourney-cli in your terminal, for scripting, cron, pipes, or a quick question without opening anything:

midjourney-cli                                        # every command, one line each
midjourney-cli login                                  # sign in on
Read from source at commit ca6874110f93OBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add midjourney-mcp-cli -- npx -y @thenavidm/[email protected]
claude-desktop
{
  "mcpServers": {
    "midjourney-mcp-cli": {
      "command": "npx",
      "args": [
        "-y",
        "@thenavidm/[email protected]"
      ]
    }
  }
}
03

Exposed tools (25)

21 read · 3 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
add_to_moodboardwriteAdd images to a moodboard, either from a job you generated or by direct URL.\n\nPass job_id to add that job
api_getreadIssue a GET against an arbitrary path on midjourney.com and return the JSON. The escape hatch for endpoints this server has no named tool for.\n\nMidjourney publishes no API, so the set of endpoints is whatever its web app happens to call this month. Discover them with
download_urlreadDownload a single Midjourney asset by its direct URL. For image URLs already in hand, from list_jobs, explore_feed or a moodboard, where going back through a job id would be a detour.\n\nOnly useful for URLs the signed-in browser session can reach.
explore_feedreadBrowse Midjourney
explore_style_likesreadFetch the style-like metadata the explore grid uses, which marks which styles the account has liked. Mostly useful alongside explore_feed when working out which references have already been saved.
get_contest_ranking_countreadShow how many contest ranking rounds this account has completed.
get_jobreadLook up a single job by id and return its status and image URLs. Checks the live update feed first, then recent history.\n\nOnly jobs still in the account
get_moodboardreadLook up a moodboard by name or id and return its reference images.\n\nPartial names work:
get_queuereadShow the account
get_storagereadShow the storage metadata the web app exposes: how much space the account
job_updatesreadPoll the feed the web app itself watches while work is in flight. Returns jobs whose state has changed recently.\n\nPass the checkpoint from a previous response to get only what has changed since. Most callers want wait_for_job instead, which drives this loop for you.
list_foldersreadList the folders in the account
list_followingreadList the Midjourney creators this account follows.
list_jobsreadList the account
list_model_ratingsreadList the image-rating tasks Midjourney is offering this account. Rating images earns fast hours and feeds the account
list_moodboardsreadList the account
list_personalized_profilesreadList the account
pan_imagereadExtend one image in a direction, inventing what lies beyond the current frame. Good for turning a portrait crop into a wide shot without regenerating it. Costs GPU time.
remix_imagereadKeep an image
remove_from_moodboarddestructiveRemove images from a moodboard by URL.\n\nCuration is the point of a moodboard, so this is how a board stays sharp. It cannot be undone from here: the board is edited in place and there is no history, which is why it needs confirmation.
rerun_jobwriteRun an existing job again, which is what the reroll button in the web app does. Same prompt and settings, a new roll of the dice. Pass new_prompt to change the wording while keeping everything else.\n\nThe job must still be in the account
submit_raw_jobwriteSend an arbitrary job type to Midjourney
upscale_imagereadUpscale one image from a finished grid to full resolution.\n\n
whoamireadReport which Midjourney account the controlled browser is signed in as, and whether the browser is reachable at all.\n\nThe first thing to call when something is not working: it separates
zoom_outreadPull the camera back, filling the new space around the existing image. 200 doubles the frame, 150 is gentler. Useful for giving a tight shot room for a headline or a logo. Costs GPU time.
04

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (7 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (7)

MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/app.ts:76
{ env: "MIDJOURNEY_CDP_URL", description: "The DevTools endpoint. Defaults to http://127.0.0.1:9222." },
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/config.ts:75
cdpUrl: str("MIDJOURNEY_CDP_URL") ?? "http://127.0.0.1:9222",
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
remove_from_moodboard
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mcpbignore
.mcpbignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:591
| `MIDJOURNEY_CDP_URL` | `http://127.0.0.1:9222` | Where DevTools listens |
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@thenavidm/slipway, zod, @types/node, ajv, typescript, vitest
Why it matters. 6 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
desktop-extension/midjourney-1.0.0.mcpb
desktop-extension/midjourney-1.0.0.mcpb
Why it matters. 4830565 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha ca6874110f93full audit observations/trust-audit/mcp-server/thenavidm__midjourney-mcp-cli.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11ca6874110f93CAUTIONB89first audit
06

Questions

What is the midjourney-mcp-cli MCP server?

Midjourney MCP server and CLI for Claude Code, Codex and AI agents. 32 tools for generating images, following jobs to completion, downloading the real files, and building moodboards that make a style reusable.

What tools does midjourney-mcp-cli expose?

25 in total: 21 read-only, 3 that write, and 1 that can delete or overwrite (remove_from_moodboard). Every one is listed on this page with its risk.

Is midjourney-mcp-cli safe to connect to an agent?

With care. The audit graded it B (89/100) and found 7 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does midjourney-mcp-cli need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (ca6874110f93), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement