这是一个使用FastMCP框架的服务器,它能通过远程Comfy服务器,依据提示生成图像,为图像生成工作提供了便捷的解决方案。
此脚本借助FastMCP框架搭建了一个服务器,该服务器可根据提示,通过指定的工作流程与远程Comfy服务器交互,进而生成图像。
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
设置为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 # 使用正确的节点ID
export OUTPUT_NODE_ID=9 # 使用正确的节点ID
export OUTPUT_MODE=file
通过以下命令启动Comfy MCP服务器:
uvx comfy-mcp-server
{
"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
此函数根据指定的提示生成图像。它遵循以下步骤:
generate_prompt(topic: str, ctx: Context) -> str
此函数根据指定的主题生成全面的图像生成提示。
属性 | 详情 |
---|---|
依赖项 | mcp :用于设置FastMCP服务器;json :用于处理JSON数据;urllib :用于进行HTTP请求;time :用于在轮询时添加延迟;os :用于访问环境变量;langchain :用于创建简单的LLM提示链,以从主题生成图像生成提示;langchain - ollama :用于与Ollama集成。 |
此项目受MIT许可证的保护。