invokeai-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| show_invokeai_dashboard_cardA | Show InvokeAI fleet status (version, queue, model counts) as a rich card. Return FormatToolResult with PrefabApp card; plain text fallback in content. Examplesshow_invokeai_dashboard_card() |
| show_invokeai_queue_cardA | Show the generation queue status as a rich card. Return FormatToolResult with PrefabApp card; plain text fallback in content. Examplesshow_invokeai_queue_card() |
| show_invokeai_models_cardA | Show installed models of a type as a rich card. Return FormatToolResult with PrefabApp card; plain text fallback in content. Examplesshow_invokeai_models_card(model_type="main") |
| show_invokeai_gallery_cardB | Show the most recent gallery images as a rich card. Return FormatToolResult with PrefabApp card; plain text fallback in content. Examplesshow_invokeai_gallery_card(limit=6) |
| invokeai_galleryA | Browse, search, download, and manage generated images. [RATIONALE] The gallery is a single searchable feed (gallery endpoint) with per-image actions; one portmanteau keeps discovery and mutation together. Return Format{"success": bool, "operation": str, "data": {...}, "message": str, "images": [{"image_name", "url", "thumbnail_url", "width", "height"}]} Examplesinvokeai_gallery(operation="list", limit=20) invokeai_gallery(operation="search", query="cyberpunk") invokeai_gallery(operation="download", image_name="abc123.png") Notes:
|
| invokeai_boardsA | Manage boards (collections of generated images). [RATIONALE] Boards are the primary organization surface of the InvokeAI gallery; all board operations share one record store and one portmanteau. Return Format{"success": bool, "operation": str, "data": {...}, "message": str} Examplesinvokeai_boards(operation="list") invokeai_boards(operation="create", board_name="Concept art") invokeai_boards(operation="add_image", board_id="board-uuid", image_names=["abc123.png"]) Notes:
|
| invokeai_generateA | Generate images through the local InvokeAI creative engine. [RATIONALE] All generation paths share one enqueue flow (graph build -> queue batch), so they live under a single portmanteau with an operation discriminator instead of four near-identical tools.
The job is enqueued and runs asynchronously; poll completion with invokeai_queue(operation="item_status" or "result"). Return Format{"success": bool, "queue_item_id": int, "batch_id": str, "message": str, "poll": {"tool": "invokeai_queue", "args": {...}}} Examplesinvokeai_generate(operation="txt2img", prompt="neon cyberpunk city at night, rain") invokeai_generate(operation="img2img", prompt="make it a watercolor painting", image_name="abc123.png", strength=0.6) invokeai_generate(operation="upscale", image_name="abc123.png") Notes:
|
| invokeai_modelsA | Manage installed models in the local InvokeAI instance. [RATIONALE] Model lifecycle (discovery, install from HF/Civitai, config, removal) is a single domain with a shared record store, so all operations live under this portmanteau. Sources accepted by install: HuggingFace repo ids (e.g. "stabilityai/stable-diffusion-xl-base-1.0"), Civitai model URLs, or local paths. Install runs asynchronously; poll with operation='installs'. Return Format{"success": bool, "operation": str, "data": {...}, "message": str} Examplesinvokeai_models(operation="list", model_type="main") invokeai_models(operation="install", source="stabilityai/stable-diffusion-xl-base-1.0", config={"name": "SDXL Base"}) invokeai_models(operation="delete", key="sdxl-main") Notes:
|
| invokeai_queueA | Manage the InvokeAI generation queue and retrieve results. [RATIONALE] Queue lifecycle (inspect, control, and harvest outputs) is one domain, so all operations share this portmanteau. 'result' is the natural partner of invokeai_generate: it polls an item to completion and returns the output image URLs (or downloads the file locally). Return Format{"success": bool, "operation": str, "data": {...}, "message": str} Examplesinvokeai_queue(operation="status") invokeai_queue(operation="list", status_filter="completed", limit=10) invokeai_queue(operation="result", item_id=123, wait_seconds=120, download_image=True) invokeai_queue(operation="cancel_batch", batch_ids=["batch-uuid"]) Notes:
|
| invokeai_systemA | Check InvokeAI connectivity, version, and runtime configuration. [RATIONALE] System introspection (health, version, config, cache stats) is one domain and the standard first call for onboarding and debugging. Return Format{"success": bool, "operation": str, "data": {...}, "message": str, "configured": bool} Examplesinvokeai_system(operation="health") invokeai_system(operation="version") Notes:
|
| invokeai_helpA | Get documentation for this server's tools and workflows. Return Format{"success": bool, "help": str} Examplesinvokeai_help() invokeai_help(topic="tools") |
| invokeai_shutdownA | Gracefully shut down this MCP server. Return Format{"success": bool, "message": str} Examplesinvokeai_shutdown() |
| invokeai_workflowsA | Manage InvokeAI node workflows (list, get, save, delete). [RATIONALE] Workflows are stored artifacts in a single store; CRUD plus export share this portmanteau. Running a workflow graph goes through invokeai_generate or a raw enqueue - this tool manages the stored workflow library. Return Format{"success": bool, "operation": str, "data": {...}, "message": str} Examplesinvokeai_workflows(operation="list") invokeai_workflows(operation="get", workflow_id="wf-uuid") invokeai_workflows(operation="save", workflow_json='{"nodes": {...}}') Notes:
|
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 13 tools
Each tool targets a distinct domain (queue, gallery, models, generation, workflows, boards, system), and the operation-based tools (invokeai_generate, invokeai_queue) are clearly separated. Minor overlap exists between show_invokeai_dashboard_card and invokeai_system (both report health/version), but descriptions mitigate confusion.
Naming is inconsistent: four tools use a 'show_invokeai_*_card' pattern while the rest use bare 'invokeai_*' nouns with operation parameters. Some tools are verb-like (invokeai_help, invokeai_shutdown), others are noun-objects (invokeai_gallery, invokeai_boards), making the pattern unpredictable.
13 tools is well within the ideal range for a server covering a rich creative domain. Each tool addresses a distinct area (generation, queueing, model management, gallery, workflows, system), and the card-based display tools serve as convenient views rather than redundant functionality.
Core workflows are well covered: generation includes txt2img, img2img, inpaint, and upscale; queue handles lifecycle and result retrieval; models support CRUD; gallery and boards manage images; workflows have full CRUD. Minor gaps exist (e.g., no explicit single-image delete outside 'manage' operations, and no batch generation interface), but agents can accomplish tasks without major dead ends.