Back to MCP directory
publicPublicdnsLocal runtime

comfy-mcp-server

一个基于FastMCP框架的服务器,通过远程Comfy服务器根据提示生成图像。

article

README

🚀 舒适的MCP服务器

这是一个使用FastMCP框架的服务器,它能通过远程Comfy服务器,依据提示生成图像,为图像生成工作提供了便捷的解决方案。

smithery badge

🚀 快速开始

此脚本借助FastMCP框架搭建了一个服务器,该服务器可根据提示,通过指定的工作流程与远程Comfy服务器交互,进而生成图像。

✨ 主要特性

  • 图像生成:根据指定提示,通过与远程Comfy服务器交互生成图像。
  • 提示生成:可根据指定主题生成全面的图像生成提示。
  • 灵活配置:支持通过环境变量进行灵活配置,还可选择连接Ollama服务器生成提示。

📦 安装指南

先决条件

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

您可以使用以下命令安装本地开发所需的包:

uvx mcp[cli]

配置

设置以下环境变量:

  • COMFY_URL设置为指向您的Comfy服务器URL。
  • COMFY_WORKFLOW_JSON_FILE设置为Comfy UI工作流导出的JSON文件的绝对路径。
  • PROMPT_NODE_ID设置为文本提示节点的ID。
  • OUTPUT_NODE_ID设置为输出节点的ID,该节点具有最终图像。
  • OUTPUT_MODE设置为urlfile以选择所需的输出。

可选:如果您运行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 # 使用正确的节点ID
export OUTPUT_NODE_ID=9 # 使用正确的节点ID
export OUTPUT_MODE=file

💻 使用示例

启动服务器

通过以下命令启动Comfy MCP服务器:

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:用于与Ollama集成。 |

📄 许可证

此项目受MIT许可证的保护。

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