Skip to main content
Glama

InvokeAI MCP

A bridge between AI coding agents (Claude, Cursor, opencode) and your local InvokeAI creative engine - text-to-image, image-to-image, masked inpaint, and upscaling on your own GPU, plus full queue, model, gallery, board, and workflow management, with a polished dark webapp.

What this wraps

This repo wraps InvokeAI, the open-source professional Stable Diffusion / Flux creative engine (Apache-2.0, 27k+ stars). InvokeAI runs as a local web server (default http://127.0.0.1:9090) and is installed separately through its launcher - it is never bundled here. See docs/WRAPPEE.md.

Related MCP server: ComfyUI MCP Server

Preview

Dashboard

Generate

Dashboard

Generate

What You Can Do

How it runs: headless bridge - this MCP server talks to your running InvokeAI instance over its REST API. InvokeAI must be installed and running (launcher install, model download, first run). Nothing is bundled.

Direction

Artifacts

Notes

Hands-in

prompts, negative prompts, images (img2img/inpaint), mask images, model sources

Text or uploaded images

Hands-out

generated PNGs, image URLs, local file paths, queue state

invokeai_queue result + gallery download

  • Generate SD1.5 / SDXL / Flux / SD3.5 / Qwen Image images on your RTX 4090

  • 8 generation modes with horizontal tabs: txt2img, img2img, inpaint, outpaint, upscale, ControlNet, IP-Adapter, seamless tiling

  • 60-style catalog + 24 material presets with select-all batch generation and live per-item progress

  • AI prompt refiner (local LLM) that understands the selected style/material

  • Plugin surface: install custom node packs from git, browse 250+ built-in engine nodes

  • Transform existing images (img2img) and repair regions (masked inpaint)

  • 4x RealESRGAN upscaling

  • Install models from HuggingFace or Civitai without leaving the chat

  • Full queue control: status, cancel, clear, resume, result polling

  • Gallery search, boards, star/favorite organization; sort/filter by style, painter, franchise, board, starred; batch ops (star/unstar/delete/zip/move) with exact per-image attribution

  • 76 curated styles + 23 franchise presets + 60 painters + 1321 A1111 community style pack entries - all batchable in any combination

  • Workflow library management (save/load node workflows)

  • Dark SOTA webapp: Generate, Gallery, Models, Queue, Boards, Workflows, Inbox, Tools, Skills, Chat (local LLM), Settings, Help, Logs

Supported models (engine catalog, 2026)

Model

Family

VRAM (fp16)

License / gating

Notes

FLUX.1 Dev / Schnell

flux

12-16 GB (fp8 ~7 GB)

Gated (token) / schnell Apache-2.0

Schnell: 4-step, structural quality

FLUX.2 Dev / Klein 9B / 4B

flux2

18 GB / 9 GB / 4 GB

Gated (token)

Current flagship

SD 3.5 Large / Medium

sd-3

16 GB / 5 GB

License accept + token

Rivals FLUX.1-dev

SDXL + community (Juggernaut XL, RealVis)

sdxl

8 GB

Mostly open

Default: Juggernaut XL v9

CogView4-6B

cogview4

12 GB (fp8 ~7 GB)

Apache-2.0, no gating

Great text rendering, bilingual

Z-Image Turbo / Base

z-image

12 GB (fp8 ~6 GB)

Permissive

Turbo is very fast

Qwen-Image 20B

qwen-image

~40 GB (fp8 ~20 GB)

Apache-2.0, no gating

Best prompt adherence; too heavy for 24 GB with desktop apps

SD 1.5 / 2.x

sd-1

4 GB

Open

Legacy, fast iteration

Krea 2, Ideogram 4, Anima, ERNIE

external

varies

Closed / API

Engine supports; not self-hostable

Graph builders ship for sd-1, sdxl, flux, cogview4 (verified against engine 6.13.7); sd-3, qwen-image, z-image, flux2 wiring is mechanical follow-up on request. Models install to N:\InvokeAI-models (configurable via models_dir in invokeai.yaml).

Quick Install

The fastest path is the MCPB bundle for Claude Desktop:

  1. Download invokeai-mcp-0.1.0.mcpb from Releases

  2. Open Claude Desktop and drag the file onto the window

  3. Complete onboarding (install InvokeAI, download a model) - see docs/ONBOARDING.md

Other methods (mcpb CLI, manual config, webapp dev stack) are in INSTALL.md.

Example Prompts

  • "Generate a neon cyberpunk city at night, rain, cinematic lighting"

  • "Use this image and make it a watercolor painting: [gallery image]"

  • "What models do I have installed? Install SDXL base from HuggingFace"

  • "Show me my recent images and download the last one to disk"

Documentation

Doc

Contents

Installation

All install methods, prerequisites

Onboarding

First-timer InvokeAI setup, model downloads, pitfalls

Wrapped app

What InvokeAI is, official links, community

Architecture

System architecture, graph builders, ports

Configuration

Env vars, config options

Tool Reference

All available tools

Development

Contributing, local setup

Troubleshooting

Common issues

Requirements

  • InvokeAI installed and running (launcher install; models downloaded) - free, Apache-2.0

  • GPU with 6-12 GB VRAM recommended (SD1.5: 4 GB, SDXL: 8 GB, Flux: 12 GB+)

  • Engine install: invokeai-web manual install (uv venv + uv pip install invokeai) or the official launcher; the engine serves its full canvas GUI on 9090

  • Claude Desktop (or any MCP client) for chat use; a browser for the webapp

  • Python 3.12+ and uv for source installs; Node/Bun for the webapp

License

MIT

Available Tools

13 tools
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}

