Back to MCP directory
publicPublicdnsLocal runtime

fm-mcp-comfyui-bridge

该项目是一个连接ComfyUI的MCP服务器实现,提供图像生成、图像描述生成、标签解析等功能,支持通过API与ComfyUI交互进行图像处理。

article

README

🚀 图像生成工具

本项目是一个借助ComfyUI和MCP框架构建的图像生成工具。它允许用户输入特定提示词来生成对应图像,并且提供对生成图像的分析功能,为用户带来便捷的图像创作与分析体验。

🚀 快速开始

1. 初始化项目

git clone https://github.com/username/repo.git
cd repo
pip install -r requirements.txt

2. 配置环境变量

在项目的config.py文件中添加必要的配置:

# config.py
COMFYUI_API_KEY = "your_api_key_here"
HUGGINGFACE_TOKEN = "your_huggingface_token_here"
OLLAMA_BINARY_PATH = "/path/to/ollama"

3. 启动服务

运行主脚本启动MCP服务器:

python main.py

✨ 主要特性

  1. 图像生成
    • 支持通过英文提示词(特别是Danbooru标签)生成高质量图像。生成的图片链接可以通过![URL](URL)格式直接在Markdown中显示。
  2. 图像分析
    • 提供获取图像captions的功能,帮助用户理解图片内容。
    • 可以提取并展示图片的14chan(WD14)标签信息,便于分析图片的主题和元素。
  3. 自动优化提示词
    • 系统会根据生成结果与原始提示词的匹配程度进行多次迭代优化,最终生成最符合用户意图的图像。
    • 最多可进行8次生成和优化,确保输出质量。

📚 详细文档

项目结构

核心组件

  • ComfyUI:一个功能强大的图像生成界面,支持多种模型和自定义节点。
  • MCP (Magic Command Parser):用于解析和执行特定命令的框架,是这个工具的核心运行机制。

主要接口

  1. 图像生成
@mcp.tool("image://generate")
def generate_image(
    prompt: str,
    negative_prompt: Optional[str] = None,
    width: int = DEFAULT_WIDTH,
    height: int = DEFAULT_HEIGHT,
    samples: int = DEFAULT_SAMPLES,
    num_inference_steps: int = DEFAULT_STEPS,
) -> str:
    """图像生成接口"""
    return image_url
  1. 图像分析
@mcp.tool("image://analyze")
def analyze_image(
    url: str,
) -> Tuple[str, List[str]]:
    """获取图片的captions和WD14标签"""
    pass
  1. 提示词优化
@mcp.resource("optimizer://prompt")
def optimize_prompt(prompt: str) -> str:
    """根据之前的生成结果优化新的提示词"""
    pass

示例流程

  1. 用户输入日文或中文的提示词。
  2. 系统将其自动翻译为英文,并附加必要的Danbooru标签(如:"masterpiece, best quality, newest,")。
  3. 调用ComfyUI生成图像,并获取返回的图片链接。
  4. 使用get_captionget_tag工具分析图片内容。
  5. 对比原始提示词与生成结果,若不匹配则优化提示词并重复生成过程。

项目依赖

| 属性 | 详情 | | ---- | ---- | | 依赖库 | mcp[cli] >=1.6.0:MCP服务器框架;requests >=2.32.3:HTTP请求处理;huggingface - hub >=0.25.2:Hugging Face模型访问;numpy >=2.1.2:数值计算库;ollama >=0.3.3:本地LLM支持;onnxruntime >=1.19.2:ONNX模型运行环境;pandas >=2.2.3:数据分析库 |

📄 许可证

本项目遵循MIT许可证,详细信息请参考LICENSE文件。

👨‍💻 作者

  • rerofumiGitHub - rero2@yuumu.org

⚠️ 重要提示

WD1.4标签解析部分使用了SmilingWolf开发的wd - tagger的源代码和模型数据。模型数据会在第一次运行时自动下载。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client