Loading...
Loading...
MCP server for AI image & video generation with 9 models (GPT Image 2, Nanobanana 2, Flux 2, Midjourney V8.1, Veo 3.1, local ComfyUI), 1,446 curated prompts, and parallel batch orchestration
npx skill4agent add aradotso/mcp-skills meigen-ai-design-mcpSkill by ara.so — MCP Skills collection.
# Via MeiGen marketplace
/plugin marketplace add jau123/MeiGen-AI-Design-MCP
/plugin install meigen@meigen-marketplace
# Or via wshobson/agents (30k+ stars)
/plugin marketplace add wshobson/agents
/plugin install meigen-ai-design@claude-code-workflows.mcp.jsonclaude_desktop_config.json{
"mcpServers": {
"meigen": {
"command": "npx",
"args": ["-y", "meigen@1.3.1"],
"env": {
"MEIGEN_API_TOKEN": "${MEIGEN_API_TOKEN}"
}
}
}
}npx meigen init cursor # Cursor
npx meigen init vscode # VS Code
npx meigen init windsurf # Windsurf
npx meigen init roo # Roo Code# Full plugin (commands + skills + MCP)
openclaw bundles install clawhub:meigen-ai-design
# Or skill only
npx clawhub@latest install creative-toolkit~/.hermes/config.yamlmcp_servers:
meigen:
command: "npx"
args: ["-y", "meigen@1.3.1"]
env:
MEIGEN_API_TOKEN: "${MEIGEN_API_TOKEN}"
timeout: 600 # Video generation can take 5-10 min
connect_timeout: 120 # First npx download needs time/meigen:setup{
"comfyuiUrl": "http://localhost:8188",
"comfyuiDefaultWorkflow": "txt2img"
}COMFYUI_URL=http://localhost:8188
COMFYUI_DEFAULT_WORKFLOW=txt2img{
"meigenApiToken": "meigen_sk_..."
}MEIGEN_API_TOKEN=meigen_sk_...{
"openaiCompatibleApiKey": "sk-...",
"openaiCompatibleEndpoint": "https://api.openai.com/v1"
}OPENAI_API_KEY=sk-...
OPENAI_API_BASE=https://api.openai.com/v1const result = await use_mcp_tool({
server_name: "meigen",
tool_name: "search_gallery",
arguments: {
keywords: "product photography luxury",
limit: 10
}
});"Search the gallery for luxury product photography inspiration"
const inspiration = await use_mcp_tool({
server_name: "meigen",
tool_name: "get_inspiration",
arguments: {
id: "nanobanana_12345"
}
});const enhanced = await use_mcp_tool({
server_name: "meigen",
tool_name: "enhance_prompt",
arguments: {
userPrompt: "cat in kitchen",
style: "photorealistic",
additionalContext: "sunlit, warm tones"
}
});"Enhance this prompt: a cat in a kitchen"
const models = await use_mcp_tool({
server_name: "meigen",
tool_name: "list_models",
arguments: {}
});const image = await use_mcp_tool({
server_name: "meigen",
tool_name: "generate_image",
arguments: {
prompt: "a minimalist tech logo, geometric shapes, blue gradient",
model: "midjourney-v8.1",
aspectRatio: "1:1",
referenceImagePath: "/Users/dev/Desktop/sketch.jpg" // Optional
}
});"Generate a minimalist tech logo in 1:1 ratio using Midjourney V8.1"
"Generate a product shot based on this bottle.jpg in my Downloads folder"
const video = await use_mcp_tool({
server_name: "meigen",
tool_name: "generate_video",
arguments: {
prompt: "Camera slowly zooms into the perfume bottle, bokeh background",
model: "seedance-2.0-fast",
firstFrameImagePath: "/Users/dev/Pictures/bottle.jpg", // Optional
duration: 5
}
});"Animate this product photo into a 5-second video with a slow zoom"
// List workflows
const workflows = await use_mcp_tool({
server_name: "meigen",
tool_name: "comfyui_workflow",
arguments: {
action: "list"
}
});
// View a workflow
const workflow = await use_mcp_tool({
server_name: "meigen",
tool_name: "comfyui_workflow",
arguments: {
action: "view",
name: "txt2img"
}
});
// Import a workflow
await use_mcp_tool({
server_name: "meigen",
tool_name: "comfyui_workflow",
arguments: {
action: "import",
name: "custom-flux",
workflow: JSON.stringify(workflowJson)
}
});await use_mcp_tool({
server_name: "meigen",
tool_name: "manage_preferences",
arguments: {
action: "set",
key: "preferredStyle",
value: "minimalist editorial"
}
});
const prefs = await use_mcp_tool({
server_name: "meigen",
tool_name: "manage_preferences",
arguments: {
action: "get"
}
});| Command | Description |
|---|---|
| Skip conversation, generate image immediately |
| Search prompt library |
| Browse and switch models |
| Run provider configuration wizard |
/meigen:gen a calico cat in a sunlit kitchen, photorealistic
/meigen:find luxury product photography
/meigen:models# Set token once
export MEIGEN_API_TOKEN=meigen_sk_...
# Basic generation
npx meigen gen --prompt "a calico cat in a sunlit kitchen"
# Specific model + aspect ratio
npx meigen gen -p "tech logo" -m midjourney-v8.1 -r 1:1
# With reference image
npx meigen gen -p "product hero shot" --ref ~/Desktop/bottle.jpg
# Submit only (no polling, good for CI)
npx meigen gen -p "..." --no-wait
# Machine-readable output (pipe to jq)
npx meigen gen -p "..." --json | jq -r '.imageUrls[0]'npx meigen gen --help
Options:
-p, --prompt <text> Image prompt (required)
-m, --model <name> Model name (default: nanobanana-2)
-r, --ratio <ratio> Aspect ratio (e.g. 16:9, 1:1, 3:4)
--ref <path> Reference image path
--no-wait Submit only, don't poll for result
--json Machine-readable JSON output
-h, --help Display help~/Pictures/meigen/MEIGEN_OUTPUT_DIR~/Movies/meigen/"Create 4 product display images for this perfume, one of which should feature a model"
image-generator"Enhance this for a cinematic feel: a coffee cup on a desk"
A pristine white ceramic coffee cup on a dark walnut desk, steam rising
gracefully, shot with shallow depth of field, warm morning light streaming
through venetian blinds creating dramatic shadows, cinematic color grading,
shot on Arri Alexa, 35mm lens, f/1.4// Read workflow from file
const workflowJson = JSON.parse(
fs.readFileSync('path/to/workflow_api.json', 'utf8')
);
// Import into MeiGen
await use_mcp_tool({
server_name: "meigen",
tool_name: "comfyui_workflow",
arguments: {
action: "import",
name: "flux-lora-custom",
workflow: JSON.stringify(workflowJson)
}
});
// Use it
await use_mcp_tool({
server_name: "meigen",
tool_name: "generate_image",
arguments: {
prompt: "cyberpunk street scene",
model: "comfyui",
workflow: "flux-lora-custom"
}
});const video = await use_mcp_tool({
server_name: "meigen",
tool_name: "generate_video",
arguments: {
prompt: "Slow camera push towards product, bokeh background, cinematic lighting",
model: "seedance-2.0-fast",
firstFrameImagePath: "/Users/dev/Desktop/product.jpg",
duration: 5
}
});seedance-2.0-fastseedance-2.0-prohappyhorse-1.0veo-3.1"Generate this prompt with Nanobanana 2, Midjourney V8.1, and Flux 2 Klein: a serene Japanese garden at dawn"
generate_image/meigen:setup
# Or set environment variables manually:
export MEIGEN_API_TOKEN=meigen_sk_...ECONNREFUSED 127.0.0.1:8188http://localhost:8188COMFYUI_URL/Users/username/Desktop/image.jpg./assets/image.jpgtimeout: 600/meigen:models
# Or use tool:
use_mcp_tool({
server_name: "meigen",
tool_name: "list_models",
arguments: {}
})nanobanana-2gpt-image-2seedream-5.0midjourney-v8.1flux-2-kleinseedance-2.0-fastseedance-2.0-prohappyhorse-1.0veo-3.1dall-e-3dall-e-2search_gallery| Variable | Description | Required |
|---|---|---|
| MeiGen Cloud API token (get at meigen.ai) | For MeiGen provider |
| ComfyUI server URL | For ComfyUI provider |
| Default workflow name | Optional (default: |
| OpenAI or compatible API key | For OpenAI provider |
| API endpoint URL | Optional (default: OpenAI endpoint) |
| Override image output directory | Optional (default: |