Cursor · That ships the page.

Real assets, from Cursor's agent.

Stop shipping gray placeholder boxes. One mcp.json entry lets Cursor's agent generate hero images, icons, and product video while it builds the page that uses them.

Connect Cursor

API key auth — you'll paste one nj_sk_ key, once.

Watch it work

Step 1

Connect Cursor. Once.

Get your API key.

Key creation is free. You’ll need developer credit to activate it.

Create and verify your key first to enable installation.

What happens after I get my key?

We’ll show you how to add NinjaChat to Cursor, with your key already filled in. Then you can send your first prompt.

Check your connection Free

Enable NinjaChat in a new chat, then send this check.

View check prompt

Use NinjaChat to check my account balance and spending headroom, then list the available image models. Do not generate anything or add credits. If NinjaChat is unavailable, tell me which setup step is missing.

Balance & spending limit

Step 2 · First ask in Cursor

Paste this.
Review the quote.

Check the connection above, then paste your request. Approve the quoted cost before generating.

LOAM living-wood city heroExample style · your result will vary

Say this in Cursor

Use NinjaChat for this task: Make one 16:9 image of a city grown from living wood, with amber-lit markets at dusk. After approval, save it under public/ninjachat-hero with the correct file extension and verify the file. First check my balance and use estimate_cost to quote the model, quantity, dimensions or duration, and total price. Ask for any missing reference files. Do not generate, publish, or add credits until I approve the quote. For video, retain the job ID and poll get_generation_status until complete; resume that job instead of starting another. Return the finished media and download links.

Step 3 · What Cursor ships

LOAM in the repo. Not in a chat.

Generate the hero, keep the strongest graft, write it into public/ — then open the page.

LOAM districts in mist
LOAMDistricts
LOAM districts in mist
Districts
LOAM amber markets
Markets
LOAM canopy vista
Canopy
LOAM roots village
Roots

Four grafts. The agent picks a keeper and ships the page.

Models

Every model Cursor can call.

Image and video engines behind one URL — Cursor asks, NinjaChat runs them. New models appear here; your connection never changes.

Google Veo 3.1Veo 3.1
Seedance 2.0Seedance
An editorial shot of a cobalt coat in white dunes — a real FLUX.2 Pro run
FLUX.2 ProFLUX.2 Pro
Kling 2.6 ProKling
Google Veo 3.1 FastVeo Fast
A flamenco dancer mid-turn under a single spotlight — a real Seedream run
Seedream 4.5Seedream
A red-sailed boat crossing a mirror-still turquoise fjord — a real Nano Banana 2 run
Google Nano Banana 2Nano Banana 2
Seedance LiteSeedance Lite
A matte espresso machine in a shaft of morning light — a real Nano Banana Pro run
Google Nano Banana ProNB Pro
A red fox mid-leap over a frozen creek at sunrise — a real Nano Banana run
Google Nano BananaNano Banana
A hummingbird frozen mid-air at a fuchsia flower — a real Z-Image Turbo run
Z-Image TurboZ-Image
GPT Image 2's take on the tiny astronaut asleep on a crescent moon
GPT Image 2GPT Image

What Cursor can call.

Make

  • generate_imageCreate images and download the full-resolution results.
  • edit_imageChange a background, color, or detail with a prompt.

Library

  • search_creationsSearch your images, videos and voiceovers.
  • upload_assetUpload an image to edit or use as a reference.

Money

  • estimate_costCheck the price before generating.

Also on the server

create_mediagenerate_speechgenerate_videoimage_to_videoedit_videoextend_videoget_generation_statusget_creationsave_creation_aslist_creative_entitiescompare_modelssearch_modelsprepare_scrub_videopublish_pageget_account_balanceadd_credits

Troubleshooting

When it doesn't connect.

Server shows red / “no tools” in Cursor Settings → MCP

Check the JSON: the key must be "url" (not "command") for a remote server, and the Authorization header must include the Bearer prefix. Then hit the reload icon next to the server.

401 Unauthorized on every call

The nj_sk_ key is wrong, revoked, or pasted with whitespace. Create a fresh key at ninjachat.ai → Developers → Keys and replace the whole Bearer string.

Agent generates but never saves the file

The tools return hosted URLs; the agent must download them into the workspace. Ask explicitly: “download the result into public/hero.png” — Cursor then uses its own shell/file tools for the write.

mcp.json edits don't take effect

Project-level .cursor/mcp.json overrides the global file. Confirm which one Cursor loaded in Settings → MCP, and reload the window after edits.

Questions, answered.

More ways to use the server.

Guide — generate images in CursorThe 8 MCP servers worth giving CursorCursor docs — MCP

LOAM · Living-wood city

Cursor can create now.

Every frame of LOAM was generated through NinjaChat — then Cursor shipped it.

Connect Cursor

Every frame of LOAM was generated through the NinjaChat MCP server.