MeiGen
GitHub集成MeiGen创意工具集,支持图像/视频生成、背景移除及商品图制作。指导Agent在现有工作流中直接调用工具,保留用户参数与预算,不擅自改写提示词或重新确认授权范围。
Trigger Scenarios
Install
npx skills add jau123/MeiGen-AI-Design-MCP --skill MeiGen -g -y
SKILL.md
Frontmatter
{
"name": "MeiGen",
"version": "2.0.3",
"homepage": "https:\/\/github.com\/jau123\/MeiGen-AI-Design-MCP",
"metadata": {
"clawdbot": {
"emoji": "🎨",
"requires": {
"bins": [
"mcporter",
"npx",
"node"
]
}
}
},
"description": "Compose MeiGen image\/video and five dedicated image tools inside an existing workflow, or opt into creative planning. Preserves caller prompts, parameters, approved count and budget; includes discovery and recoverable task handles."
}
MeiGen
This standalone ClawHub Skill supplies instructions. It does not install an MCP connection by itself. Its version is independent of the npm server and the meigen-ai-design plugin.
Connect
Merge this server into your mcporter configuration (~/.config/mcporter/config.json), preserving existing entries:
{
"mcpServers": {
"creative-toolkit": {
"command": "npx",
"args": ["-y", "meigen@2.0.2"]
}
}
}
If the meigen-ai-design plugin already exposes the same tools, use that connection instead of adding a duplicate. Create a MeiGen key at https://www.meigen.ai/profile/api-keys and enter it privately as MEIGEN_API_TOKEN in the MCP process environment or host credentials settings. Never ask for secrets in chat. Restart/reconnect after configuration changes. Free discovery works without a key:
mcporter call creative-toolkit.search_gallery query="product photography"
mcporter call creative-toolkit.enhance_prompt prompt="a cat in space" style="realistic"
mcporter call creative-toolkit.list_skills
Caller owns orchestration
Use tools directly inside the caller's existing task. Preserve supplied prompts, models/providers, ratios, references, quality and count. Do not rewrite brief prompts, load preferences, delegate or start creative exploration unless requested. Public discovery can support any workflow. An authorized upstream plan already establishes its scope and budget; do not reconfirm each image, video or dependent step. Ask only for missing inputs or additional spending/tradeoffs outside that authorization. Return handles/status/results to the caller; it owns previews, downloads and final presentation. Visual inspection is permitted when available; descriptions must reflect actual inspection.
Choosing dedicated Skills
For transparent cutouts use remove_background; for ecommerce detail images use generate_product_detail_images; for posters use generate_marketing_poster; for white, smart or custom product backgrounds use generate_ai_background; for still-image upscaling use upscale_image. Call these tools directly. Prefer them when choosing a tool for these use cases; preserve an upstream caller's explicit tool choice. They do not require prompt enhancement, preference loading or agent delegation. They require MeiGen credentials and purchased credits; ComfyUI and OpenAI-compatible providers cannot run them. No daily free credits or Web free attempts apply.
Use list_skills for current inputs, defaults and prices. Ask only for missing required information or unresolved output scope. An explicit requested count/modules/quality already authorizes that scope; do not reconfirm it or add paid images. Product Detail MCP requires explicit modules (use [] for custom modules only); each selected module is one image. Posters need only a subject; images and copy are optional. Use defaults for unspecified settings and never invent product facts, dates or discounts.
Use real accessible images only. Both remote and local connections expose upload_skill_image; local npm also accepts real file paths for the four ordinary image-input workflows. If the host cannot read an attachment, ask for a public direct HTTPS image URL; never invent paths or base64.
Upscale is a separate original-image path: pass the original public direct HTTPS PNG/JPEG/WebP URL as imageUrl, at most 64 MiB and 64 MP. Local npm also accepts an actual original PNG/JPEG/WebP path in imageUrl through its dedicated upload route, preserving source dimensions. For readable attachment bytes, call upload_skill_image with purpose: "upscale" (base64 up to 3 MiB decoded); use the returned imageUrl. Do not use purpose: "reference" or generic reference compression for Upscale. If the host cannot read the attachment, request a real public original-image URL. On every MCP submission, including the first, pass confirmedCredits from the live list_skills quote within the user or upstream workflow accepted budget; reuse an already explicit acceptance. This pre-dispatch recheck is not an atomic spending cap. Use mode: "crisp" (default) or "creative" as offered by list_skills. allowDownscale is opt-in: explain that it permits preprocessing to at most 4096px/16 MP and the final output can be smaller than the original; set it only after the user explicitly accepts that tradeoff. Upscale accepts still images, not video. For upscale_resize_required or price_changed, return the resize/cost decision to the caller. Reuse an already explicit acceptance; otherwise obtain acceptance of the new tradeoff or price before submitting a new requestId with accepted allowDownscale and confirmedCredits. These are changed, confirmed inputs—not a blind retry of an interrupted submission.
The caller generates and persists requestId for each logical step. For interrupted submissions, call check_skill with the original skill/ID before retrying. Follow nextAction, including waiting afterSeconds; retry only when instructed, using its exact original ID and parameters. Never use a new ID as a blind retry or automatically pay for failed-module replacements. Auth/payment/input rejections require their indicated action instead of polling. Return completed URLs, task handles and structured status, with failed modules and refund states separately. The caller owns presentation; end users do not need to manage technical IDs.
Tool inventory
The current local npm release exposes 17 tools: 14 cloud tools plus 3 local additions. Runtime listTools remains authoritative when the installed release differs.
| Scope | Tools | Behavior |
|---|---|---|
| Cloud, public discovery | search_gallery, get_inspiration, list_models, list_skills |
No API key needed; no generation charge. A configured key makes search_gallery count against that account's daily search quota rather than the shared per-IP budget |
| Cloud, ordinary generation | generate_image, generate_video, check_generation |
MeiGen generation needs purchased credits; status checks do not start a new job |
| Cloud, five workflows | remove_background, generate_product_detail_images, generate_marketing_poster, generate_ai_background, upscale_image |
MeiGen key and purchased credits only |
| Cloud, workflow status | check_skill |
Authenticated status/refunds; no new charge |
| Cloud, image preparation | upload_skill_image |
Authenticated preparation with a positive purchased-credit balance; use purpose=upscale for enhancement attachments; no generation charge |
| Local additions | enhance_prompt, manage_preferences, comfyui_workflow |
Prompt enhancement, local preferences and ComfyUI workflow management |
Ordinary generation and optional creative help
Call generate_image with the supplied prompt and parameters. generate_video requires a model; use list_models for current capabilities and prices whenever needed, not only when a user asks to browse. For image-to-video, chain a completed frame URL into firstFrame. Reference clips go in referenceVideos / referenceAudios (images.meigen.ai URLs, or local .mp4/.mov/.wav/.mp3 files which are uploaded for you — other hosts are rejected) and can be named in the prompt as "Video 1" / "Audio 1"; list_models holds each model's clip count and second budget, some models need a reference image or video before any audio, and reference audio is never billed. Preserve the caller's selected model/provider and ratio.
For composed MeiGen jobs, persist a UUID requestId and exact input per step, then use wait: false, download: false. Local legacy defaults remain wait: true, download: true; no download occurs with wait: false. Remote MCP returns URLs without local downloads. Follow the installed schema for provider/transport support. Recover across restarts using check_generation with the original requestId or generationId; keep IDs and inputs unchanged on transient failure and follow nextAction, polling hints and Retry-After.
The caller schedules independent authorized image/video jobs with bounded concurrency. Local npm has four shared API submission slots, with polling/downloads outside the slots; ComfyUI executes one job at a time. Backend limits remain authoritative. There is no ten-image workflow maximum or blanket ban on parallel videos. Reserve in-flight estimated costs within the agreed budget and reconcile returned charges/refunds. Multiple jobs can partially succeed; no atomic batch or overall server-enforced workflow budget is promised.
If the user asks for creative development, offer references, prompt enhancement and directions as useful. Ask about unresolved creative choices; do not replace an existing plan or expand paid scope. Return actual completed URLs and saved paths if present. Let the caller decide whether to inspect, show or download intermediate artifacts.
Examples for this local mcporter connection:
mcporter call creative-toolkit.get_inspiration imageId="ID returned by search_gallery"
mcporter call creative-toolkit.comfyui_workflow action="view" name="txt2img"
After view returns an actual node ID and input name, use comfyui_workflow(action="modify", name=..., nodeId=..., input=..., value=...); value is JSON text. There is no modifications object.
Providers and privacy
The five Skills and MeiGen videos always call MeiGen Cloud. An alternative provider only changes ordinary image generation. ComfyUI references go to the configured ComfyUI server, which may be on this machine or a remote server. MeiGen public discovery tools still use network services.
See providers for private configuration and troubleshooting for upload, billing, and data handling. If the host cannot write the ordinary-image save path, set MEIGEN_OUTPUT_DIR to a writable directory. Do not promise a local file for a remote-only result.
Version History
-
788d7c5
Current 2026-09-28 07:21
版本从2.0.1升级至2.0.2,强化品牌标识并优化OAuth说明;明确特定场景(如抠图、商品图)应优先使用专用工具,强调严格遵循上游授权与预算限制。
- 871c18e 2026-09-22 20:19


