ComfyUI-AnimaTool
Allows OpenAI agents to generate anime-style images by connecting to a ComfyUI workflow running the Anima model, with structured prompts, aspect ratios, LoRAs, and history-based reroll.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ComfyUI-AnimaToolgenerate a cute anime girl with pink hair and a school uniform"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ComfyUI-AnimaTool
今日更新
🎰 十连抽功能 — 支持
repeat/batch_size,一次出多张不是梦🔄 更换卡池功能 — 可以切换 UNET / CLIP / VAE 模型了,试试新卡池
📋 寻访记录功能 — 查看历史生成记录,支持 reroll 重新抽卡
✅ 云端/远程连接更简单 — 新增 uvx 免安装模式,一行配置连接远程 ComfyUI,无需本地环境
✅ 酒馆 MCP 客户端已发布 — SillyTavern MCP Client,支持 stdio + Streamable HTTP 传输
✅ 工具调用体验修复 — Tool Use Fix,合并碎片消息、图片直接显示、Swipe 代理
Cherry Studio 现已支持 MCP 图片显示!
我们提交的 PR 已修复 Cherry Studio 对 MCP ImageContent 的处理。在官方合并之前,你可以使用预览版体验完整的 MCP 图片功能:
下载预览版 → Cherry Studio v1.7.17-preview
包含以下修复:
支持按助手单独配置是否将 MCP 工具图片发送给模型
修复 OpenAI 兼容提供商的 base64 图片数据处理
修复 Gemini 的 MCP 多模态工具结果转换
性能修复 v2:解决多轮出图后严重卡顿问题 — IPC 排除大 slice + base64 就地 strip(修复了 v1.7.16-preview2 中 Zod safeParse 克隆导致 strip 无效的问题)— 上游 PR #12766

