Comfy MCP服务器
](https://smithery.ai/server/@lalanikarim/comfy-mcp-server)
使用FastMCP框架通过远程Comfy服务器根据提示生成图像的服务器。
概述
此脚本使用FastMCP框架设置服务器,以使用指定的工作流根据提示生成图像。它与远程Comfy服务器交互,以提交提示并检索生成的图像。
先决条件
- 紫外线 Python的包和项目管理器。
- 从Comfy UI导出的工作流文件。此代码包含一个示例
Flux-Dev-ComfyUI-Workflow.json此处仅作为参考。您需要从工作流中导出并相应地设置环境变量。
您可以安装本地开发所需的软件包:
uvx mcp[cli]配置
设置以下环境变量:
COMFY_URL指向您的Comfy服务器URL。COMFY_WORKFLOW_JSON_FILE指向用于comfyui工作流的API导出json文件的绝对路径。PROMPT_NODE_ID到文本提示节点的id。OUTPUT_NODE_ID将最终图像转换为输出节点的id。OUTPUT_MODE要么url或file以选择所需的输出。
(可选)如果您有 没有 服务器正在运行,您可以连接到它以生成提示。
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服务器可以通过以下命令启动:
uvx comfy-mcp-serverClaude桌面配置示例
{
"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
此函数使用指定的提示生成图像。它遵循以下步骤:
- 检查是否已设置所有环境变量。
- 从JSON文件加载提示模板。
- 将提示提交给Comfy服务器。
- 向服务器轮询提示处理的状态。
- 一旦生成的图像准备就绪,就检索并返回它。
generate_prompt(topic: str, ctx: Context) -> str
此函数用于从指定主题生成全面的图像生成提示。
依赖项
mcp:用于设置FastMCP服务器。json:用于处理JSON数据。urllib:用于发出HTTP请求。time:增加投票延迟。os:用于访问环境变量。langchain:用于创建简单的LLM Prompt链,以从主题生成图像生成提示。langchain-ollama:用于LangChain的ollama特定模块。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
