Standalone MCP server + client for generating Anima-style images via a remote/local ComfyUI Server API.
Project description
animatool-mcp
[!WARNING] 暂不支持 Cherry Studio
Cherry Studio 的 MCP 客户端未正确处理ImageContent类型,会将 base64 图片数据作为纯文本字符串返回,而非渲染为图片。请使用正确实现 MCP 规范的客户端。
一个独立的 MCP Server + Python 客户端:通过标准 ComfyUI Server API(/prompt、/history/<id>、/view?...)在本地或云端 ComfyUI 上执行 Anima 工作流,并把生成图片以 base64 形式返回给 Cursor/Claude 等 MCP 客户端原生显示。
重要:本项目不需要安装到
ComfyUI/custom_nodes/。但你仍然需要一台可访问的 ComfyUI Server(本机或云端),并且云端已经把模型权重放到models/下(按文件名加载)。
安装
方式一:使用 uvx (推荐)
无需手动安装 Python 包,直接在 Cursor 配置中使用 uvx 运行(需安装 uv):
{
"mcpServers": {
"animatool": {
"command": "uvx",
"args": ["--from", "comfyui-animatool", "animatool-mcp"],
"env": {
"COMFYUI_URL": "http://127.0.0.1:8188"
}
}
}
}
方式二:使用 pip
pip install comfyui-animatool
Cursor 配置(MCP)
如果你使用 pip 安装,请在 .cursor/mcp.json 中配置:
{
"mcpServers": {
"animatool": {
"command": "animatool-mcp",
"env": {
"COMFYUI_URL": "http://127.0.0.1:8188"
}
}
}
}
然后重启 Cursor,确保 MCP 状态为 Running。
云端/远程 ComfyUI(推荐做法)
COMFYUI_URL 该填什么?
- 本机默认:
http://127.0.0.1:8188 - 带路径前缀的反代:例如
https://example.com/comfy/(注意建议以/结尾,避免丢路径前缀)
1) 最佳实践:用隧道/VPN 让 ComfyUI 变成“内网可达”
ComfyUI 默认几乎没有鉴权能力,把它直接暴露到公网非常危险。建议使用:
- Tailscale / ZeroTier / Cloudflare Tunnel / 自建 VPN
- 或者反向代理 + HTTPS + 鉴权(Bearer / Basic / 自定义 Header)
2) 配置鉴权(可选)
本项目支持“有些云端需要、有些不需要”的混合场景。你可以在 .cursor/mcp.json 里通过 env 注入:
Bearer Token
{
"mcpServers": {
"animatool": {
"command": "animatool-mcp",
"env": {
"COMFYUI_URL": "https://your-host.example.com:8188",
"ANIMATOOL_BEARER_TOKEN": "YOUR_TOKEN"
}
}
}
}
Basic Auth
{
"mcpServers": {
"animatool": {
"command": "animatool-mcp",
"env": {
"COMFYUI_URL": "https://your-host.example.com:8188",
"ANIMATOOL_BASIC_USER": "user",
"ANIMATOOL_BASIC_PASS": "pass"
}
}
}
}
自定义 Header(通用,推荐)
{
"mcpServers": {
"animatool": {
"command": "animatool-mcp",
"env": {
"COMFYUI_URL": "https://your-host.example.com:8188",
"ANIMATOOL_HEADERS_JSON": "{\"X-API-Key\":\"xxx\",\"CF-Access-Client-Id\":\"...\",\"CF-Access-Client-Secret\":\"...\"}"
}
}
}
}
Windows/JSON 转义提示:
ANIMATOOL_HEADERS_JSON本身是一个 JSON 字符串,所以内部的双引号需要转义(如上所示)。
3) 自签名证书/SSL 校验
如果你的云端是自签名证书,可以临时关闭校验(不推荐长期使用):
{
"mcpServers": {
"animatool": {
"command": "animatool-mcp",
"env": {
"COMFYUI_URL": "https://your-host.example.com:8188",
"ANIMATOOL_SSL_VERIFY": "false"
}
}
}
}
CLI(可选)
用于本地自测(不依赖 MCP 客户端):
animatool-generate --comfyui-url http://127.0.0.1:8188 --json-file payload.json
环境变量速查
| 环境变量 | 说明 | 默认值 |
|---|---|---|
COMFYUI_URL |
ComfyUI Server base URL | http://127.0.0.1:8188 |
ANIMATOOL_TIMEOUT |
请求超时秒 | 600 |
ANIMATOOL_POLL_INTERVAL |
轮询间隔秒 | 1 |
ANIMATOOL_SSL_VERIFY |
SSL 校验 | true |
ANIMATOOL_BEARER_TOKEN |
Bearer Token | (空) |
ANIMATOOL_BASIC_USER / ANIMATOOL_BASIC_PASS |
Basic Auth | (空) |
ANIMATOOL_HEADERS_JSON |
自定义 Header JSON | (空) |
ANIMATOOL_DOWNLOAD_IMAGES |
是否保存图片到本地 | false |
ANIMATOOL_OUTPUT_DIR |
本地保存目录 | ./animatool_outputs |
COMFYUI_MODELS_DIR |
models 目录(用于本机预检查) | (空) |
ANIMATOOL_CHECK_MODELS |
是否启用预检查 | true |
常见问题
Q: 报错连接不上 /prompt?
- 检查
COMFYUI_URL是否可达(云端建议先在浏览器访问COMFYUI_URL/system_stats) - 如果有鉴权,请确认
/prompt、/history、/view都在同一套鉴权规则下- 常见坑:反代只给
/prompt放行了,但/view被 401/403 拦住,会导致“生成成功但取图失败”
- 常见坑:反代只给
Q: 报错找不到模型?
本工具提交的是一个包含 UNETLoader/CLIPLoader/VAELoader 的工作流模板,加载的是云端磁盘上的文件名。请确认云端 models/ 下至少存在:
models/diffusion_models/anima-preview.safetensorsmodels/text_encoders/qwen_3_06b_base.safetensorsmodels/vae/qwen_image_vae.safetensors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file comfyui_animatool-0.2.0.tar.gz.
File metadata
- Download URL: comfyui_animatool-0.2.0.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
446c305ee12e3b33a8a550e71ab8a33be67d4abf3f14111b677e8ae35384dae3
|
|
| MD5 |
2d8098416506d09a32506c9be0c31df2
|
|
| BLAKE2b-256 |
bc74704280dbd6d78a7a6b2dd37f9734d4fa45f1126ed5113fd1815c860b1989
|
File details
Details for the file comfyui_animatool-0.2.0-py3-none-any.whl.
File metadata
- Download URL: comfyui_animatool-0.2.0-py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d70ef792e9b2b47a15cce92b669539247635b0619ec6fce37536d68d1d8df70
|
|
| MD5 |
0c22d5aa8674c5d9d03585ca3f285ecc
|
|
| BLAKE2b-256 |
655ce398ff8113be10d038e6745f6f7d6ce10587349fcda564c2944f0b78f6cc
|