Skip to main content
Glama

🌉 Forge Neo MCP

Forge Neo MCP Python Version License

Stable Diffusion WebUI Forge - Neo용 MCP 서버 · MCP를 지원하는 모든 AI 에이전트에서, 자신의 GPU로 이미지를 생성하세요

Claude — 또는 MCP를 지원하는 모든 에이전트 — 에게 이미지를 요청하면, 로컬 Forge Neo에서 생성합니다. 어떤 체크포인트가 로드되어 있는지 읽고, 해당 모델이 기대하는 샘플링 파라미터와 프롬프트 스타일을 파악한 뒤, 프롬프트를 작성하고 파일을 돌려줍니다.

원하지 않는 한 단계 수(CFG)나 샘플러를 직접 지정할 필요가 없습니다. 이 모든 것은 사용자 자신의 설정에서 비롯됩니다: 인스턴스의 설정, 과거 생성 기록, 체크포인트의 메타데이터. 결정할 수 없는 부분이 있으면 추측하지 않고 물어봅니다.

[!IMPORTANT] Forge Neo는 --api 플래그로 실행해야 합니다. Forge 폴더에는 아무것도 설치되지 않습니다 — 확장 프로그램도, 커스텀 노드도 없습니다. 브리지는 Forge가 이미 제공하는 REST API와 통신합니다.


📋 목차


Related MCP server: invokeai-mcp

✅ 요구 사항

Forge Neo

--api 플래그로 실행 중

Python

에이전트가 실행되는 머신에 3.10 이상

MCP 클라이언트

Claude Code, Claude Desktop, Cursor 또는 MCP를 지원하는 모든 도구

Forge가 다른 머신에서 실행되는 경우에만: 해당 머신에 대한 네트워크 접근, 그리고 결과를 base64가 아닌 파일 경로로 받으려면 파일 공유가 필요합니다.


📦 설치

1 · Forge Neo에서 API 활성화

webui-user.bat(Windows) 또는 webui-user.sh(Linux)를 편집하고 --api를 추가하세요:

set COMMANDLINE_ARGS=--api

기존에 있던 플래그는 그대로 두고 — --api만 추가하면 됩니다. Forge를 재시작하세요.

작동 확인: http://127.0.0.1:7860/docs를 열어보세요. /sdapi/v1/... 엔드포인트가 나열되어 있으면 API가 켜진 것입니다.

2 · 브리지 설치

pip install git+https://github.com/eduardoabreu81/forgeneo-mcp

3 · 에이전트에 등록

Claude Code

claude mcp add forgeneo -e FORGE_URL=http://127.0.0.1:7860 -- forgeneo-mcp

Claude Desktop, Cursor 또는 mcp.json을 사용하는 모든 클라이언트

{
  "mcpServers": {
    "forgeneo": {
      "command": "forgeneo-mcp",
      "env": { "FORGE_URL": "http://127.0.0.1:7860" }
    }
  }
}

클라이언트를 재시작하세요 — MCP 서버는 시작 시 로드되므로 새 세션에서 도구가 나타납니다.


⚙️ 설정

FORGE_URL을 제외한 모든 항목은 선택 사항이며, 그것조차 Forge가 127.0.0.1:7860에 있지 않을 때만 필요합니다.

변수

역할

기본값

FORGE_URL

Forge의 위치

http://127.0.0.1:7860

FORGE_AUTH

user:password, Forge를 --api-auth로 시작한 경우

없음

FORGE_PATH_MAP

Forge의 경로를 사용자 머신에서 접근 가능한 경로로 변환

없음

FORGE_OUTPUT_DIR

출력 폴더, 자동으로 찾을 수 없는 경우

자동

FORGE_TIMEOUT

요청 대기 시간(초)

600

FORGE_HISTORY_LIMIT

설정 학습 시 읽을 최근 이미지 수

600

FORGE_CIVITAI_LOOKUP

1이면 해시로 체크포인트를 온라인에서 식별 가능

꺼짐

FORGENEO_CACHE_DIR

확인된 답변이 저장되는 위치

~/.forgeneo-mcp

모든 것이 한 머신에 있는 경우

