artokun / civitai
Discover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).
Civitai + comfyui-mcp
comfyui-mcp has native Civitai search built in (download_model action:"search_civitai")
plus the local half of the loop: download, wire, queue, tag. The full flow
(find, install, generate) needs no other server and no API key, and works on
every backend, including small local models behind the compact router.
The built-in flow (default path)
download_model({ action: "search_civitai", query, types: ["LORA"], base_models: ["Flux.1 D"] })
│ each hit: model_id · model_version_id · trigger words
▼
download_model({ action: "download_civitai", model_version_id, target_subfolder: "loras" })
│
▼
list_local_models({ action: "list" }) → panel_add_node loader / generate_image # use itALWAYS filter
base_modelswhen the user's checkpoint family is known.
A Flux LoRA will not load on an SDXL checkpoint (seemodel-compatibility).
CivitAI labels:Flux.1 D,SDXL 1.0,SD 1.5,Pony,Illustrious,Wan Video.target_subfoldermust match the model type:checkpoints,loras,vae,controlnet,embeddings,upscale_models, and so on.- Results are SFW-only by default (
nsfw: trueto opt in). - Each hit carries trigger words. Put them in the prompt after installing.
Prefer
model_version_idovermodel_id. A Civitai page can list several
versions and the user usually means a specific one.
Search needs no API key. CIVITAI_API_TOKEN (from
civitai.com/user/account) unlocks gated/early-access downloads and gated
search results. Set it once, in panel Settings under "Set CivitAI token…" or in env.
Recipes
"Find me a good anime LoRA for Flux and install it"
download_model({ action: "search_civitai", query: "anime style", types: ["LORA"], base_models: ["Flux.1 D"] }).Present the top 3 to 5 with name, creator, base model, downloads, and the
version id. Let the user pick.download_model({ action: "download_civitai", model_version_id, target_subfolder: "loras" }).In the panel,
panel_add_nodeaLoraLoader,panel_set_widgetthelora_name, wire it between checkpoint and sampler, and use the hit's
trigger words in the prompt. Headless:generate_image(action="image")/ build the workflow.
"Download this Civitai page for me" (user pastes a URL)
Parse the
modelVersionIdfrom the URL if present; otherwise pass the model
id from the URL toaction:"download_civitai"(it resolves the latest version).
A rawcivitai.com/api/download/...URL also works viaaction:"download"
withCIVITAI_API_TOKENset.
Optional: the official Civitai MCP (community surface)
For features beyond search and install (browsing example images and their
generation params, collections, posting, reviews, bounties), pair the official
remote server. It is no longer auto-bundled; add it once:
claude mcp add --transport http civitai https://mcp.civitai.com/mcp \
--header "Authorization: Bearer YOUR_CIVITAI_API_KEY"Then mcp__civitai__* tools appear alongside comfyui-mcp's. Its discovery
results hand off identically (modelVersions[].id → action:"download_civitai").
That server also exposes write/social tools (post,
comment, review, DM, follow). Those publish on the user's behalf, so show
what you're about to post and get an explicit yes first. This skill covers
discovery, local install, and generation; don't post or message without being
asked.
See also
model-registryfor curated direct download URLs (HF + Civitai notes)model-compatibilityfor base-model / VAE / CLIP pairing (why a LoRA won't load)prompt-engineeringbecause Civitai image params are a prompt goldmine
Sources
- Official: Civitai REST API https://civitai.com/api/v1 and Civitai MCP https://mcp.civitai.com/mcp
- Empirical: find→install→generate wiring is comfyui-mcp product guidance, not Civitai's prompting docs.