mcpField
F
fm-mcp-comfyui-bridge

fm-mcp-comfyui-bridge

本地服务
github.com/rerofumi开发工具368 周前更新

关于 fm-mcp-comfyui-bridge

fm-mcp-comfyui-bridge 是连接 ComfyUI 的 MCP 服务,为使用 Agent 的用户提供图像生成及生成结果分析。它还支持自定义工作流,并可获取图像、生成说明文字和解析 WD1.4 标签。

主要功能

  1. 01通过 ComfyUI 生成图像
  2. 02获取生成图像的 PNG 数据
  3. 03生成图像说明文字
  4. 04解析 WD1.4 图像标签
  5. 05运行自定义工作流

适用场景

  1. 01根据提示词生成图像
  2. 02查看生成图像的说明文字
  3. 03提取图像中的 WD1.4 标签

MCP 相关

它提供 MCP 工具和资源,供 MCP 客户端调用图像生成、取图、说明文字生成及标签解析等功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

fm-mcp-comfyui-bridge

Python 3.13+ License

用于访问 ComfyUI 的 MCP 服务实现。与 ComfyUI API 集成,提供图像生成功能。

🌟 功能

  • 🖼️ 使用 ComfyUI 生成图像
  • 📝 为生成的图像生成说明
  • 🏷️ 分析生成图像的标签
  • 🔄 使用 uv 轻松设置和启动
  • 🌐 作为 MCP 服务提供 API 端点