할 일이 없습니다 — 기본값으로 충분합니다.

Forge가 다른 머신에 있는 경우

Forge를 --listen --api로 시작한 다음, 브리지를 해당 주소로 지정하고 경로를 매핑하세요:

claude mcp add forgeneo \
  -e FORGE_URL=http://gpu-box:7860 \
  -e FORGE_PATH_MAP='D:/forge-neo=//gpu-box/share/forge-neo' \
  -- forgeneo-mcp

FORGE_PATH_MAP은 Forge가 부르는 이름 = 사용자가 부르는 이름으로 읽습니다. Forge는 D:\forge-neo\output\... 같은 경로를 보고합니다. 사용자가 같은 폴더에 \\gpu-box\share\forge-neo\output\...로 접근한다면, 이 매핑을 통해 브리지가 수 메가바이트의 base64 대신 파일 경로를 전달할 수 있습니다.

이 설정이 없어도 모든 것이 작동합니다 — base64로 받을 뿐입니다.

[!NOTE] --listen은 비밀번호 없이 API를 네트워크에 노출합니다. 해당 환경에서 문제가 된다면 Forge에 --api-auth user:password를 추가하고 FORGE_AUTH를 일치시키세요.


🚀 첫 실행

새 세션을 열고 에이전트에게 연결을 확인하라고 요청하세요. capabilities를 호출하고 발견한 내용을 보고합니다:

reachable    true
counts       checkpoints · loras · samplers · schedulers · modules
filesystem   file paths        (or: base64 — no readable output dir)
history      how many past generations it could read

확인할 가치가 있는 세 가지:

  • filesystem: base64 — FORGE_PATH_MAP이 없거나 잘못되었습니다. 치명적이지는 않지만, 결과물이 대화를 비대하게 만듭니다.

  • history: 0 — 과거 작업에서 학습할 수 없습니다. 보통 출력 폴더에 접근할 수 없거나, Forge가 메타데이터를 저장하지 않는 경우입니다(문제 해결 참조).

  • loras: 0 — LoRA가 설치되어 있는데 이렇게 나온다면, Forge의 LoRA 목록이 비어 있는 것입니다. UI에서 새로고침하세요.


💬 사용 방법

그냥 요청하세요. 에이전트가 나머지를 처리합니다.

"겨울 하이킹에 관한 포스트의 커버 이미지"

로드된 모델을 확인하고, 해당 모델이 산문형 프롬프트를 원하는지 태그형을 원하는지 파악한 후, 그에 맞게 프롬프트를 작성하고 생성합니다.

"같은 걸 내가 썸네일에 쓰는 스타일로"

LoRA를 검색하여 원하는 것을 찾고, 트리거 단어와 평소 사용하는 가중치를 가져와 프롬프트에 작성합니다 — 눈에 보이게, 전송된 내용을 읽을 수 있도록.

"내 인물 사진 모델로 전환해줘"

해당 체크포인트를 로드합니다. 다른 아키텍처에 속한다면, 일치하는 VAE와 텍스트 인코더도 함께 로드됩니다.

직접 물어볼 가치가 있는 다른 것들:

  • "어떤 모델이 로드되어 있고 어떻게 프롬프트해야 하나요?" — 프로필을 평이한 용어로

  • "내 LoRA 중 이 체크포인트와 호환되는 것은?" — 호환 가능한 것만 필터링

  • "내 flux 설정이 완전한가요?" — VAE와 텍스트 인코더 확인

  • "중지" — 실행 중인 생성 중단


🛠️ 도구

에이전트가 스스로 선택합니다. 여기 목록은 어떤 작업이 가능한지 알려드리기 위한 것입니다.

도구

용도

capabilities

이 인스턴스가 제공하는 것과 브리지가 읽을 수 있었던 것

model_profile

로드된 체크포인트: 파라미터, 프롬프트 스타일, 모듈 상태

prompt_dialect

이 모델이 기대하는 프롬프트 방식과 품질 태그

loras

이름, 태그, 트리거 단어 또는 설명으로 LoRA 검색

lora_info

하나의 LoRA에 대한 모든 정보, 바로 사용 가능한 프롬프트 조각 포함