Examples

invokeai_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:

  • Board ids come from invokeai_boards(operation='list').

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idNoBoard id (required for get, update, delete, add_image, remove_image).
operationYesBoard operation to perform.
board_nameNoBoard name (required for create, update).
image_namesNoImage names to assign/remove (add_image, remove_image).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the return format and includes examples that clarify operation behavior. However, it does not warn about destructive actions (e.g., delete is permanent), permissions, or side effects. The 'shared record store' note is vague and not actionable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a brief opening, rationale, return format, examples, and a note. Each section earns its place, though the phrase 'one portmanteau' is obscure and adds little. It is not overly verbose for the complexity of a 7-operation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 operations and 4 parameters, and the description covers the return format, common examples, and a key reference detail (how to obtain IDs). It does not document every operation in depth, but the pattern is inferable, and the output schema exists to provide return details. Overall, it is sufficiently complete for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by showing concrete invocation patterns (e.g., board_id from list, image_names as a list) and pairing parameters with the operations that need them. This goes beyond the schema's field-level descriptions and helps the agent construct valid calls.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear, specific verb+resource pair: 'Manage boards (collections of generated images).' It distinguishes this tool from gallery/workflow/etc. siblings by explicitly scoping it to board operations. The rationale reinforces the unique role of boards in the gallery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use the tool (any board management task), and provides examples for common operations (list, create, add_image). It does not explicitly mention alternatives or exclusions, but the context is sufficient for most decisions. The note about board IDs coming from list adds a practical prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

  • txt2img: text prompt to a fresh image.

  • img2img: transform an existing image (needs image_name, uses strength).

  • inpaint: regenerate a masked region (needs image_name + mask_image_name).

  • upscale: RealESRGAN 4x upscale of an existing image (needs image_name).

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": {...}}}

Examples

invokeai_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 must be running (onboarding) and a main model installed.

  • Model base determines graph family: sd-1, sdxl, flux.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNoNumber of images to generate (1-8).
seedNoRandom seed for reproducibility. Omit for a random seed.
stepsNoDenoising steps (1-150).
widthNoImage width in pixels.
heightNoImage height in pixels.
promptYesPositive prompt describing the desired image.
strengthNoimg2img/inpaint transformation strength (0.0-1.0).
cfg_scaleNoPrompt guidance scale (1.0-20.0).
model_keyNoModel key or name from invokeai_models. Defaults to first main model.
operationYesGeneration operation to run.
schedulerNoSampling scheduler.euler
image_nameNoSource image for img2img / inpaint / upscale (InvokeAI image_name).
mask_image_nameNoMask image for inpaint (white = regenerate region).
negative_promptNoElements to avoid in the image.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and excels: it discloses that jobs are enqueued and run asynchronously, specifies the return format including how to poll for results, and notes prerequisites like model base determining graph family. It also mentions that upscale uses RealESRGAN 4x, adding behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but well-structured with headings, bullet lists, examples, and notes. The rationale section justifies why operations are combined, and each section (operations, return format, examples, notes) serves a distinct purpose without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 4 operations, 14 parameters, async execution, and external dependencies, the description covers all essential aspects: operation semantics, parameter requirements, polling instructions, return format, and example calls. It is complete enough for an agent to select and invoke the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all 14 parameters with descriptions (100% coverage), so the baseline is 3. The description adds value by mapping each operation to its required parameters (e.g., 'img2img: needs image_name, uses strength') and providing concrete examples, which helps the agent understand parameter combinations beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate images through the local InvokeAI creative engine' and enumerates four specific operations (txt2img, img2img, inpaint, upscale). It distinguishes itself from sibling tools like invokeai_queue and invokeai_gallery by focusing on image generation, with a clear verb+resource scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use each operation (e.g., img2img needs image_name and strength, inpaint needs mask_image_name), states that all paths share one enqueue flow, and instructs the agent to poll invokeai_queue for completion. It also lists prerequisites (InvokeAI running, model installed), giving clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invokeai_helpA

