MCP Image Generator
Make, edit, upscale and vectorize images, and optionally videos, on your own GPU
Image and video generation, visual edit workflows and prompt-gallery search on MeiGen
Official · jau123 TypeScript Remote (hosted) · Streamable HTTPLocal · stdio AI and MLMediaDesign
75 popularity score ★ 1.8k ↓ 513/wk
Opens the app, which asks before it adds the server.
https://www.meigen.ai/api/mcphttps://www.meigen.ai/api/mcp{
"mcpServers": {
"meigen-ai-design": {
"url": "https://www.meigen.ai/api/mcp"
}
}
}codex mcp add meigen --url https://www.meigen.ai/api/mcpopenclaw mcp add meigen --url https://www.meigen.ai/api/mcp --transport streamable-http --auth oauth --timeout 240Opens the app, which asks before it adds the server.
claude mcp add meigen-ai-design -- npx -y meigen@3.4.0{
"mcpServers": {
"meigen-ai-design": {
"command": "npx",
"args": [
"-y",
"meigen@3.4.0"
]
}
}
}{
"mcpServers": {
"meigen-ai-design": {
"command": "npx",
"args": [
"-y",
"meigen@3.4.0"
]
}
}
}{
"servers": {
"meigen-ai-design": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"meigen@3.4.0"
]
}
}
}[mcp_servers.meigen-ai-design]
command = "npx"
args = ["-y", "meigen@3.4.0"]gemini mcp add --scope user meigen-ai-design npx -- -y meigen@3.4.0MEIGEN_API_TOKEN secret |
Optional: Existing MeiGen API key. Gallery search, prompt rewriting and preferences work without it. Can also be set in ~/.config/meigen/config.json. |
|---|---|
MEIGEN_OUTPUT_DIR |
Optional: Where generated images are saved. On Linux, $XDG_PICTURES_DIR/meigen is used when that is set. |
MEIGEN_VIDEO_OUTPUT_DIR |
Optional: Where generated videos are saved. |
MEIGEN_REQUEST_STORE_DIR |
Optional: Private directory for job receipts used to recover interrupted jobs. |
UPLOAD_GATEWAY_URL |
Optional: Upload gateway for reference files. Can point to your own presign endpoint. |
MEIGEN_BASE_URL |
Optional: MeiGen API origin. |
| Set together: openai-provider | |
OPENAI_API_KEY secret |
Optional: Key for an OpenAI-compatible provider used instead of MeiGen for image generation. |
OPENAI_BASE_URL |
Optional: Base URL of the OpenAI-compatible provider. |
OPENAI_MODEL |
Optional: Image model ID on that provider. |
This server connects an assistant to MeiGen, a paid service for AI image and video generation. You can search MeiGen's public gallery of example images along with the prompts behind them, check which models are on offer and what they cost, then submit image or video jobs and poll them until they finish. Five fixed visual workflows sit on top of that: background removal, upscaling, product detail shots, marketing posters, and placing a product on a new background. Local reference images and short audio or video clips can be uploaded so the video models can use them.
There are two ways to use it. The makers now point new users at the hosted endpoint at https://www.meigen.ai/api/mcp, which signs in with a MeiGen account over OAuth. Only that connection can see a user's favorites, boards, history and saved characters. The npm package `meigen` runs locally over stdio and stays for people who already hold a MeiGen API key, or who want plain image generation through their own OpenAI-compatible API. Prompt rewriting and a stored preferences file work locally without any key.
The local package registers 18 tools (src/server.ts). The newest is render_video_draft. Some video models can now make a cheaper 480p draft when generate_video gets draft=true, and render_video_draft then turns an approved draft into a separate paid 1080p final. The README does not mention this flow yet. The instructions the server hands to clients also still pin an older package version in their npx command, so copy the command from the README instead. The project description still talks about ComfyUI and a 1,400+ prompt library. Both were removed in the 3.x line, and gallery search now always queries the live MeiGen API.
| To run it yourself | Node.js 22+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| MeiGen | Paid planCloud generation, video and the visual workflows use purchased credits. Locally this needs an existing API key; new users connect the hosted endpoint with OAuth |
| OpenAI-compatible image API | Paid planOptional instead of MeiGen, for plain image generation only |
Node.js 22 or newer is recommended for the npm package. Locally, set an existing MeiGen key in MEIGEN_API_TOKEN, or OPENAI_API_KEY with OPENAI_BASE_URL and OPENAI_MODEL for image generation on another provider. Keys can also sit in ~/.config/meigen/config.json. The hosted endpoint needs a client that does OAuth for remote MCP. In Codex run `codex mcp login meigen` after adding it, and in OpenClaw `openclaw mcp login meigen`.
The makers no longer issue new MeiGen API keys for the local package: new users are sent to remote OAuth, and API keys and the local server cannot reach the private library or saved characters (list_characters is not in the local tool set). Characters can be read and reused but not created. Video and the five visual workflows run only on MeiGen Cloud, not on an OpenAI-compatible provider. Locally, search_gallery returns 3 results by default and at most 3 per call even though `limit` accepts up to 20. Uploaded reference media gets public links that anyone with the link can open, cleared after seven days. Long video jobs can run 15 minutes or more, beyond many clients' default tool timeouts.
Suits someone already using MeiGen who wants to search its prompt gallery and run paid image, video or product-photo jobs from an assistant; the hosted OAuth endpoint is the path for new users and the only one that sees a personal library. The local npm form suits existing key holders, or anyone who wants plain image generation against their own OpenAI-compatible endpoint plus local prompt rewriting. Anyone wanting free, offline or self-hosted generation (the old ComfyUI path) should look elsewhere, since 3.x calls MeiGen's or another provider's servers for every generation.
7 only read, 11 change things. A ? marks an optional parameter.
search_galleryget_inspirationenhance_promptlist_modelsmanage_preferences changesgenerate_image changesgenerate_video changesprompt: stringmodel?: stringmodelId?: stringdraft?: booleantier?: stringduration?: integerresolution?: stringaspectRatio?: stringfirstFrame?: stringlastFrame?: stringcontentReferenceImages?: arrayreferenceVideo?: stringreferenceVideos?: arrayreferenceAudios?: arrayreferenceVideoDuration?: integerrender_video_draft changesrequestId: stringsourceDraftGenerationId: stringconfirmedCredits: numberretryFailedGenerationId?: stringcheck_generationlist_skillsskill?: enumupload_skill_image changesupload_reference_media changesremove_background changesrequestId: stringproductImage: stringupscale_image changesrequestId: stringimageUrl: stringmode?: enumallowDownscale?: booleanconfirmedCredits: integergenerate_marketing_poster changesrequestId: stringbrand: stringcontent?: stringextraNotes?: stringlogo?: stringproductImages?: arraystyleImage?: stringstyleId?: stringcustomStyle?: stringgenerate_product_detail_images changesrequestId: stringproductImage: stringproductName?: stringmodules: arraycustomModules?: arrayplatform?: stringlanguage?: stringquality?: enumaspectRatio?: stringmodelImage?: stringlogo?: stringextraProductImages?: arraygenerate_ai_background changesrequestId: stringproductImage: stringmode?: enumratio?: stringquality?: enumcheck_skill