Skip to main content
Glama

πŸŒ‰ Forge Neo MCP

Forge Neo MCP Python Version License

MCP server for Stable Diffusion WebUI Forge - Neo Β· Generate images on your own GPU, from any AI agent that speaks MCP

Ask Claude β€” or any MCP-capable agent β€” for an image, and it generates on your local Forge Neo. It reads which checkpoint is loaded, works out the sampling parameters and prompt style that model expects, writes the prompt, and hands you back the file.

You never have to dictate steps, CFG or sampler unless you want to. Those come from your own setup: your instance's settings, your past generations, your checkpoint's metadata. Where something cannot be determined, it asks instead of guessing.

IMPORTANT

Forge Neo must run with--api. Nothing is installed into your Forge folder β€” no extension, no custom node. The bridge talks to the REST API that Forge already exposes.


πŸ“‹ Table of Contents


Related MCP server: Nano Banana

βœ… Requirements

Forge Neo

running with --api

Python

3.10 or newer, on the machine running the agent

An MCP client

Claude Code, Claude Desktop, Cursor, or anything else that speaks MCP

Only if Forge runs on a different machine: network access to it, and a file share if you want results as file paths rather than base64.


πŸ“¦ Installation

1 Β· Turn on the API in Forge Neo

Edit your webui-user.bat (Windows) or webui-user.sh (Linux) and add --api:

set COMMANDLINE_ARGS=--api

Keep whatever flags you already had β€” just append --api. Restart Forge.

Check it worked: open http://127.0.0.1:7860/docs. If you see /sdapi/v1/... endpoints listed, the API is on.

2 Β· Install the bridge

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

3 Β· Register it with your agent

Claude Code

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

Claude Desktop, Cursor, or any client with an mcp.json

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

Restart your client β€” MCP servers load at startup, so the tools appear in a new session.


βš™οΈ Configuration

Everything is optional except FORGE_URL, and even that only if Forge is not at 127.0.0.1:7860.

Variable

What it does

Default

FORGE_URL

Where Forge is

http://127.0.0.1:7860

FORGE_AUTH

user:password, if you started Forge with --api-auth

none

FORGE_PATH_MAP

Translates Forge's paths into ones your machine can reach

none

FORGE_OUTPUT_DIR

Your output folder, if it cannot be found automatically

auto

FORGE_TIMEOUT

Seconds to wait on a request

600

FORGE_HISTORY_LIMIT

How many recent images to read when learning your settings

600

FORGE_CIVITAI_LOOKUP

1 allows identifying a checkpoint by hash online

off

FORGENEO_CACHE_DIR

Where your confirmed answers are remembered

~/.forgeneo-mcp

Everything on one machine

Nothing else to do β€” the defaults cover it.

Forge on another machine

Start Forge with --listen --api, then point the bridge at it and map its paths:

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 reads as what Forge calls it = what you call it. Forge reports paths like D:\forge-neo\output\...; if you reach that same folder as \\gpu-box\share\forge-neo\output\..., that mapping lets the bridge hand you file paths instead of megabytes of base64.

Without it everything still works β€” you just get base64.

NOTE

--listen exposes the API to your network with no password. If that matters where you are, add --api-auth user:password to Forge and set FORGE_AUTH to match.


πŸš€ First run

Open a new session and ask your agent to check the connection. It calls capabilities and reports what it found:

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

Three things worth a glance:

  • filesystem: base64 β€” FORGE_PATH_MAP is missing or wrong. Not fatal, but results will bloat your conversation.

  • history: 0 β€” it cannot learn from your past work. Usually the output folder is unreachable, or Forge is saving no metadata (see Troubleshooting).

  • loras: 0 with LoRAs installed β€” Forge's own LoRA list is empty; refresh it in the UI.


πŸ’¬ Using it

Just ask. The agent handles the rest.

"a cover image for a post about winter hiking"

It checks what is loaded, sees whether that model wants prose or tags, writes the prompt accordingly, and generates.

"same thing but in the style I use for thumbnails"

It searches your LoRAs, finds the one you mean, picks up its trigger word and the weight you normally use, and writes it into the prompt β€” visibly, so you can read what was sent.

"switch to my portrait model"

It loads that checkpoint. If it belongs to a different architecture, the matching VAE and text encoder come with it.