models

체크포인트 목록, 로드 또는 새로고침

module_check

로드된 VAE와 텍스트 인코더가 아키텍처에 적합한지 여부

module_download

누락된 모듈의 출처 — 승인할 때만 다운로드

generate

작성된 프롬프트로 생성, txt2img 또는 img2img

progress

실행 중인 작업 확인, 중단 또는 건너뛰기


🔧 문제 해결

Forge에 연결할 수 없다고 표시됨 Forge가 --api로 실행 중이고 http://127.0.0.1:7860/docs에 /sdapi/v1/ 엔드포인트가 있는지 확인하세요. Forge가 다른 머신에 있다면 --listen도 필요하며, 방화벽이 차단하고 있을 수 있습니다.

결과가 base64로 반환되어 대화가 넘쳐남 FORGE_PATH_MAP이 없거나 일치하지 않습니다. Forge가 보고하는 경로 — 모든 생성물의 정보에서 확인 가능 — 와 같은 폴더에 접근할 때 사용하는 경로를 비교하세요.

평소 설정을 인식하지 못함 과거 이미지에서 학습하는데, 이를 위해서는 Forge가 생성 파라미터를 저장해야 합니다. Settings → Saving images에서 **"Save text information about generation parameters as chunks to png files"**를 활성화하거나 .txt 사이드카를 켜세요. 둘 다 없으면 출력물에 파라미터가 포함되지 않아 아키텍처 기본값으로 대체됩니다.

SDXL 체크포인트의 계열을 계속 물어봄 Pony, Illustrious, Animagine, 기본 SDXL은 파일만으로 구분할 수 없습니다 — 같은 텐서, 같은 프리셋, 다른 프롬프트 어휘. 한 번 답하면 파일별로 기억되어 다시 묻지 않습니다.

아키텍처 전환 후 이미지가 이상하게 보임 모듈 검사를 요청하세요. Forge는 각 프리셋에서 마지막으로 선택한 VAE와 텍스트 인코더를 기억하므로, 다른 프리셋이 활성화된 상태에서 체크포인트를 로드하면 잘못된 모듈이 연결될 수 있습니다. 검사는 무엇이 누락되었는지, 올바른 파일이 이미 설치되어 있는지 알려줍니다.

공간 부족으로 다운로드가 거부됨 의도된 동작입니다 — 시작 전에 여유 공간을 확인하여 수 기가바이트를 다운로드하는 중에 실패하지 않도록 합니다. 공간을 확보하거나 bf16 대신 fp8_scaled 같은 더 가벼운 빌드를 선택하세요.


🎯 제공 기능

  • 모델에 맞는 샘플링 파라미터. 가능한 경우 사용자의 과거 생성 기록에서, 그렇지 않으면 인스턴스 설정에서 가져옵니다 — 이 저장소의 표에서 가져오는 것이 아닙니다.

  • 올바른 프롬프트 어휘. 도움이 되는 곳에는 품질 태그, 해가 되는 곳에는 없음: 캡션으로 학습된 모델에 masterpiece, best quality를 추가하면 프롬프트가 개선되는 대신 희석됩니다.

  • 검색 가능한 LoRA. 이름, 태그, 트리거 단어 또는 설명으로, 실제 사용하는 가중치와 함께. 프롬프트에 추가되는 것은 항상 표시됩니다.

  • 정직한 불확실성. 증거가 부족하면 그렇게 말하고 물어봅니다. 조용한 추측은 없습니다.

  • 모듈 상태 검사. 프리셋이 잘못된 VAE나 텍스트 인코더를 선택했을 때 감지하고, 누락된 항목의 공식 다운로드 위치를 알려줍니다.

각 답변이 어떻게 도출되는지에 대한 설명은 해당 코드 옆의 소스에 있습니다.


🗺️ 로드맵

  • 비디오 (Wan) — Forge는 4n+1 배수의 프레임 수로 비디오를 생성하고 ffmpeg로 인코딩하지만, API는 결과 경로를 버립니다. 디스크에서 수집하는 것은 이미 이미지가 반환되는 방식이므로, 대부분 배관 작업입니다.

  • EXIF 메타데이터 — JPEG와 WebP는 .txt 사이드카가 꺼져 있을 때 EXIF에 파라미터를 저장합니다. 현재 이 조합은 기록을 생성하지 않습니다.

  • 인증 — FORGE_AUTH는 구현되었지만 실제 --api-auth 인스턴스에서 테스트되지 않았습니다.


