mcpField
S
SwarmUI_MCP_Agent

SwarmUI_MCP_Agent

ローカル
github.com/MathewTomberlinAI・エージェント273 週間前に更新

SwarmUI_MCP_Agent について

SwarmUI_MCP_Agentは、SwarmUIのMCPサーバーとローカルのLangChain Ollamaエージェントを組み合わせたプロトタイプです。エージェントからSwarmUIの画像生成APIにプロンプトを送り、一部の生成設定はハードコードされています。

主な機能

  1. 01SwarmUI画像生成APIの公開
  2. 02LangChainツール経由のプロンプト送信
  3. 03ローカルOllamaエージェントの実行
  4. 04設定したSwarmUIポートの使用

活用シーン

  1. 01プロンプトからの画像生成
  2. 02ローカルエージェントとSwarmUIの接続
  3. 03試作MCP画像ワークフローのテスト

MCP 対応

MCPサーバーはSwarmUIのセッション操作とテキストからの画像生成をツールとして公開します。ローカルのLangChain Ollamaエージェントは、サーバーのExpressエンドポイント経由で画像生成ツールを使います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SwarmUI_MCP_Agent

ローカルのLangChain Ollamaエージェントを併設した、シンプルなSwarmUI MCPサーバーのプロトタイプです。このプロトタイプが公開するのは SwarmUIの/GenerateText2Imageエンドポイントのみです。Python、Node.js、Typescript、Langchain、@ModelContextProtocol、Axios、Express、 Pydanticを使用しています(ただし、この実装ではPydanticはほとんど使用していません)。

SwarmUI MCPサーバー

SwarmUI MCPサーバーのプロトタイプはserver.tsで定義されています。

/GenerateText2Imageと/GetNewSessionのSwarmUI APIエンドポイントは、Serverのインスタンス作成時に (MCP) Serverの機能設定で宣言するgenerateImage()とgetSessionId()メソッドを介して公開されます。Serverの 機能設定は、利用可能なツールの入力・出力スキーマと説明をエージェントに知らせるために使用されます。これらのツールの テキスト説明は、llmがツールを理解するために使用されます。server.jsのNodeサーバーを起動すると、SwarmUIServerが初期化され、 SwarmUIServer.generateImageを呼び出す'/generate-image'のPOSTエンドポイントを持つExpressサーバーが作成され、 その後Expressサーバーが起動します。ローカルのSwarmUI APIにHTTPリクエストを送信するためのAxiosインスタンスが作成され、 SwarmUIServerクラスに保存されます。

開発者向けメモ:SwarmUIで使用するポートと、画像生成用にハードコードされているモデルを変更する必要があるでしょう。

GenerateImage StructuredTool

tools.pyでは、SwarmUIServerが起動したExpressサーバーの/generate-imageエンドポイントにPOSTするgenerate_image StructuredToolが定義されています。 StructuredToolの説明とそのdocstringは、llmがツールを理解するために使用されます。理論上はPydanticモデルで ツールの入力を検証するはずですが、現在の設定では複数の入力をまだ扱えません。

LangChain Ollamaエージェント

ローカルのOllamaエージェント(現在はdolphin-mistralモデル)を、ツール呼び出しの指示、max_iterationsを1、 AgentTypeをZERO_SHOT_REACT_DESCRIPTIONに設定し、generate_tool StructuredToolとともにインスタンス化します。ユーザーから画像の プロンプトを受け取り、その入力でエージェントを実行します。エージェントは、指定されたプロンプトをAction Inputとして generate_image Actionを使用し、プロンプトとその他のハードコードされた画像生成設定を指定して、ローカルのSwarmUI APIの/GenerateText2Imageエンドポイントを 呼び出します。

SwarmUI MCPサーバーの起動

/SwarmUI_MCP_Agent/srcディレクトリから、次を実行します:tsc server.ts && node server.js

エージェントの実行

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 Modelを選択します。
9. 画像のリクエストを入力して、送信をクリックします。モデルがまだダウンロードされていない場合は、ダウンロードが完了するまで待ちます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。