Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Mediagen

by Cripacxversion 0.3.0i★ –iRuns on your computer
Registry nameio.github.Cripacx/mediagen

Install

Overview

Description from the maker (original English)

Generate images and video from text prompts across Gemini, OpenAI and Kie AI.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Design, images & audio

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "mediagen": {
      "command": "npx",
      "args": [
        "-y",
        "mediagen"
      ]
    }
  }
}

Run this in your terminal

claude mcp add mediagen -- npx -y mediagen

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mediagen": {
      "command": "npx",
      "args": [
        "-y",
        "mediagen"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mediagen": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mediagen"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Cripacx, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2202 servers in this category
  • Published to the registry more recently than 25% of the other 2202 servers in this category
  • Basic checks equal to or better than 100% of the other 2202 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Mediagen safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

mediagen — an image and video generation skill for coding agents

Give your agent image and video generation across Google Gemini, OpenAI and Kie AI — one skill, one install, no API to learn.

Say roughly what you want and let it decide the rest:

You:   Make a hero image for the landing page, wide, something moody and industrial.

Agent: npx -y mediagen image "A disused loading dock at dusk, wet concrete…" --aspect-ratio 21:9 --json → ./output/image-20260823T094107Z.png

It wrote the prompt out in full, knew 21:9 rules OpenAI out, and read the path back from --json.

Or be exact, and it stops deciding:

You:   Same thing with gemini-3-pro-image, 21:9, 4K, marked as AI-generated,

saved as hero.png.

Agent: npx -y mediagen image "A disused loading dock at dusk, wet concrete…" --model gemini-3-pro-image --aspect-ratio 21:9 --size 4K --output-name hero.png --json → ./output/hero.jpg

[looks at the image]

npx -y mediagen mark ./output/hero.jpg --visible-label --label-position top-right --json → ./output/hero.labelled.jpg

It marked in a second pass, after seeing where the subject ended up — and put the label on the flat roofline rather than over the loading bay.

Anything the CLI takes can be asked for in words — provider, model, aspect ratio, size, output name and directory, quality preset, video duration, an input image to edit, and whether to mark the result. Name any of them and the agent uses it as given; leave it out and it chooses, or falls back to what you configured.

Install

npx -y skills add Cripacx/mediagen --skill mediagen

That is the whole installation. Nothing else to set up — the skill runs the CLI through npx, which fetches it on first use and caches it afterwards.

Then give it a key:

npx -y mediagen init

An interactive wizard: pick providers, enter each key without it being echoed, verify each against the live API, choose a model per provider, and set a default. One key is enough to start.

Now just ask your agent for an image.

What your agent can do with it

  • Generate images and video from a description, or edit media you already have
  • Choose the right provider for the task — the skill knows Gemini handles 21:9 and video, that OpenAI cannot do 16:9 at all, and that Kie aggregates around thirty third-party models
  • Take your instructions literally when you give them. Name a model, a ratio, a size or a filename and it is used as stated. mediagen models is there when you want to see what is available before choosing
  • Write the prompt properly. The skill carries prompt-writing guidance, so "a hero image, moody and industrial" becomes a full description of subject, composition, light, camera and materials before anything is sent
  • Mark AI-generated output when it matters — the skill suggests it for anything photorealistic or destined for publication
  • Recover from failures on its own, because every error carries a machine-readable code and a next action

And what it will not do: ask you to paste an API key into the chat. On a configuration error the skill tells you to run mediagen init in your own terminal.

Prerequisites

  • At least one API key:
  • Google Gemini (get one here) — images and video, widest range of shapes
  • OpenAI (get one here) — images
  • Kie AI (get one here) — ~30 third-party models
  • Node.js 20.11 or later

Configuration

mediagen init covers first-time setup. To change something later:

npx -y mediagen config edit

A menu of every setting with its current value and where that value came from — provider, model, key, output directory, quality preset, and what mediagen mark does by default. Each change is written as you make it.

For CI and scripts, where there is no terminal, config set takes the same settings as arguments:

echo "$GEMINI_API_KEY" | npx -y mediagen config set gemini --stdin

npx -y mediagen config set gemini-model gemini-3-pro-image

Which provider gets used

Set the order you prefer, most preferred first:

npx -y mediagen config set provider-priority gemini,kie,openai

It is a preference, not a whitelist. A request with no --provider goes to the first provider in the order that has a key and can do the job — so a missing OpenAI key never stops something Gemini can do, and asking for video skips straight past the providers that do not make any. Naming --provider overrides all of it.

mediagen models shows the resulting order, which providers are usable, and what a request would get:

1. Google Gemini (gemini)  [preferred, key from config file]

Would use: gemini-3.1-flash-image (provider default)

  1. Kie AI (kie) [key from config file]
  2. OpenAI (openai) [preferred, no key] No key configured, so requests to it fail. Fix: mediagen config set openai

A request with no --provider uses gemini/gemini-3.1-flash-image.

With --json it adds wouldUse, usableProviders and providerPriority. That is what the skill has an agent read before generating, so it never picks a model from a provider you have no key for.

To check what is configured and whether the keys still work:

npx -y mediagen doctor

doctor reports, per provider, whether a key is configured, which layer it came from, and whether the provider accepts it — keeping _not configured_, _rejected_, _unreachable_ and _no cheap way to check_ distinct, because they call for four different fixes.

[!WARNING]

There is deliberately no flag that takes an API key as an argument. Arguments

land in shell history and in the process list, where they outlive the command

that used them.

Settings resolve from the environment first, then .env in the working directory, then the config file:

VariablePurpose
GEMINI_API_KEY, OPENAI_API_KEY, KIE_API_KEYcredentials; at least one
MEDIAGEN_PROVIDER_PRIORITYproviders in preference order
GEMINI_MODEL, OPENAI_MODEL, KIE_MODELdefault model per provider
MEDIAGEN_OUTPUT_DIRwhere media is saved
MEDIAGEN_QUALITYfast, balanced, quality
MEDIAGEN_MARKmark output by default
MEDIAGEN_VISIBLE_LABELadd a visible label by default

[!TIP]

A stale environment variable shadowing the key you just configured is the most

expensive failure this kind of tool has. mediagen config list marks every

shadowed value, so you can see it rather than guess.

Providers

ProviderImagesVideoEditingKey verification
Google GeminiNano Banana family, up to 4Kyesyeslive probe
OpenAIgpt-image family, DALL·E—yeslive probe
Kie AI~30 models: Flux, Imagen, Grok—mostno cheap probe; reported as such

[!NOTE]

OpenAI takes pixel dimensions rather than aspect ratios and genuinely cannot

produce 16:9 — its widest image is 1536×1024, which is 3:2. Asking for 16:9 is

refused by name rather than quietly served as something else. The skill knows

this and routes wide shapes to Gemini.

A model absent from the listings is still sent to the provider, so a newly released model works before mediagen knows about it. Kie's catalogue is generated from Kie's own documentation rather than maintained by hand.

Content marking

The EU AI Act splits disclosure into two duties, so mediagen mark has two independent switches:

FlagDutyWhat it does
machine-readablemake it findable by toolswrites IPTC/XMP DigitalSourceType, on by default
--visible-labeldisclose it to peoplecomposites the EU's official AI-content label

Generating never marks. Marking is always a second command, run on the file afterwards:

npx -y mediagen image "a wide banner" --aspect-ratio 21:9 --size 2K --json

npx -y mediagen mark ./output/image-….jpg --visible-label --label-position top-left

That is not ceremony. A visible label has to go where the subject is not, and only the finished image can say where that is. The machine-readable marker is not free either: adding metadata to a JPEG or WebP means decoding and re-encoding it, so marking costs a second lossy pass — worth paying deliberately, not as a side effect of asking for an image. mediagen re-encodes at high quality to keep that cost small, but it cannot make it zero.

To have mediagen mark draw the visible label without being asked each time:

npx -y mediagen config edit      # "AI marking by default"

A configured default is still overridable per run with --no-mark or --no-visible-label.

The visible label is the European Commission's own icon, published with the Code of Practice on Transparency of AI-generated Content and free to use without attribution. Two of its three variants are used: AI GENERATED by default, AI MODIFIED with --modified, for media a person made and a model altered. The light or dark version is picked from what is actually under the corner it lands in, because a label nobody can read is not a disclosure.

It sits bottom-right by default. --label-position moves it to another corner, or auto puts it wherever the image has the least detail.

[!IMPORTANT]

A visible label is never written over its source. `mediagen mark photo.png

--visible-label produces photo.labelled.png` and leaves the pixels of

photo.png exactly as they were, while writing the machine-readable marker

into it — so whichever of the two you publish carries the disclosure. A label

placed badly can be redone from an untouched original and from nothing else.

--in-place overwrites if you really mean to.

Using it without an agent

The skill is a wrapper around a CLI, and the CLI stands on its own.

npx -y mediagen image "a wide banner" --aspect-ratio 21:9 --size 2K

npx -y mediagen image "make the sky stormy" --input ./photo.jpg npx -y mediagen mark ./output/image-….jpg --visible-label npx -y mediagen video "a marble rolling down a wooden track" --duration 6 npx -y mediagen models

Install it globally if you use it often enough to want the shorter command:

npm install -g mediagen
Options
Option
--provider gemini, openai, kie
--model see mediagen models
--input source media to edit or transform
--aspect-ratio 1:1, 16:9, 9:16, …
--size 1K, 2K, 4K
--duration video only

| --output-name | the

Only the beginning is shown; read the rest in the repo

Ask PopNx