📄 크레딧

  • Forge Neo — Haoming02 제작 — 브리지가 연결하는 WebUI, 그리고 모듈 참조의 기반이 되는 Download Models 위키

  • 모델 카드에 실제 프롬프팅 가이드를 게시한 모델 작성자들 — 방언 테이블은 추측이 아닌 이 자료들로 구축되었습니다

  • Model Context Protocol — 프로토콜 및 Python SDK

  • CivitAI — 선택적 조회에 사용되는 공개 해시 기반 엔드포인트


📜 라이선스

MIT — LICENSE 참조


Stable Diffusion 커뮤니티를 위해 ❤️로 제작

버그 신고 • 기능 요청 • 토론 • ☕ Ko-fi

Available Tools

10 tools
capabilitiesA

Report what this Forge instance offers: routes, counts, and which metadata sources are available. Call this first in a session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations present, the description must carry the burden of behavioral disclosure. It states the tool reports information, which implies read-only, but it does not explicitly confirm the absence of side effects, nor mention any authentication, latency, or output-size implications of being called first in a session.

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?

Two sentences, no filler. The core function is stated first, and the usage instruction is a separate, front-loaded directive. Every word earns its place.

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 tool with no output schema, the description covers what the agent receives and when to call. It stops short of describing the exact shape of the routes/counts/metadata-source data, but that level of detail is rarely needed before invoking a discovery 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 tool has zero parameters, so the baseline is 4 per the rubric. The description adds context about what the returned report covers, which is the relevant semantic information an agent needs.

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 (Report) with a clear resource (Forge instance) and enumerates the exact content of the report (routes, counts, metadata sources). This distinguishes it from sibling tools like model_profile or generate, which are about particular resources rather than an instance-wide overview.

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?

Explicitly instructs to call this tool first in a session, giving an unambiguous trigger condition. Since no sibling serves an overview/discovery role, there is no alternative to contrast, and the instruction is sufficient.

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

generateA

Generate an image from an already-written prompt.

