civitai-mcp-ultimate
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CIVITAI_API_KEY | No | API key for NSFW access + higher rate limits | |
| CIVITAI_MCP_LANG | No | Output language: en or ru | en |
| COMFYUI_MODELS_PATH | No | ComfyUI models path for download commands |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_modelsA | Search for AI models on Civitai with flexible filters. Uses Meilisearch for text queries (fast, accurate results). Falls back to REST API for filter-only queries, batch IDs, favorites, etc. Find checkpoints, LoRAs, ControlNets and more. Types: Checkpoint, LORA, LoCon, DoRA, TextualInversion, Hypernetwork, Controlnet, Poses, VAE, Upscaler, Wildcards, MotionModule, Workflows, Detection, Other. Base models: SD 1.5, SDXL 1.0, Flux.1 D, Flux.2 D, Pony, Illustrious, NoobAI, Hunyuan 1, Kolors, Chroma, ZImageBase, etc. Sort: Highest Rated, Most Downloaded, Most Collected, Most Comments, Most Tipped, Newest. Period: AllTime, Year, Month, Week, Day (REST API only). Commercial use filter: None, Image, Rent, RentCivit, Sell (REST API only). cursor: pagination cursor from previous response (REST API). Tips: text search works best via Meilisearch. Use get_model if you know the ID. Set favorites=true or hidden=true to filter your own models (requires API key, REST API). Set ids to fetch specific models by ID in batch (REST API). |
| get_modelA | Get detailed info about a specific model by ID. Returns: description, all versions, files, trigger words, stats, creator, tags, download URLs. |
| get_model_versionA | Get details about a specific model version by version ID. Returns: download URLs, trigger words, base model, files, example images. |
| get_model_version_by_hashA | Find a model version by its file hash (SHA256, AutoV2, CRC32, BLAKE3). |
| get_model_version_miniA | Quick check for a model version — availability, size, hashes, generation support. Faster than get_model_version. Use for download/compatibility checks. |
| get_top_checkpointsB | Get top checkpoint models for a specific base model. Best for finding SDXL, Flux, Pony, Illustrious checkpoints. Base models: SD 1.5, SDXL 1.0, Flux.1 D, Flux.2 D, Pony, Pony V7, Illustrious, NoobAI, Chroma, HiDream, etc. |
| get_top_lorasB | Get top LoRA models for a specific base model. Find the most popular LoRAs for SDXL, Flux, Pony, Illustrious. Set nsfw=true to include NSFW LoRAs (requires API key). |
| get_enumsA | Get all valid enum values for Civitai API filters. Returns valid values for: ModelType, BaseModel, ActiveBaseModel, BaseModelType, ModelFileType. Use this to discover currently supported model types and base models. |
| get_current_userA | Get info about the currently authenticated user (requires CIVITAI_API_KEY). Returns: username, tier, membership status. Use to verify API key is valid. |
| browse_imagesA | Browse AI-generated images/videos on Civitai. Sort: Most Reactions, Most Comments, Most Collected, Newest, Oldest. NSFW filter: None, Soft, Mature, X. content_type: "image" or "video". browsing_level: "PG", "PG-13", "R", "X", "XXX" (comma-separated for multiple). tag: filter by tag (e.g. "anime", "animal", "architecture"). base_model: filter by base model (e.g. "Flux.1 D", "SDXL 1.0", "Pony"). tools: filter by tool (e.g. "ComfyUI", "Automatic1111"). techniques: filter by technique (e.g. "txt2img", "img2img"). has_meta: true = only with generation metadata. made_on_site: true = only generated on Civitai. originals_only/remixes_only: filter originals vs remixes. exclude_used: true = skip images/videos already in history (avoid duplicates). requester: who is requesting (e.g. "pikabu", "telegram", "scheduled:daily-post"). Always specify when fetching content for another MCP tool. Previews are cached locally for viewing via Read tool. |
| get_top_imagesA | Get top images/videos from Civitai — best for finding great prompts. Sort: Most Reactions, Most Comments, Most Collected, Newest, Oldest. Period: Day, Week, Month, Year, AllTime. content_type: "image" or "video". browsing_level: "PG", "PG-13", "R", "X", "XXX" (comma-separated). tag/base_model/tools/techniques: additional filters. has_meta/made_on_site/originals_only/remixes_only: boolean modifiers. exclude_used: true = skip images/videos already in history (avoid duplicate posts). requester: who is requesting (e.g. "pikabu", "telegram", "scheduled:daily-post"). Always specify for publishing workflows. Previews cached locally for Read tool. |
| get_model_imagesA | Get example images generated with a specific model. Returns images with full generation params: prompt, negative prompt, steps, CFG, sampler, seed, LoRAs used. Learn how to use a model well. exclude_used: true = skip already-used images. requester: who is requesting (e.g. "pikabu", "telegram"). |
| get_image_generation_dataA | Get full generation parameters from top images of a model. Focused on extracting the best prompts, settings, and LoRA combinations. Only returns images that have generation metadata. exclude_used: true = skip already-used images. requester: who is requesting (e.g. "pikabu", "telegram"). |
| get_creatorsB | Browse and search model creators on Civitai. |
| get_tagsA | Browse and search model tags. Use tags in search_models filter. |
| get_download_urlB | Get authenticated download URL for a model version. |
| get_download_infoA | Get download URLs + curl/PowerShell commands for a model. If version_id not specified, uses latest version. Set comfyui_path to auto-map to correct ComfyUI model directory. Generates ready-to-paste download commands with authentication. |
| mark_as_usedA | Mark images/videos as used (e.g. after sending to Pikabu, Telegram, etc.). Call this AFTER successfully publishing content to another platform. image_ids: list of Civitai image IDs that were used. action: TRAIL action — "posted", "selected", "skipped", etc. requester: which workflow used this (e.g. "prompthub-daily", "txt2vid-daily"). context: optional note (e.g. "posted to community Stable Diffusion"). trace_id: optional TRAIL trace ID for pipeline correlation. |
| get_trailA | Query the TRAIL content log. Use to check what content was fetched, selected, posted, or skipped. content_id: filter by content ID (exact or prefix like "civitai:image:"). action: filter by action(s) — "fetched", "selected", "posted", "failed", "skipped". String or list. requester: filter by workflow/task ID. trace_id: filter by pipeline trace ID. since: ISO 8601 timestamp — only entries after this time. limit: max entries, newest first (0 = all). offset: entries to skip for pagination. |
| mark_trailA | Write an entry to the TRAIL content log. content_id: content ID in format source:type:id (e.g. "civitai:image:12345"). action: what happened — fetched, selected, posted, failed, skipped. requester: workflow/task ID (e.g. "prompthub-daily"). details: optional platform-specific data. trace_id: optional pipeline trace ID. tags: optional labels for filtering. |
| get_trail_statsA | Get summary statistics from the TRAIL content log. requester: filter by workflow/task ID. since: ISO 8601 timestamp — only count entries after this time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools have distinct purposes, such as browsing images, searching models, or managing download info, but there is some overlap between browse_images and get_top_images, both of which fetch top images with similar filters, which could cause confusion. Additionally, get_model and get_model_version serve related but slightly different functions, but their descriptions help clarify the distinction.
Tool names follow a consistent verb_noun pattern throughout, such as browse_images, get_creators, search_models, and mark_as_used. All tools use snake_case, and the naming convention is predictable and readable, making it easy for agents to understand the action and target.
With 21 tools, the count is on the higher side for a Civitai-focused server, which may feel heavy but is somewhat justified by the comprehensive coverage of browsing, searching, downloading, and logging functionalities. However, it borders on being excessive, as some tools like get_download_info and get_download_url could potentially be consolidated, and the TRAIL-related tools (get_trail, get_trail_stats, mark_trail, mark_as_used) add complexity that might not be essential for all use cases.
The tool set provides complete coverage for interacting with Civitai, including browsing and searching images and models, fetching detailed model info, handling downloads, managing user data, and logging content usage via TRAIL. There are no obvious gaps; agents can perform full workflows from discovery to download and tracking, with tools like get_enums and get_current_user supporting auxiliary needs effectively.