diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/Design.md | 4 | ||||
| -rw-r--r-- | doc/Specifications.md | 1 | ||||
| -rw-r--r-- | doc/config.md | 47 | ||||
| -rw-r--r-- | doc/mcp.md | 4 |
4 files changed, 52 insertions, 4 deletions
diff --git a/doc/Design.md b/doc/Design.md index 96eb505..ede063c 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -89,7 +89,7 @@ mcp-sd15/ | モジュール | 責務 | |---|---| -| `cli.py` | `--config`, `--version`の処理 | +| `cli.py` | `--config`, `--version`の処理、transport起動分岐 | | `server.py` | MCP server起動、Tool登録 | | `config.py` | TOML読込、型変換、validation | | `schema.py` | MCP入力値・内部request型 | @@ -117,7 +117,7 @@ mcp-sd15/ | 9 | LoRAを順次ロード | | 10 | GPUへ配置 | | 11 | MCP Toolを公開 | -| 12 | リクエスト待受開始 | +| 12 | `[server].transport`に従いstdioまたはstreamable-httpでリクエスト待受開始 | モデル構成の初期化に失敗した場合はToolを公開せず、プロセスを異常終了する。 diff --git a/doc/Specifications.md b/doc/Specifications.md index 1b98f96..db59c28 100644 --- a/doc/Specifications.md +++ b/doc/Specifications.md @@ -27,6 +27,7 @@ LLM側には生成意図に必要な最小限の入力のみを公開し、モム| バッチ生成 | 1枚固定 | | 同時生成 | 1ジョブのみ | | 出力形式 | PNG | +| MCPトランスポート | `stdio`、`streamable-http` | --- diff --git a/doc/config.md b/doc/config.md index 804fbf8..48142dc 100644 --- a/doc/config.md +++ b/doc/config.md @@ -56,6 +56,9 @@ uv run mcp-sd15 --config C:\path\to\config.toml | `controlnet.inpaint.model` | string | 有効時 | なし | | `output.enabled` | boolean | No | `false` | | `output.directory` | string | No | `./outputs` | +| `server.transport` | string enum | No | `stdio` | +| `server.host` | string | No | `127.0.0.1` | +| `server.port` | integer | No | `8000` | ## 4. `[model]` @@ -248,6 +251,50 @@ directory = "./outputs" | `enabled` | `true`で保存、`false`でMCP返却のみ。既定値`false` | | `directory` | 保存先。既定値`./outputs` | +## 9. `[server]` + +MCPトランスポートとHTTP待受アドレスを指定する。table自体を省略した場合は +`stdio`トランスポートになる。 + +```toml +[server] +transport = "stdio" +``` + +streamable-httpトランスポートを使う場合は次のように指定する。 + +```toml +[server] +transport = "streamable-http" +host = "127.0.0.1" +port = 8000 +``` + +### `transport` + +次の値だけを指定できる。 + +| 値 | 動作 | +|---|---| +| `stdio` | 標準入出力でMCPクライアントと通信する。既定値 | +| `streamable-http` | HTTPでMCPクライアントと通信する。`http://<host>:<port>/mcp`で接続する | + +`sse`はMCP仕様で非推奨のため選択できない。 + +### `host` + +- `transport`が`streamable-http`のときに使用する待受アドレス +- 既定値は`127.0.0.1`(localhostのみ) +- `0.0.0.0`を指定すると全インターフェースでリッスンする +- `transport`が`stdio`のときは使用されない + +### `port` + +- `transport`が`streamable-http`のときに使用する待受ポート +- `1`以上`65535`以下のinteger +- 既定値は`8000` +- `transport`が`stdio`のときは使用されない + 相対`directory`はconfigファイルのディレクトリを基準に解決する。保存が有効な場合、 ディレクトリは最初の保存時に作成され、ファイル名はランダムUUIDの`<uuid>.png`となる。 @@ -2,8 +2,8 @@ ## 1. 概要 -`mcp-sd15` はstdio transportで動作し、Stable Diffusion 1.xによる画像生成を行う -次の3ツールを公開する。 +`mcp-sd15` は`stdio`または`streamable-http`トランスポートで動作し、 +Stable Diffusion 1.xによる画像生成を行う次の3ツールを公開する。 | ツール | 用途 | |---|---| |
