返回市场
舒适的MCP服务器

舒适的MCP服务器

作者:lalanikarim35 星标更新:2025-03-03

项目介绍

Comfy MCP Server

smithery 徽章

使用FastMCP框架基于远程Comfy服务器上的提示生成图像的服务器。

概述

此脚本使用FastMCP框架设置一个服务器,根据指定的工作流使用提示生成图像。它与远程Comfy服务器交互以提交提示并检索生成的图像。

预备条件

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

您可以安装本地开发所需的包:

uvx mcp[cli]

配置

设置以下环境变量:

  • COMFY_URL 指向您的Comfy服务器URL。
  • COMFY_WORKFLOW_JSON_FILE 指向API导出的JSON文件的绝对路径,该文件用于comfyui工作流。
  • 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:端口
export COMFY_WORKFLOW_JSON_FILE=/路径/到/the/comfyui_workflow_export.json
export PROMPT_NODE_ID=6 # 使用正确的节点ID
export OUTPUT_NODE_ID=9 # 使用正确的节点ID
export OUTPUT_MODE=file

使用方法

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

uvx comfy-mcp-server

示例Claude Desktop配置

{
  "mcpServers": {
    "Comfy MCP Server": {
      "command": "/路径/到/uvx",
      "args": [
        "comfy-mcp-server"
      ],
      "env": {
        "COMFY_URL": "http://your-comfy-server-url:端口",
        "COMFY_WORKFLOW_JSON_FILE": "/路径/到/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文件。