🔧 要求

  • Python 3.13 及以上版本
  • 本地运行的 ComfyUI(默认:http://localhost:8188)
  • uv 包管理器
  • 本地运行的 ollama 和支持图像识别的 vision model

📥 安装

请准备好已安装 uv 的环境。

使用 uv 安装
# リポジトリをクローン
git clone https://github.com/rerofumi/fm-mcp-comfyui-bridge.git
cd fm-mcp-comfyui-bridge

# uvを使用して依存関係をインストール
uv pip install -e .
确认 ComfyUI 的 workflow 可以正常运行

将 src\fm_mcp_comfyui_bridge\config\workflow\ 下的 json 文件载入 ComfyUI,确认没有节点错误。 如果缺少自定义节点,请先安装。

🚀 使用方法

配置为 MCP 服务

请在要使用的 Agent 工具的 MCP 设置中进行如下配置:

{
  "mcpServers": {
    "fm-mcp-comfyui-bridge": {
      "command": "uv",
      "args": [
        "--directory",
        "(インストールしたディレクトリ)/fm-mcp-comfyui-bridge",
        "run",
        "fm-mcp-comfyui-bridge"
      ],
    }
  }
}
设置 ComfyUI 端点

默认情况下,ComfyUI 端点设置为 http://localhost:8188。如有需要,请修改 main.py 中的设置。

配置 Lora

需要创建用于图像生成的模型配置文件。请按以下步骤进行设置:

  1. 复制示例配置文件:

    cp src/fm_mcp_comfyui_bridge/config/sample_config.yaml src/fm_mcp_comfyui_bridge/config/config.yaml
    
  2. 编辑复制的 config.yaml 文件,设置要使用的模型名称:

    checkpoint: (使いたいチェックポイントモデル名).safetensors
    image-size:
      height: 1024
      width: 1024
    lora:
    - enabled: false
      model: (使いたいLoRAモデル名).safetensors
      strength: 1.0
      trigger: 
    sampling:
      cfg: 5
      steps: 24
    vpred: true
    
  3. 配置项说明:

    • checkpoint:要使用的基础模型文件名(例如:animagine-xl-3.0.safetensors)
    • image-size:生成图像的尺寸设置
    • lora:LoRA 模型设置
      • enabled:是否启用 LoRA(true 或 false)
      • model:要使用的 LoRA 模型文件名
      • strength:LoRA 的应用强度(0.0〜1.0)
      • trigger:LoRA 的触发词
    • sampling:采样设置
      • cfg:CFG 缩放值
      • steps:生成步数
    • vpred:是否使用 v-prediction

模型文件必须放置在 ComfyUI 的相应目录中。

配置 ollama

需要创建 ollama 使用的 vision 模型配置文件,以获取生成图像的说明。请按以下步骤进行设置:

编辑 ollama.yaml

  • vision_model:用于图像分析并生成说明的 ollama 兼容 vision 模型名称
可用工具
  1. generate_picture - 根据提示词生成图像

    @mcp.tool()
    def generate_picture(prompt: str) -> str:
        """生成したいプロンプトを渡すことで画像生成を依頼し、生成された image の url を返す"""
    
  2. get_picture - 获取指定图像的 PNG 二进制数据

    @mcp.tool()
    def get_picture(subfolder: str, filename: str) -> Image:
        """subfolder と filename を指定して画像の PNG バイナリを取得する"""
    
  3. get_caption - 以文本形式获取图像说明

    @mcp.tool()
    def get_caption(subfolder: str, filename: str) -> str:
        """subfolder と filename を指定して生成した画像のキャプションをテキスト形式で取得する"""
    
  4. get_tag - 分析并获取图像中的 WD1.4 标签

    @mcp.tool()
    def get_tag(subfolder: str, filename: str) -> str:
        """subfolder と filename を指定して生成した画像からWD1.4タグを解析してテキスト形式で取得する"""
    
使用 custom workflow

将 API 格式的 workflow 文件放在 src\fm_mcp_comfyui_bridge\config\workflow\ 下,即可作为自定义工作流运行。

如果存在 src\fm_mcp_comfyui_bridge\config\custom.yaml,则会作为自定义工作流运行。 如果该文件不存在,则会运行默认工作流。

example/ 目录中提供了自定义工作流文件示例。 请将其复制到 config 下并试运行。这是一个使用 Flux1-dev 生成图像的示例。

有关自定义工作流的详细信息,请参阅 [README_custom_workflow.md]。

示例提示词

"1girl, cute cat ear maid" 请生成图像

图像生成后 显示图像说明

显示 WD14 标签

画像生成のプロンプトが以下に添付されています。
まずはユーザーがこのプロンプトでどんな絵を描かせようとしているかを分析してください。
ユーザーの意図に対しプロンプトが不向き、もしくはより良い表現がある場合は意図を崩さない範囲で修正を加えて構いません。

ユーザーが与えたプロンプトを comfyui MCP を使って画像にしてください、comfyui に与える prompt は英語しか受け付けないのでプロンプトは必ず英語、それもできるだけ danbooru tag に翻訳して generate を依頼してください。generate の実行結果として返る文字列はURLです、生成の結果としてその URL を以下の markdown フォーマットで表示してください。
![{生成結果URL}]({生成結果URL})

danbooru tag におけるクオリティタグは以下です、頭に必ず追加するようにしてください。
"masterpiece, best quality, newest,"

生成されたリンクは画像ファイルへのリンクです。リンクのパラメータにある subfolder と filename を使って comfyui MCP の get_caption と get_tag 両方を取得して、画像に何が映っていたかを確認してください。それらキャプション&タグ情報と目指しているプロンプトを分析し異なっていたら、元のプロンプトの意図へ近づけるよう、より良いプロンプトになるよう編集し、画像生成を繰り返してください。プロンプトで指示してもその単語が認識されないことがあります。一つの表現に固執するのではなく、目指しているものを別の表現で実現することを目指してみてください。
最大で 8回繰り返しながらより良いプロンプトを構築していきます。
## prompt
女の子と猫とリビング。窓から暖かい春の日差しが差し込んでいて、その暖かい光を受けて猫と女の子が居眠りをしている。部屋はフローリングだが、ラグとクッションがあり、そのクッションを枕にしている。寝る女の子の頭に猫がすり寄っていて、仲がよさそう。穏やかな日常の風景。
API 资源
@mcp.resource("info://about")
def get_info() -> str:
    """サーバー情報"""

@mcp.resource("help://tools")
def get_tools_help() -> str:
    """ツールのヘルプ"""

@mcp.resource("docs://{topic}")
def get_documents(topic: str) -> str:
    """tool のドキュメント"""

📚 依赖项

主要依赖项如下:

  • 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 - 本地大模型支持
  • onnxruntime>=1.19.2 - ONNX 模型运行环境
  • pandas>=2.2.3 - 数据分析库

📄 许可证

本项目根据 MIT 许可证发布。详情请参阅 LICENSE 文件。

👤 作者


*WD1.4 标签分析部分使用了 SmilingWolf 编写的 wd-tagger 源代码和模型数据。模型数据会在首次运行时下载。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。