The makefx CLI calls the same hosted MCP tools as an MCP client. It is useful for local files, shell scripts and JSON output. It needs Node.js 22.18 or newer, and its source is open at github.com/makefx/cli under the Apache License 2.0.
npm install -g makefx
makefx login
makefx spaces --json
Every public MCP tool has a dedicated shell command unless the reviewed CLI
mapping records a product-approved exception. The generic mcp bridge does not
count as command coverage. download and open are conveniences that compose
the dedicated read commands.
Run makefx --help for the current command list and makefx help create for one command's exact arguments.
A small generation loop
makefx models --kind image --json
makefx estimate --kind image --model MODEL --prompt "PROMPT" --json
makefx create --space ACCOUNT/SPACE --kind image \
--model MODEL --prompt "PROMPT" --request-id REQUEST --wait --json
Read the model id from models; do not copy one from an old script. Quote the configured request before creating it. Reuse the same request id when recovering an uncertain result. The create command re-reads the requested model's live catalog entry for the paying Space, applies its defaults and refuses invalid model settings or an unavailable current model before it calls create_asset. Exact replay leaves availability to the recorded route.
Filter the catalog with models --family provider|internal|browser, or read one entry
with models --model MODEL. List the paying account's speech voices with
voices list --space ACCOUNT/SPACE [--query TEXT]; follow the printed --cursor, or add
--all to read every page. Repeated
create --ref ASSET:SLOT options keep their left-to-right order. Creation also
accepts --seed INTEGER, JSON --position, JSON string-array --tags, and
--note TEXT. Omit --position to let the canvas lay cards out by lineage; pass a
position only to pin a card. asset update --space ACCOUNT/SPACE --asset ASSET --position '{"x":0,"y":0}' pins an existing card, and --position null unpins it so
the layout places it again.
Credits, profile and health
makefx purchase create --account ACCOUNT --product eur20 \
--request-id topup-01 --billing @./billing.json --json
makefx purchase get --purchase PURCHASE --json
makefx profile get --json
makefx profile update --name "Ada Example" --json
makefx health --json
--billing accepts one inline JSON object or @FILE. It is only the existing
billing identity contract and does not accept card data or payment tokens.
Files and handoff
upload streams a local file through the signed upload URL without putting its bytes in MCP. download saves ready media. export writes the space record, and open prints and opens the canonical web URL for a space or asset.
makefx upload --space ACCOUNT/SPACE --kind image --file ./reference.png
makefx export --space ACCOUNT/SPACE --out ./space.json
MAKEFX_NO_OPEN=1 makefx open ACCOUNT/SPACE
Add --json when a script needs the unchanged structured result. Use MCP directly when the agent host already supports remote servers.