Get documentation for this server's tools and workflows.

Return Format

{"success": bool, "help": str}

Examples

invokeai_help() invokeai_help(topic="tools")

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoHelp topic, or omit for the index.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the return format as a JSON object with 'success' and 'help' fields, and provides examples of usage. While it doesn't explicitly state read-only behavior or side effects, the nature of 'getting documentation' implies a safe, non-mutating operation, and the return format adds useful transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a one-line purpose, a structured return format, and two examples. No wasted words, and the use of headers improves scannability. Every sentence contributes to understanding the tool's behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter, the description is complete: it states the purpose, return format, and provides examples. It also mentions that omitting 'topic' returns the index, covering the default behavior. The presence of the return format in the description means no need for a separate output schema explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the 'topic' parameter as 'Help topic, or omit for the index' with 100% coverage. The description adds value by showing concrete examples (invokeai_help() and invokeai_help(topic='tools')), clarifying how the parameter is used and what 'index' means in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get documentation for this server's tools and workflows.' This is a specific verb-resource pair that distinguishes it from sibling tools like invokeai_generate or invokeai_queue, which perform operations rather than provide help.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever you need documentation for tools or workflows. It doesn't explicitly compare with alternatives, but as a help tool, its role is self-evident. The context is clear, though no formal when-not-to-use guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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}

Examples

invokeai_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:

  • model_type values follow InvokeAI taxonomy (main, lora, vae, ...).

  • Install may download multiple GB; check operation='installs' for progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoModel key (required for get, update, delete).
limitNoMax models to return.
configNoInstall config overrides: {name, type, base, description}.
searchNoSearch filter on model name.
sourceNoInstall source: HF repo id, Civitai URL, or local path (required for install).
operationYesModel manager operation to perform.
model_typeNoFilter by model type: main, lora, vae, controlnet, embedding, spandrel_image_to_image.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does a strong job: install runs asynchronously; polling is done via operation='installs'; the return format is specified; installs may download multiple GB; model_type taxonomy is described. It does not go into depth on delete/update side effects, but the critical async and return behaviors are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for rationale, return format, examples, and notes. It is slightly on the longer side but each section earns its place, providing essential operational details without fluff. The front-loaded opening sentence is strong.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, multiple operations, async install, output schema exists), the description is quite complete. It covers the return format, operation set, parameter mapping, sources, and async progress polling. It does not detail every operation's behavior, but the output schema and examples fill most gaps, making this a robust description for a multi-operation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already has 100% coverage for parameter descriptions, so the baseline is 3. The description adds value by mapping operations to required parameters (e.g., source required for install, key for get/update/delete) and by providing examples that show how config overrides are passed. This goes beyond simply restating schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Manage installed models in the local InvokeAI instance.' It then enumerates the operations (list, get, install, update, delete, installs, stats) and provides a rationale for why these are grouped. This clearly distinguishes it from sibling tools like show_invokeai_models_card, which is a UI card display, and other domain-specific tools (queue, gallery, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by explaining the model lifecycle domain and giving concrete examples of valid calls (list, install, delete). It also notes accepted install sources and asynchronous behavior. However, it does not explicitly state when *not* to use this tool or directly contrast with the sibling show_invokeai_models_card, so it falls short of full alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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}

Examples

invokeai_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:

  • result polls every 3s up to wait_seconds; use wait_seconds for synchronous flows.

  • Without wait_seconds, result returns the current item state immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax items to list.
