mcpField
C
Comfy MCP Server

Comfy MCP Server

本地服务
github.com/lalanikarim媒体与设计4686 周前更新

关于 Comfy MCP Server

Comfy MCP Server 是一个基于 FastMCP 框架的 MCP 服务,可根据提示词,通过远程 Comfy 服务器生成图像。它适合希望在 AI 客户端中直接调用 ComfyUI 工作流的用户,并可选接入 Ollama 生成提示词。

主要功能

  1. 01根据提示词生成图像
  2. 02通过远程 Comfy 服务器提交与轮询任务
  3. 03可导出 ComfyUI 工作流作为模板
  4. 04支持 URL 或文件两种输出方式
  5. 05可选通过 Ollama 生成图像提示词

适用场景

  1. 01在 Claude Desktop 中调用 ComfyUI 生成图像
  2. 02根据主题自动生成图像提示词后出图
  3. 03在远程 GPU 服务器上批量生成图像

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 generate_image 与 generate_prompt 两个工具,用于图像生成与提示词生成。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"comfy": {
"command": "uvx",
"args": [
"comfy-mcp-server"
]
}
}
}
启动命令uvx comfy-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicomfy-mcp-server

工具

还没有获取到工具列表

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

详细介绍

Comfy MCP Server

smithery badge

使用 FastMCP 框架,通过远程 Comfy 服务根据提示词生成图像的服务。

概述

此脚本使用 FastMCP 框架设置服务,通过指定的工作流根据提示词生成图像。它与远程 Comfy 服务交互,以提交提示词并获取生成的图像。

前提条件

  • uv:用于 Python 的包和项目管理器。
  • 从 Comfy UI 导出的工作流文件。此代码包含一个示例 Flux-Dev-ComfyUI-Workflow.json,仅供参考。你需要从自己的工作流导出文件,并相应地设置环境变量。

你可以安装本地开发所需的软件包:

uvx mcp[cli]

配置

设置以下环境变量:

  • COMFY_URL:指向 Comfy 服务的 URL。
  • COMFY_WORKFLOW_JSON_FILE:指向 Comfy UI 工作流的 API 导出 JSON 文件的绝对路径。
  • PROMPT_NODE_ID:文本提示词节点的 ID。
  • OUTPUT_NODE_ID:包含最终图像的输出节点 ID。
  • OUTPUT_MODE:设置为 url 或 file,以选择所需的输出方式。

如果你运行着 Ollama 服务,也可以选择连接该服务来生成提示词。

  • OLLAMA_API_BASE:Ollama 运行所在的 URL。
  • PROMPT_LLM:Ollama 上托管、用于生成提示词的模型名称。

示例:

export COMFY_URL=http://your-comfy-server-url:port
export COMFY_WORKFLOW_JSON_FILE=/path/to/the/comfyui_workflow_export.json
export PROMPT_NODE_ID=6 # use the correct node id here
export OUTPUT_NODE_ID=9 # use the correct node id here
export OUTPUT_MODE=file

使用方法

可以通过以下命令启动 Comfy MCP Server:

uvx comfy-mcp-server
Claude Desktop 配置示例
{
  "mcpServers": {
    "Comfy MCP Server": {
      "command": "/path/to/uvx",
      "args": [
        "comfy-mcp-server"
      ],
      "env": {
        "COMFY_URL": "http://your-comfy-server-url:port",
        "COMFY_WORKFLOW_JSON_FILE": "/path/to/the/comfyui_workflow_export.json",
        "PROMPT_NODE_ID": "6",
        "OUTPUT_NODE_ID": "9",
        "OUTPUT_MODE": "file",
      }
    }
  }
}

功能

generate_image(prompt: str, ctx: Context) -> Image | str

此函数使用指定的提示词生成图像。具体步骤如下:

  1. 检查是否已设置所有环境变量。
  2. 从 JSON 文件加载提示词模板。
  3. 向 Comfy 服务提交提示词。
  4. 轮询服务,获取提示词处理状态。
  5. 图像准备就绪后,获取并返回生成的图像。
generate_prompt(topic: str, ctx: Context) -> str

此函数根据指定主题生成全面的图像生成提示词。

依赖项

  • mcp:用于设置 FastMCP 服务。
  • json:用于处理 JSON 数据。
  • urllib:用于发送 HTTP 请求。
  • time:用于在轮询时添加延迟。
  • os:用于访问环境变量。
  • langchain:用于创建简单的 LLM 提示词链,根据主题生成图像生成提示词。
  • langchain-ollama:用于 LangChain 的 Ollama 专用模块。

许可证

本项目采用 MIT 许可证授权。详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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