Other things worth asking directly:

  • "what model is loaded and how should I prompt it?" β€” the profile, in plain terms

  • "which of my LoRAs work with this checkpoint?" β€” filtered to compatible ones

  • "is my flux setup complete?" β€” checks the VAE and text encoders

  • "stop" β€” interrupts a running generation


πŸ› οΈ Tools

Your agent picks these on its own; the list is here so you know what it can do.

Tool

Purpose

capabilities

What this instance offers and what the bridge could read

model_profile

The loaded checkpoint: parameters, prompt style, module health

prompt_dialect

How this model expects to be prompted, with its quality tags

loras

Search your LoRAs by name, tag, trigger word or description

lora_info

Everything about one LoRA, with a ready prompt fragment

models

List, load or refresh checkpoints

module_check

Whether the loaded VAE and text encoders suit the architecture

module_download

Where a missing module comes from β€” fetches only if you approve

generate

Generate from a written prompt, txt2img or img2img

progress

Check, interrupt or skip the running job


πŸ”§ Troubleshooting

It says it cannot reach Forge Confirm Forge is running with --api and that http://127.0.0.1:7860/docs lists /sdapi/v1/ endpoints. If Forge is on another machine it also needs --listen, and a firewall may be in the way.

Results come back as base64 and flood the conversation FORGE_PATH_MAP is missing or does not match. Compare the path Forge reports β€” visible in any generation's info β€” with the path you use to reach the same folder.

It does not know my usual settings It learns from your past images, which needs Forge to save generation parameters. In Settings β†’ Saving images, keep "Save text information about generation parameters as chunks to png files" enabled, or turn on the .txt sidecar. With neither, your outputs carry no parameters and it falls back to architecture defaults.

It keeps asking which lineage my SDXL checkpoint is Pony, Illustrious, Animagine and stock SDXL are indistinguishable from the file β€” same tensors, same preset, different prompt vocabulary. Answer once; it is remembered per file and never asked again.

Images look wrong after switching architecture Ask for a module check. Forge remembers the last VAE and text encoder selected under each preset, so loading a checkpoint while another preset was active can leave the wrong ones attached. The check names what is missing and whether the right file is already installed.

A download was refused for lack of space Deliberate β€” it checks free space before starting rather than failing several gigabytes in. Free some room, or pick a lighter build such as fp8_scaled instead of bf16.


🎯 What it does for you

  • Sampling parameters that fit the model. Taken from your own past generations where available, and from your instance's settings otherwise β€” not from a table in this repo.

  • The right prompt vocabulary. Quality tags where they help, none where they hurt: adding masterpiece, best quality to a model trained on captions dilutes the prompt rather than improving it.

  • Your LoRAs, searchable. By name, tag, trigger word or description, with the weights you actually use. Nothing is added to a prompt without showing you.

  • Honest uncertainty. Where the evidence runs out it says so and asks. No silent guesses.

  • Module sanity checks. Notices when a preset has picked up the wrong VAE or text encoder, and points at the official download for anything missing.

Notes on how each answer is derived live in the source, next to the code that derives it.


πŸ—ΊοΈ Roadmap

  • Video (Wan) β€” Forge generates video through frame counts in multiples of 4n+1 and encodes with ffmpeg, but the API discards the resulting path. Collecting from disk is already how images come back, so this is mostly plumbing.

  • EXIF metadata β€” JPEG and WebP store parameters in EXIF when the .txt sidecar is off; that combination currently yields no history.

  • Authentication β€” FORGE_AUTH is implemented but has not been exercised against a live --api-auth instance.


πŸ“„ Credits

  • Forge Neo by Haoming02 β€” the WebUI this bridges to, and the Download Models wiki behind the module reference

  • Model authors who publish real prompting guidance on their cards β€” the dialect table is built from those, not from guesswork

  • Model Context Protocol β€” the protocol and Python SDK

  • CivitAI β€” public by-hash endpoint used by the optional lookup


πŸ“œ License

MIT β€” see LICENSE


Made with ❀️ for the Stable Diffusion community

Report Bug β€’ Request Feature β€’ Discussions β€’ β˜• Ko-fi

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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
    25
    MIT
  • F
    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

View all related MCP servers

Related MCP Connectors

  • LLM chat, text summarization and AI image generation

  • Generate images, video, and audio with Glif's media-generation agent

  • Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.

View all MCP Connectors

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/eduardoabreu81/forgeneo-mcp'

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