item_idNoQueue item id (required for item_status, result, cancel).
batch_idsNoBatch ids to cancel (cancel_batch).
operationYesQueue operation to perform.
wait_secondsNoFor 'result': poll until the item completes (max seconds), then return outputs.
status_filterNoFilter list by status (pending, in_progress, completed, failed, canceled).
download_imageNoFor 'result': save the output image to the local download dir and return its path.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden and does well by disclosing the return format, polling behavior ('polls every 3s up to wait_seconds'), and immediate-return behavior without wait_seconds. It does not detail potential destructive effects of operations like 'clear' or 'cancel', which would warrant a higher score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into clear sections (rationale, return format, examples, notes) and is appropriately sized for a multi-operation tool. Every sentence contributes, with no filler, and the key summary is front-loaded in the first line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 operations and 7 parameters, the description covers many through examples, return format, and polling notes. It could be more complete by explaining each operation explicitly (especially clear, pause, resume), but the schema and examples cover the main use cases, and the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% parameter coverage, but the description adds value by giving operation-specific context: wait_seconds is explained with polling semantics, download_image is described as saving locally, and examples show how parameters like status_filter and limit are used. This goes beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: 'Manage the InvokeAI generation queue and retrieve results.' It explicitly distinguishes the 'result' operation as the natural partner of invokeai_generate, and the rationale explains the grouping of queue lifecycle operations, differentiating it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The rationale and examples provide clear context for when to use the tool and its operations, especially the 'result' operation and wait_seconds for synchronous flows. However, it does not explicitly name alternative tools for non-queue tasks, only implies that invokeai_generate is the upstream partner.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invokeai_shutdownA

Gracefully shut down this MCP server.

Return Format

{"success": bool, "message": str}

Examples

invokeai_shutdown()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a 'graceful' shutdown and specifies the return format, which is useful. However, it does not disclose the destructive consequences (e.g., terminating the server, losing state, irreversibility) or any permissions needed. With no annotations provided, the description carries the full burden and falls short for a shutdown operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded. The additional return format and example are directly relevant and help the agent understand the call. No unnecessary information is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, clear purpose, and an output schema), the description provides enough for correct usage. The only gap is the lack of warning about the destructive side effects, but it is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds minimal value beyond the empty schema, but the example invocation 'invokeai_shutdown()' clarifies that no arguments are expected, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Gracefully shut down') and the resource ('this MCP server'). It is specific and distinguishes the tool from siblings like show_invokeai_dashboard_card or invokeai_generate, which are all non-shutdown operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied by the tool's name and description, but there is no explicit guidance on when to use it or mention of alternatives. The sibling tool invokeai_system could potentially handle system-level operations, but the description does not differentiate or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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}

Examples

invokeai_system(operation="health") invokeai_system(operation="version")

Notes:

  • health returns configured=false when InvokeAI is not reachable (drives the webapp onboarding cue).

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesSystem operation to perform.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the return format (success, operation, data, message, configured) and specifically notes that health returns configured=false when unreachable, which is valuable behavioral context. It does not discuss side effects, but the introspective nature is clear from 'check' and 'introspection.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear opening purpose, a rationale section, explicit return format, examples, and notes. It is not overly verbose for the information conveyed. Every section serves a purpose, though the rationale section could be considered slightly meta but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter introspection tool with an output schema, the description is complete. It covers purpose, usage context, return format, examples, and a special case (configuration flag). Sibling tools are clearly different domains, so confusion is unlikely. The description fully equips an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameter is fully documented with an enum. The description adds examples and a note about the health operation, but it does not add deep semantic meaning beyond what the schema provides. Baseline is 3, and the added examples are helpful but not substantial enough to raise it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Check InvokeAI connectivity, version, and runtime configuration.' It also enumerates the specific operations (health, version, config, stats) and distinguishes itself from sibling tools that focus on queue, gallery, models, or generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by calling it 'the standard first call for onboarding and debugging,' which implies when to use it. It also gives examples and notes about the health operation's behavior. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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}

Examples

invokeai_workflows(operation="list") invokeai_workflows(operation="get", workflow_id="wf-uuid") invokeai_workflows(operation="save", workflow_json='{"nodes": {...}}')

Notes:

  • workflow_json must be a full InvokeAI workflow object (id, nodes, edges).

  • Save with an existing id updates; without one, creates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax workflows to list.
offsetNoPagination offset.
operationYesWorkflow operation to perform.
workflow_idNoWorkflow id (required for get, delete).
workflow_jsonNoRaw workflow JSON string (required for save).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden. It discloses the return format, save/update behavior, and that workflow_json must be a full workflow object. It does not mention whether delete is irreversible or how errors are surfaced, but it covers key behavioral aspects adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose, rationale, return format, examples, and notes. Each section earns its place without redundancy, and critical information is front-loaded in the opening sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a CRUD manager with moderate complexity, and the description covers it fully: operations, return format, examples, save semantics, and required fields. It clearly differentiates from sibling tools, making it adequately complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented. The description adds value beyond the schema by explaining save semantics, requiring a full workflow object, and providing examples that tie parameters to operations. This goes beyond the baseline mid-rating.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair: 'Manage InvokeAI node workflows (list, get, save, delete)', which clearly states the tool's scope. It further distinguishes from siblings by noting that running a workflow graph goes through invokeai_generate or enqueue, so this tool is for the stored library.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when and when not to use the tool: 'Running a workflow graph goes through invokeai_generate or a raw enqueue - this tool manages the stored workflow library.' It also clarifies save semantics (create vs update) and gives usage examples for each operation, which serves as clear usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_invokeai_dashboard_cardA