Documentation
📖 Wiki & Prompt Guide - 详细的提示词指南、安装教程和 API 文档。
🤖 Cursor Skill - Cursor / Windsurf 用户必读!将此文件内容作为 Agent Skill,让 AI 学会如何写高质量提示词。
Related MCP server: ComfyUI MCP Server
Features
MCP Server:图片原生显示在 Cursor/Claude 聊天窗口
HTTP API:随 ComfyUI 启动,无需额外服务
结构化提示词:按 Anima 规范自动拼接
多长宽比支持:21:9 到 9:21(共 14 种预设)
Reroll / 历史记录:支持基于历史记录重新生成,可覆盖部分参数(换画师、加 LoRA 等)
批量生成:
repeat参数提交多次独立任务(queue 模式),batch_size在单任务内生成多张
Related Projects
SillyTavern 全家桶
在 SillyTavern(酒馆)中使用 AnimaTool 生成图片?推荐安装以下配套插件:
项目 | 说明 |
酒馆 MCP 客户端,连接 AnimaTool 等 MCP Server,支持 stdio + Streamable HTTP | |
工具调用体验修复,合并碎片消息、图片直接显示在对话中 |
ComfyUI-AnimaTool (本项目,MCP Server)
↕ MCP 协议 (stdio / streamable-http)
SillyTavern MCP Client (连接 + 工具注册)
↕ SillyTavern Tool Calling
Tool Use Fix (合并显示 + 体验优化)AnimaLoraToolkit - LoRA 训练工具
如果你想训练自己的 LoRA/LoKr 来搭配 Anima 使用,推荐使用 AnimaLoraToolkit:
YAML 配置文件 - 通过
--config加载,命令行参数可覆盖LoRA / LoKr 双模式 - 标准 LoRA 和 LyCORIS LoKr
ComfyUI 兼容 - 输出的 safetensors 可直接在本工具中使用
JSON Caption 支持 - 结构化标签,分类 shuffle
实时训练监控 - Web 界面显示 loss 曲线和采样图
Checkpoint 恢复 - 保存完整训练状态,支持断点续训
训练完成后,将 LoRA 放入 ComfyUI/models/loras/ 目录,即可通过本工具的 loras 参数加载使用。
示例:Cosmic Princess Kaguya LoKr
使用 AnimaLoraToolkit 训练的画风+角色 LoKr,还原 Netflix 动画电影《超时空辉耀姬!》的 4K 剧场版画风:
下载:Civitai
触发词:
@spacetime kaguya(画风)、cosmic princess kaguya(作品)推荐权重:0.8 - 1.0
Installation
Cherry Studio 用户
如果你使用 Cherry Studio 作为 MCP 客户端,需要安装我们的预览版才能正确显示 MCP 返回的图片:
下载 Cherry Studio v1.7.17-preview(安装版或便携版均可)
安装后按下方「方式 1:MCP Server」配置即可
生成的图片会直接显示在聊天窗口中
官方版 Cherry Studio 尚未合并此修复,使用官方版会导致图片显示为 base64 乱码,且多轮出图后会严重卡顿。
v1.7.17-preview 基于上游 v1.7.17,修复了出图后内存膨胀和 UI 冻结的问题(详情)。
Method 1: ComfyUI Manager (Recommended)
打开 ComfyUI Manager
搜索 "Anima Tool"
点击 Install
重启 ComfyUI
Method 2: Manual Install
cd ComfyUI/custom_nodes
git clone https://github.com/Moeblack/ComfyUI-AnimaTool.git
pip install -r ComfyUI-AnimaTool/requirements.txtPrerequisites
确保以下模型文件已放置到 ComfyUI 对应目录:
文件 | 路径 | 说明 |
|
| Anima UNET |
|
| Qwen3 CLIP |
|
| VAE |
模型下载:circlestone-labs/Anima on Hugging Face
Usage
方式 0:独立 MCP(推荐:云端/远程 ComfyUI,或不想装到 custom_nodes)
如果你只想连接一台正在运行的 ComfyUI(本机或云端),并且不想把本仓库放进 ComfyUI/custom_nodes/,可以使用独立 PyPI 包 comfyui-animatool(安装后使用命令 animatool-mcp)(仅通过 ComfyUI 标准 API:/prompt、/history/<id>、/view?... 工作)。
安装
方式一:使用 uvx (推荐,无需安装)
无需手动安装 Python 包,直接在 Cursor 配置中使用 uvx 运行(需安装 uv):
(配置见下方 JSON)
方式二:使用 pip
pip install comfyui-animatool方式三:源码安装 (开发用)
pip install -e ./animatool-mcp配置 Cursor
在项目根目录创建 .cursor/mcp.json(以 uvx 为例):
{
"mcpServers": {
"anima-tool": {
"command": "uvx",
"args": ["--from", "comfyui-animatool", "animatool-mcp"],
"env": {
"COMFYUI_URL": "http://127.0.0.1:8188",
"ANIMATOOL_CHECK_MODELS": "false"
}
}
}
}云端鉴权(可选)
如果云端 ComfyUI 需要鉴权(反代/VPN/网关等),可额外设置:
ANIMATOOL_BEARER_TOKEN或
ANIMATOOL_HEADERS_JSON(自定义 Header JSON 字符串)
该方式不依赖安装本 custom node;只要
COMFYUI_URL可访问即可。
方式 1:MCP Server(推荐,原生图片显示)
配置 Cursor
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"anima-tool": {
"command": "<PATH_TO_PYTHON>",
"args": ["<PATH_TO>/ComfyUI-AnimaTool/servers/mcp_server.py"]
}
}
}示例(Windows):
{
"mcpServers": {
"anima-tool": {
"command": "C:\\ComfyUI\\.venv\\Scripts\\python.exe",
"args": ["C:\\ComfyUI\\custom_nodes\\ComfyUI-AnimaTool\\servers\\mcp_server.py"]
}
}
}安装 MCP 依赖
pip install mcp使用
确保 ComfyUI 运行在
http://127.0.0.1:8188重启 Cursor 加载 MCP Server
直接让 AI 生成图片:
画一个穿白裙的少女在花园里,竖屏 9:16,safe
图片会原生显示在聊天窗口中。
方式 2:ComfyUI 内置 HTTP API
启动 ComfyUI 后,以下路由自动注册:
路由 | 方法 | 说明 |
| GET | 健康检查 |
| GET | Tool Schema |
| GET | 专家知识 |
| POST | 执行生成(支持 |
| GET | 查看最近生成历史 |
| POST | 基于历史记录重新生成 |
调用示例
PowerShell:
$body = @{
aspect_ratio = "3:4"
quality_meta_year_safe = "masterpiece, best quality, newest, year 2024, safe"
count = "1girl"
artist = "@fkey, @jima"
tags = "upper body, smile, white dress"
neg = "worst quality, low quality, blurry, bad hands, nsfw"
} | ConvertTo-Json -Depth 10
Invoke-RestMethod -Uri "http://127.0.0.1:8188/anima/generate" -Method Post -Body $body -ContentType "application/json"curl:
curl -X POST http://127.0.0.1:8188/anima/generate \
-H "Content-Type: application/json" \
-d '{"aspect_ratio":"3:4","quality_meta_year_safe":"masterpiece, best quality, newest, year 2024, safe","count":"1girl","artist":"@fkey, @jima","tags":"upper body, smile, white dress","neg":"worst quality, low quality, blurry, bad hands, nsfw"}'方式 3:独立 FastAPI Server
cd ComfyUI-AnimaTool
pip install fastapi uvicorn
python -m servers.http_server访问 http://127.0.0.1:8000/docs 查看 Swagger UI。
Parameters
Required
参数 | 类型 | 说明 |
| string | 质量/年份/安全标签(必须包含 safe/sensitive/nsfw/explicit) |
| string | 人数( |
| string | 画师,必须带 |
| string | Danbooru 标签 |
| string | 负面提示词 |
Optional
参数 | 类型 | 默认值 | 说明 |
| string | - | 长宽比(自动计算分辨率) |
| int | - | 直接指定分辨率 |
| string |
| 角色名 |
| string |
| 作品名 |
| string |
| 外观描述 |
| string |
| 画风 |
| string |
| 环境/光影 |
| int | 25 | 步数 |
| float | 4.5 | CFG |
| int | 随机 | 种子 |
| string |
| 采样器 |
| int | 1 | 提交几次独立生成任务(queue 模式,每次独立随机 seed)。总张数 = repeat × batch_size |
| int | 1 | 单次任务内生成几张(latent batch 模式,更吃显存) |
| array |
| 可选:追加 LoRA(仅 UNET)。 |
Supported Aspect Ratios
横屏: 21:9, 2:1, 16:9, 16:10, 5:3, 3:2, 4:3
方形: 1:1
竖屏: 3:4, 2:3, 3:5, 10:16, 9:16, 1:2, 9:21LoRA(可选)
当前版本会在 UNETLoader → KSampler(model) 之间链式注入
LoraLoaderModelOnly,因此只对 UNET 生效(不会改 CLIP)。
1)把 LoRA 放到 ComfyUI 的 loras 目录
你的 LoRA 路径(示例):
G:\\AIGC\\ComfyUICommon\\models\\loras\\_Anima\\cosmic_kaguya_lokr_epoch4_comfyui.safetensors
对应请求里 loras[i].name 应写为(相对 models/loras/):
推荐写法:
_Anima/cosmic_kaguya_lokr_epoch4_comfyui.safetensors
说明:ComfyUI 侧实际会校验
lora_name是否在GET /models/loras的返回列表里。
Windows 环境下该列表通常是反斜杠路径(例如
_Anima\\cosmic_kaguya_lokr_epoch4_comfyui.safetensors)本项目会根据
/models/loras返回值自动规范化分隔符(你用/或\\都可以),但如果你直接在 ComfyUI 里手工填lora_name,请务必复制接口返回值。
2)生成时传入 loras 参数
可直接参考本仓库示例:examples/requests/generate_with_cosmic_kaguya_lora.json
{
"aspect_ratio": "3:4",
"quality_meta_year_safe": "newest, year 2024, safe",
"count": "1girl",
"character": "kaguya",
"series": "cosmic princess kaguya",
"artist": "@spacetime kaguya",
"appearance": "long hair, black hair, purple eyes",
"tags": "school uniform, smile, standing, looking at viewer",
"environment": "classroom, window, sunlight",
"nltags": "A cheerful girl stands by the window.",
"neg": "worst quality, low quality, blurry, bad hands, nsfw",
"loras": [
{
"name": "_Anima/cosmic_kaguya_lokr_epoch4_comfyui.safetensors",
"weight": 0.9
}
]
}3)(可选)为 LoRA 写 sidecar 元数据,让 MCP 的 list 工具可见
为了避免把整个 loras 目录无差别暴露给 MCP 客户端,本项目在 list_anima_models(model_type="loras") 时强制只返回存在同名 .json sidecar 元数据文件的 LoRA。
LoRA 文件:
ComfyUI/models/loras/_Anima/cosmic_kaguya_lokr_epoch4_comfyui.safetensorssidecar:
ComfyUI/models/loras/_Anima/cosmic_kaguya_lokr_epoch4_comfyui.safetensors.json
示例 sidecar 文件可参考:
sidecar JSON 的字段结构完全自定义,本项目只要求其为合法 JSON。
注意:要让 MCP 服务端读取该 sidecar,你还需要设置
COMFYUI_MODELS_DIR指向本机的 models 根目录(例如C:\\ComfyUI\\models;你的示例则是G:\\AIGC\\ComfyUICommon\\models)。远程 ComfyUI 场景通常无法读取远程文件系统,因此只支持“直接使用 loras 参数”,不支持 list。
Important Rules
画师必须带
@:如@fkey, @jima,否则几乎无效必须明确安全标签:
safe/sensitive/nsfw/explicit推荐画师组合:
@fkey, @jima(效果稳定)分辨率约 1MP:Anima preview 版本更稳定
提示词不分行:单行逗号连接
Directory Structure
ComfyUI-AnimaTool/
├── __init__.py # ComfyUI extension(注册 /anima/* 路由)
├── executor/ # 核心执行器
│ ├── anima_executor.py
│ ├── config.py
│ ├── history.py # 生成历史管理器(内存 + JSONL 持久化)
│ └── workflow_template.json
├── knowledge/ # 专家知识库
│ ├── anima_expert.md
│ ├── artist_list.md
│ └── prompt_examples.md
├── schemas/ # Tool Schema
│ └── tool_schema_universal.json
├── servers/
│ ├── mcp_server.py # MCP Server(原生图片返回)
│ ├── http_server.py # 独立 FastAPI
│ └── cli.py # 命令行工具
├── assets/ # 截图等资源
├── outputs/ # 生成的图片(gitignore)
├── README.md
├── LICENSE
├── CHANGELOG.md
├── pyproject.toml
└── requirements.txtConfiguration
环境变量(推荐)
所有配置都可以通过环境变量覆盖,无需修改代码:
基础配置
环境变量 | 默认值 | 说明 |
|
| ComfyUI 服务地址 |
|
| 生成超时(秒) |
|
| 是否保存图片到本地 |
|
| 图片输出目录 |
|
| 目标像素数(MP) |
|
| 分辨率对齐倍数 |
模型配置
环境变量 | 默认值 | 说明 |
| (未设置) | ComfyUI models 目录路径,用于模型预检查;同时也用于 LoRA sidecar 元数据读取( |
|
| UNET 模型文件名 |
|
| CLIP 模型文件名 |
|
| VAE 模型文件名 |
|
| 是否启用模型预检查 |
在 Cursor MCP 配置中设置环境变量
{
"mcpServers": {
"anima-tool": {
"command": "C:\\ComfyUI\\.venv\\Scripts\\python.exe",
"args": ["C:\\ComfyUI\\custom_nodes\\ComfyUI-AnimaTool\\servers\\mcp_server.py"],
"env": {
"COMFYUI_URL": "http://127.0.0.1:8188",
"COMFYUI_MODELS_DIR": "C:\\ComfyUI\\models"
}
}
}
}模型预检查
设置 COMFYUI_MODELS_DIR 后,生成前会自动检查模型文件是否存在:
"env": {
"COMFYUI_MODELS_DIR": "C:\\ComfyUI\\models"
}如果缺少模型文件,会给出友好提示:
缺少以下模型文件:
- unet: diffusion_models/anima-preview.safetensors
- clip: text_encoders/qwen_3_06b_base.safetensors
请从 HuggingFace 下载:https://huggingface.co/circlestone-labs/Anima
并放置到 ComfyUI/models/ 对应子目录远程 ComfyUI 场景:如果不设置 COMFYUI_MODELS_DIR,则跳过预检查(因为无法访问远程文件系统)。
远程/Docker ComfyUI 配置
如果 ComfyUI 不在本机运行:
局域网其他电脑:
export COMFYUI_URL=http://192.168.1.100:8188Docker 容器访问宿主机:
export COMFYUI_URL=http://host.docker.internal:8188WSL 访问 Windows:
export COMFYUI_URL=http://$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):8188Troubleshooting
错误:无法连接到 ComfyUI
症状:Connection refused 或 无法连接到 ComfyUI
排查步骤:
确认 ComfyUI 已启动:浏览器访问
http://127.0.0.1:8188确认端口正确:默认 8188,如果改过需要设置
COMFYUI_URL确认防火墙未阻止(Windows Defender / 企业防火墙)
如果 ComfyUI 在远程/Docker,设置正确的
COMFYUI_URL
错误:H,W should be divisible by spatial_patch_size
症状:H,W (xxx, xxx) should be divisible by spatial_patch_size 2
原因:分辨率不是 16 的倍数
解决:
使用预设的
aspect_ratio(如16:9、9:16、1:1)如果手动指定
width/height,确保是 16 的倍数(如 512、768、1024)
错误:模型文件不存在
症状:ComfyUI 控制台报 FileNotFoundError 或 Model not found
解决:确认以下文件存在:
文件 | 位置 |
|
|
|
|
|
|
MCP Server 没加载?
检查状态:Cursor Settings → MCP → anima-tool 应显示绿色
查看日志:点击 "Show Output" 查看错误
确认路径:Python 和脚本路径必须是绝对路径
确认依赖:
pip install mcp(使用 ComfyUI 的 Python 环境)重启 Cursor:修改配置后必须重启
生成超时?
症状:等待很久后报 TimeoutError
可能原因:
ComfyUI 正在加载模型(首次生成较慢)
GPU 显存不足导致处理缓慢
步数
steps设置过高
解决:
增加超时时间:
export ANIMATOOL_TIMEOUT=1200降低步数:
steps: 25(默认值)检查 ComfyUI 控制台是否有错误
API 调用卡住?
确保使用的是最新版本,旧版本可能存在事件循环阻塞问题。
System Requirements
Python: 3.10+
ComfyUI: 最新版本
GPU: 推荐 8GB+ 显存(Anima 模型较大)
依赖:
mcp(MCP Server)、requests(可选,HTTP 请求)
Credits
Anima Model: circlestone-labs/Anima
ComfyUI: comfyanonymous/ComfyUI
MCP Protocol: Anthropic Model Context Protocol
License
AGPL-3.0 License - see LICENSE for details.
Contributing
欢迎提交 Issue 和 Pull Request!
Fork 本仓库
创建你的特性分支 (
git checkout -b feature/AmazingFeature)提交你的更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)打开一个 Pull Request
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Moeblack/ComfyUI-AnimaTool'
If you have feedback or need assistance with the MCP directory API, please join our Discord server