The prompt is sent verbatim: include any <lora:name:weight> yourself. With use_profile_defaults on, missing sampling parameters are filled from what the loaded model actually used before, so leave them unset unless you mean to override. That includes shift (Forge's distilled_cfg_scale) and the dimensions: leaving them at 0 takes the architecture's own values instead of a generic default. Returns file paths when the output folder is readable.

Pass init_image (a local file path) to run img2img instead, where denoising_strength controls how far the result may drift from it: around 0.3 keeps the composition, 0.75 reinterprets it freely. Edit-style and video models expect values close to 1.0.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNo
shiftNo
stepsNo
widthNo
heightNo
promptYes
cfg_scaleNo
schedulerNo
batch_sizeNo
init_imageNo
sampler_nameNo
negative_promptNo
denoising_strengthNo
use_profile_defaultsNo

TDQS

A5/5.0
Behavior5/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 states that the prompt is sent verbatim, requires manual LoRA syntax, explains that missing sampling parameters are filled from the model's actual history under use_profile_defaults, clarifies that shift and dimensions default to architecture-specific values when left unset, and discloses that return values are file paths only when the output folder is readable. It also details denoising_strength effects and the near-1.0 expectation for edit/video models. This is thorough and goes far beyond a bare statement of purpose.

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?

Three paragraphs, each with a distinct focus: purpose, prompt/profile defaults, and img2img specifics. Every sentence adds meaningful information. The core purpose is stated first, and the most critical caveat (verbatim prompt, LoRA) comes immediately after. There is no fluff or redundant phrasing.

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 14-parameter tool with no output schema, this description covers the essential usage nuances: the verbatim prompt behavior, profile default handling, dimension/shift semantics, img2img initiation, and denoising strength guidance. It also notes the conditional return format. What is omitted (error cases, exact output object structure) is minor and not required for correct invocation. Given the tool's complexity, the description is impressively complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must explain the parameters. It does so selectively but effectively: it explains shift as Forge's distilled_cfg_scale, dimensions default to the architecture's own values, init_image switches to img2img, denoising_strength controls drift with concrete ranges, and use_profile_defaults influences whether other parameters are ignored. These are the non-obvious ones; standard parameters like steps, cfg_scale, and negative_prompt are left to the agent's prior knowledge, which is reasonable given their commonality.

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: 'Generate an image from an already-written prompt.' This clearly distinguishes it from all sibling tools (profiles, progress, loras, models, etc.), which are about model management and introspection, not generation. No ambiguity about what the tool does.

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?

While it doesn't explicitly name alternative tools, the context makes the intended use unambiguous: it is the image-generation tool. It does provide clear guidance on when to use img2img (pass init_image) versus text-to-image, and explains the behavior of use_profile_defaults to avoid overriding model-specific settings. This is sufficient routing for an agent.

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

lora_infoA

Full detail for one LoRA, including description, tags, past usage and a ready-to-paste prompt fragment with its trigger words.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A3.8/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 of signaling behavior. It frames the tool as informational, which reasonably implies a read-only operation, and it lists concrete output facets such as description, tags, past usage, and a trigger-word prompt fragment. It stops short of explicitly stating 'does not modify anything,' but the risk of misinterpretation is low.

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?

One tight sentence with the core purpose front-loaded and the output components listed afterward. There is no filler, redundancy, or unnecessary detail.

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

Completeness3/5

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

For a simple one-parameter informational tool, the description conveys the return value and general scope, but it lacks parameter-format guidance and any routing cues relative to siblings. Since there is no output schema and no annotations, more explicit context about what to pass and when to use this tool would improve completeness.

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

Parameters2/5

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

The schema has only the 'name' parameter with 0% description coverage, and the tool description does not explain what format 'name' should take (display name, key, path, etc.). The phrase 'for one LoRA' weakly implies the parameter identifies a LoRA, but that is not enough to confidently construct a valid argument without further inference.

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 identifies the operation as retrieving full detail for a single LoRA and enumerates the specific contents returned. It also differentiates from siblings like loras, which likely provide a list rather than deep per-item detail.

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 singular phrasing 'one LoRA' implies this is for focused lookup, and sibling tools like loras are the natural list counterpart, but no explicit when-to-use or when-not-to-use guidance is given. The agent must infer the routing from context.

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

lorasA

Search available LoRAs by name, title, tags, trigger words or description.

Only call this when the request actually calls for one (a named style, character, or concept) — most generations need no LoRA at all. kind can be "content" or "accelerator"; accelerators change the sampling regime rather than the image, so adopting one means adjusting steps and CFG together.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo
queryNo
verboseNo
base_modelNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the behavior of accelerators vs. content LoRAs, noting that accelerators change the sampling regime. It does not mention whether the operation is read-only (though 'Search' implies it) or what the response format is. This leaves moderate gaps, so a 3 is fair.

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 two sentences and efficiently conveys the core purpose and usage. It front-loads the action and then adds contextual guidance. It is appropriately sized, though it could benefit from a bulleted list for parameters, but as-is it's concise and clear. Score 4.

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

Completeness2/5

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

The tool has 5 parameters and no output schema. The description does not explain query, limit, verbose, or base_model, nor does it describe the response. It also assumes knowledge of what 'content' vs 'accelerator' means beyond the brief note. Overall, it leaves too much unspecified for a complete tool definition. Score 2.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains the 'kind' parameter in detail but ignores query, limit, verbose, and base_model entirely. This is insufficient for a 5-parameter tool, so a 2 is warranted.

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

Purpose4/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: 'Search available LoRAs by name, title, tags, trigger words or description.' It identifies the resource (LoRAs) and the action (search). However, it doesn't explicitly differentiate from sibling lora_info, though the search vs. info distinction is inferable. So a 4 is appropriate.

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 provides explicit guidance: 'Only call this when the request actually calls for one (a named style, character, or concept) — most generations need no LoRA at all.' This clearly indicates when to use and when not to, and also explains the kind parameter's role in choosing content vs. accelerator. It doesn't name alternative tools, but the guidance is decisive enough for a 5.

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

model_profileA

Describe the currently loaded checkpoint: architecture preset, whether it behaves as a turbo/distilled model, the sampling parameters that actually worked before, the expected prompt dialect, and whether its VAE and text encoder modules exist. Call before writing a prompt for an unfamiliar model.

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 must disclose behavioral traits. It describes what the tool reports (content list) and frames it as a read-only describe operation, but it does not explicitly state that it has no side effects, nor does it describe the return format or possible failure cases (e.g., no checkpoint loaded). The content list implies a safe read, but explicit disclosure is absent, leaving a minor gap.

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 a single, dense sentence that fronts the main action ('Describe the currently loaded checkpoint') and then lists specific attributes. It is concise but somewhat packed with details, which slightly reduces readability. Overall, it earns its place without wasted words, so a 4 is fitting.

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 no parameters and no output schema, the description must convey what the agent receives; it does so by enumerating the key components (architecture, distilled status, sampling parameters, prompt dialect, module existence). It also includes the usage timing. It lacks mention of error scenarios, but for a straightforward describe tool, the provided details are sufficient for correct 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?

The input schema has zero parameters and 100% schema coverage, so there is nothing to explain—the baseline for 0 parameters is 4. The description adds no parameter information because none exist, which is appropriate.

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 the specific verb 'Describe' and the resource 'currently loaded checkpoint', then enumerates the exact content: architecture preset, turbo/distilled status, sampling parameters, prompt dialect, and module existence. This clearly differentiates it from siblings like models (which likely lists available models) or prompt_dialect (which covers only one aspect). The call-before-writing-prompt instruction reinforces its distinct role.

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 explicitly states when to call: 'Call before writing a prompt for an unfamiliar model.' This is a clear, actionable context. It does not explicitly list alternatives or exclusion conditions, but the tool's comprehensive nature and the directive make usage unambiguous, so a near-top score is warranted.

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

modelsA

List or load checkpoints. action: "list" | "load" | "refresh".

Loading swaps the model for the whole instance, including any human using the web UI at the same time, and takes several seconds — only do it when the operator asked for that model. When the target belongs to a different architecture, its preset, VAE and text encoder are switched with it, since Forge would otherwise load it against whatever modules are selected now. The architecture is inferred from two signals and only acted on when they agree; pass preset to state it outright.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNo
queryNo
actionNolist
presetNo

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description takes full responsibility for disclosing behavior. It reveals that loading swaps the model for the entire instance, affects web UI users, takes several seconds, and switches preset/VAE/text encoder under certain architecture conditions. This is unusually transparent for such a side-effectful 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 compact and front-loaded with the key action enum. The longer paragraph earns its place by disclosing critical side effects and architectural behavior. No filler or repetition.

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

Completeness3/5

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

The load path is thoroughly described, including side effects and architecture handling. However, the list and refresh paths are under-specified, and with no output schema and no annotations, the description does not clarify what the tool returns or how limit/query affect list results. This leaves meaningful gaps for an agent.

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 0%, so the description must compensate. It explains action values ('list' | 'load' | 'refresh') and the purpose of preset, but it does not clarify what name, limit, or query do, which are essential for the list action. This is partial compensation for a low-coverage schema.

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

Purpose4/5

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

The description opens with 'List or load checkpoints,' which names a specific resource and action set. It clearly identifies the tool's scope, though it does not explicitly distinguish itself from sibling tools like model_profile or loras.

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 gives explicit when-to-use guidance for the load action: 'only do it when the operator asked for that model.' It also explains when to pass a preset. However, it gives no guidance for choosing list vs. refresh or for using any sibling tool.

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

module_checkA

Check the VAE and text encoders loaded for an architecture against what it actually needs, and list installed files that could fill any gap.

Defaults to the active preset. Worth calling after switching architecture or when output looks wrong for no obvious reason: Forge records the last selection made under a preset, so loading a checkpoint while another preset was active can leave the wrong modules attached. Where the reference does not state a VAE, it says so instead of guessing — a wrong VAE degrades output without raising an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetNo

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 burden of behavior. It discloses that it says when a VAE is not stated instead of guessing, and explains the preset behavior. It implies read-only operation by listing files and checking, which is transparent. No contradictions with annotations since none are provided.

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 compact yet information-dense. It leads with the main purpose, then usage triggers, and finally a behavioral note. Each sentence contributes to understanding without fluff, and it is not overly long.

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 description covers what, when, why, and what it returns (list of installed files). While no output schema is provided, listing files is enough for an agent to understand the output. The description also hints at edge cases (missing VAE) and the reasoning behind the need for this tool. It is complete for a simple one-parameter 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?

Schema coverage is 0% and there is only one parameter, preset. The description explains that it defaults to the active preset, which gives meaningful context for the parameter beyond the schema's default value. This compensates for the lack of schema documentation, though it does not specify format or types beyond the default.

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 function: checking VAE and text encoders against architecture needs and listing installed files to fill gaps. It uses a specific verb (check) and resource (VAE and text encoders), and distinguishes itself from siblings like model_profile and module_download by focusing on module alignment, not profiling or downloading.

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?

It provides explicit scenarios for use: after switching architecture or when output looks wrong without obvious cause. It explains the underlying reason (preset selection recording) and gives a clear rationale for calling it. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of the highest bar.

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

module_downloadA

Find, and optionally fetch, a VAE or text encoder the architecture needs.

Called with no arguments it lists what the active preset is missing and where each file comes from, downloading nothing. Downloading requires both a label naming one entry and confirm=True, and the operator has to agree first: these are multi-gigabyte files written into their models folder, often across a network share.

Links come from the Forge Classic wiki's Download Models page. Where several builds exist — bf16, fp8_scaled, gguf — they are all offered, because which to take depends on the operator's hardware, not on a default worth hiding.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
presetNo
confirmNo

TDQS

A4.3/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 it does so thoroughly: it discloses that no-args downloads nothing, that download writes multi-gigabyte files into the models folder often over a network share, that confirmation is mandatory, and that all model build variants are offered rather than a hidden default. This is strong side-effect and safety 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 front-loaded with the core purpose, then adds exactly the operational details needed to avoid unsafe calls. Each sentence carries information; there is no filler or restatement of the tool name.

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

Completeness3/5

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

The no-annotation, no-output-schema context makes the description the only source of behavior, and it covers invocation modes, side effects, file source, and build choices. However, the `preset` parameter is left ambiguous, and there is no indication of the return/listing format beyond 'lists what is missing.'

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 description coverage is 0%, so the prose must explain the parameters. It explains `label` and `confirm` well, but never describes the `preset` parameter—it only mentions 'the active preset'—so one of three parameters remains semantically unexplained.

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 opening sentence names a specific action — find and optionally fetch — a concrete resource (VAE/text encoder) and a scoping context (what the architecture needs). The no-arguments behavior makes the tool's role unmistakable and sets it apart from siblings like module_check.

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 distinguishes the safe no-argument listing mode from the mutating download mode and states the exact precondition (`label` plus `confirm=True`). It does not name an alternative sibling for other cases, so it misses the 'when-not/alternatives' bar for a 5.

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

progressB

Check or stop the current generation. action: "status" | "interrupt" | "skip".

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNostatus

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description bears the full burden of behavioral disclosure. It lists actions but does not explain the consequences of each—for example, what 'interrupt' or 'skip' actually do, whether they are reversible, or if they have side effects. The tool appears to be a mutation-capable (stop) operation, yet that is not clearly characterized.

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 very short and front-loaded: it states the action and immediately lists the values. No filler. It could be slightly more structured (e.g., separate lines for each action) but it remains efficient and readable.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description is inadequate. It does not explain what each action returns or does, lacks details about error handling, or expected output. An agent may not know whether 'status' returns a string, a JSON object, or whether 'interrupt' requires any confirmation. This is a notable gap for such a simple 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 gives only a name and default for the 'action' parameter. The description compensates by enumerating the allowed values ('status' | 'interrupt' | 'skip'), which adds meaning beyond the schema. This fits the low schema coverage, so the description carries the semantic load effectively.

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

Purpose4/5

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

The description states a clear purpose: checking or stopping the current generation, and enumerates three specific actions. This is distinguishable from siblings like 'generate' or 'models' because it focuses on the lifecycle of generation. However, it does not explicitly name a sibling it is not, so it loses one point.

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?

The description provides no guidance on when to use this tool versus alternatives. It implies it relates to an ongoing generation but does not specify conditions, such as 'use after generate' or 'use to retrieve status.' No exclusions or alternative references are given.

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

prompt_dialectA

How the loaded checkpoint expects to be prompted, with its quality tags.

Returns the dialect (pony / illustrious / animagine / anima / sd15 / sdxl_base / natural), the quality prefix and negative baseline it needs, and where that conclusion came from. Quality tags are not decoration: an Illustrious prompt without them degrades, and a Flux prompt with them degrades too.

When the dialect comes back unknown — xl covers Pony, Illustrious and stock SDXL, which share tensors and preset — ask the operator, then call again with confirm set to their answer. It is cached by file hash and never asked again.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden and does so thoroughly. It reveals caching by file hash, the ambiguous xl case covering multiple dialects, the need for operator confirmation, and the warning that quality tags meaningfully affect output. No hidden side effects or surprising behaviors are apparent.

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 front-loaded with purpose, then organized into return contents, operational warnings, ambiguity handling, and caching behavior. Every sentence contributes meaningful information without filler or repetition.

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?

With no output schema and no annotations, the description fully covers required return semantics: possible dialects, quality prefix, negative baseline, and provenance. It also explains the ambiguous result path, the confirm parameter, and the caching behavior, making the tool safely and correctly callable by an agent.

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 input schema only exposes an optional string confirm with no description, and schema coverage is 0%. The description compensates by explaining that confirm should be set to the operator's answer when the dialect comes back unknown, tying the parameter to the ambiguity workflow. It does not explicitly enumerate valid confirm values, but the dialect list in the description implies the expected value space.

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 returns the prompting dialect of the loaded checkpoint, enumerates all dialect values, and names the return components: quality prefix, negative baseline, and source. It is distinct from sibling tools like model_profile because it focuses specifically on prompt expectations and quality tags.

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 gives clear context: use the tool to learn how the loaded checkpoint must be prompted, especially regarding quality tags. It also covers the conditional workflow when the dialect is unknown, telling the agent to ask the operator and call again with confirm. It does not explicitly name sibling alternatives or when not to use it, but the context is strong.

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.

  1. 10 tool updatesv0.1.0
    • First observedcapabilities
    • First observedgenerate
    • First observedlora_info
    • First observedloras
    • First observedmodel_profile
    • First observedmodels
    • First observedmodule_check
    • First observedmodule_download
    • First observedprogress
    • First observedprompt_dialect

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Tools are mostly distinct by resource and action—LoRA search vs detail, module check vs download, generation vs progress—but model_profile and prompt_dialect overlap on prompt dialect, and models/model_profile could be confused at a glance. The detailed descriptions mitigate most ambiguity.

Naming Consistency4/5

Names consistently use lowercase snake_case and a readable resource-oriented style (loras, lora_info, models, module_check). Not all are verb_noun—generate is a bare verb and progress is ambiguous—so it is not a perfect 5, but there is no chaotic convention mixing.

Tool Count5/5

Ten tools is well within the ideal 3–15 range and matches the server's scope: discovery, model/prompt/LoRA/module setup, generation, and progress control. No tool feels redundant or superfluous.

Completeness4/5

The surface covers the full generation workflow—model loading, profiling, prompt dialect, LoRA lookup, module diagnostics/download, generate, and progress monitoring. Minor gaps exist (no LoRA download/management, no explicit output/history listing), but they are not required for the core purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables image generation using Google Gemini models like Gemini 2.0 Flash and Imagen 3.0 with support for custom aspect ratios and negative prompts. It also allows users to list and manage generated images stored in local directories.
    2
    26 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI coding agents to control a local InvokeAI creative engine, supporting text-to-image, image-to-image, masked inpaint, upscaling, and full queue, model, gallery, board, and workflow management.
    13
    1
    MIT