Show InvokeAI fleet status (version, queue, model counts) as a rich card.

Return Format

ToolResult with PrefabApp card; plain text fallback in content.

Examples

show_invokeai_dashboard_card()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure burden. It does disclose the return format (PrefabApp card, plain text fallback), but it does not explicitly state that the operation is read-only or side-effect-free. The verb 'Show' implies non-mutating, but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct and well-structured: a clear purpose sentence, a brief return format note, and an example. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter display tool with no output schema, the description is complete enough. It specifies what the card shows, the return format, and provides an invocation example, leaving no ambiguity about usage or expected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty schema, so the description cannot add parameter-level detail. According to the rubric, 0 parameters gets a baseline of 4; no additional explanation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Show') and clearly identifies the resource ('InvokeAI fleet status') along with the content covered (version, queue, model counts). This distinguishes it from sibling card tools (queue, gallery, models) by indicating it is the overall dashboard view.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit statement about when to use this tool versus alternatives. However, the scope 'fleet status' and the 'dashboard' name imply it is for overall status overviews, which provides indirect guidance but no clear exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_invokeai_models_cardA

Show installed models of a type as a rich card.

Return Format

ToolResult with PrefabApp card; plain text fallback in content.

Examples

show_invokeai_models_card(model_type="main")

ParametersJSON Schema
NameRequiredDescriptionDefault
model_typeNoModel type to list: main, lora, vae, controlnet, spandrel_image_to_image.main

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the return format ('ToolResult with PrefabApp card; plain text fallback in content'), which is helpful for understanding what the tool produces. However, it does not mention error handling or behavior for invalid/missing model_type, but for a read-only display tool this is a reasonable level of disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear first sentence, a 'Return Format' section, and an 'Examples' section. It uses headers to separate concerns, is front-loaded with the main purpose, and every sentence adds value without unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description is sufficiently complete: it states the return format and provides an example. It could go further by describing what the card includes (e.g., model names, versions), but the essence is captured. The tool's simplicity means the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: the only parameter, model_type, has a description listing allowed values ('main, lora, vae, controlnet, spandrel_image_to_image'). The description merely says 'a type' and the example uses 'main', adding no new meaning beyond the schema. Baseline 3 applies because the schema already documents the parameter thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: 'Show installed models of a type as a rich card.' This specifies the verb ('Show'), resource ('installed models'), and output format ('rich card'). It also distinguishes from sibling card tools (e.g., show_invokeai_queue_card, show_invokeai_gallery_card) by focusing on models and including an example.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an example call (show_invokeai_models_card(model_type="main")) that implies usage, but it does not explicitly state when to prefer this tool over alternatives like invokeai_models (which likely provides a text list). No when/not-to-use guidance or alternatives are mentioned, so the usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_invokeai_queue_cardA

Show the generation queue status as a rich card.

Return Format

ToolResult with PrefabApp card; plain text fallback in content.

Examples

show_invokeai_queue_card()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral info. It discloses the output format (PrefabApp card with plain text fallback) but doesn't specify any side effects, permission requirements, or edge cases like empty queue.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise and front-loaded, with a clear first sentence and a compact return-format note and example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only display tool, the description covers purpose, output format, and usage example. It lacks detail about the card's content but is otherwise sufficient given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the empty schema is fully covered. The description reinforces this with an example showing no arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool displays the generation queue status as a rich card, using a specific verb and resource. This distinguishes it from sibling card tools for gallery, models, and dashboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or comparison with alternatives is provided. The description only gives an example call, leaving the agent to infer when to choose this over other show_*_card tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedinvokeai_boards
    • First observedinvokeai_gallery
    • First observedinvokeai_generate
    • First observedinvokeai_help
    • First observedinvokeai_models
    • First observedinvokeai_queue
    • First observedinvokeai_shutdown
    • First observedinvokeai_system
    • First observedinvokeai_workflows
    • First observedshow_invokeai_dashboard_card
    • First observedshow_invokeai_gallery_card
    • First observedshow_invokeai_models_card
    • First observedshow_invokeai_queue_card

TDQS

A3.9/5.0
Disambiguation4/5

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 Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/invokeai-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server