mcpField
S
SwarmUI_MCP_Agent

SwarmUI_MCP_Agent

本地服务
github.com/MathewTomberlinAI 与智能体273 周前更新

关于 SwarmUI_MCP_Agent

SwarmUI_MCP_Agent 是由 SwarmUI MCP 服务和本地 LangChain Ollama Agent 组成的原型,可让 Agent 将图像提示词提交到 SwarmUI 文生图接口,部分生成设置为硬编码。

主要功能

  1. 01暴露 SwarmUI 图像生成接口
  2. 02通过 LangChain 工具提交提示词
  3. 03运行本地 Ollama Agent
  4. 04使用配置的 SwarmUI 端口

适用场景

  1. 01根据提示词生成图像
  2. 02将本地 Agent 接入 SwarmUI
  3. 03测试原型 MCP 图像工作流

MCP 相关

MCP 服务将 SwarmUI 会话和文生图操作作为工具提供。本地 LangChain Ollama Agent 通过服务的 Express 接口调用图像生成工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

SwarmUI_MCP_Agent

一个简单的 SwarmUI MCP 服务原型,并附带本地 LangChain Ollama Agent。该原型仅开放 SwarmUI /GenerateText2Image 端点。它使用 Python、Node.js、Typescript、Langchain、@ModelContextProtocol、Axios、Express 和 Pydantic(不过在此实现中基本未使用 Pydantic)。

SwarmUI MCP 服务

SwarmUI MCP 服务原型定义在 server.ts 中。

SwarmUI API 端点 /GenerateText2Image 和 /GetNewSession 通过 generateImage() 和 getSessionId() 方法开放,这些方法 在实例化 Server 时的(MCP)服务 capabilities 配置中进行描述。服务 capabilities 配置用于让 Agent 了解可用工具的输入和输出模式及说明。这些工具的文本说明用于帮助 llm 理解工具。启动 Node 服务 server.js 时,会初始化 SwarmUIServer,并创建一个 Express 服务, 其中包含一个 POST 端点 '/generate-image',用于调用 SwarmUIServer.generateImage,随后启动 Express 服务。系统会创建一个 Axios 实例,用于向本地 SwarmUI API 发送 HTTP 请求,并将其存储在 SwarmUIServer 类中。

开发说明:你可能需要更改 SwarmUI 使用的端口,以及硬编码的图像生成模型。

GenerateImage StructuredTool

tools.py 中定义了一个 generate_image StructuredTool,它会向 SwarmUIServer 启动的 Express 服务的 /generate-image 端点发送 POST 请求。StructuredTool 的说明及其文档字符串用于帮助 llm 了解该工具。理论上,Pydantic 模型应当验证工具输入,但目前的设置尚不支持多个 输入。

LangChain Ollama Agent

系统会实例化一个本地 Ollama Agent(当前使用 dolphin-mistral 模型),并为其配置工具调用指令、max_iterations 为 1、 AgentType 为 ZERO_SHOT_REACT_DESCRIPTION,以及 generate_tool StructuredTool。系统会接收用户输入的图像 提示词,然后调用该 Agent。Agent 会使用 generate_image Action,并将提供的提示词作为 Action Input, 调用本地 SwarmUI API /GenerateText2Image 端点,同时使用其他硬编码的图像生成 设置。

启动 SwarmUI MCP 服务

在 /SwarmUI_MCP_Agent/src 目录中运行:tsc server.ts && node server.js

运行 Agent

确保 SwarmUIMCPServer 和 SwarmUI 均已运行,然后在 /SwarmUI_MCP_Agent 目录中运行:python run.py

查看生成的图像

生成的图像可在 SwarmUI Image History 中查看,也可直接在 SwarmUI /Ouput 目录中查看。

快速入门

1. 克隆仓库

git clone cd

2. 安装依赖(脚本)

运行 setup.sh

2B. 安装依赖(手动)

npm install pip install -r requirements.txt

3. 启动 API 服务

tsc server.ts && node server.js

5. 启动 UI

streamlit run run.py

6. 确保 SwarmUI 正在运行且可访问。
7. 在 Agent Settings > SwarmUI API Port 中输入 SwarmUI 端口号
8. 选择 LLM 模型和(可选的)Vision 模型
9. 输入图像请求并点击提交。如果模型尚未下载,请等待其下载。

评论

支持 Markdown

第一次接触 MCP?

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

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