diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-09-12 22:35:10 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-09-12 22:35:10 +0900 |
| commit | a61cb74f739e9fadb5a3cfb0feb7d03254921985 (patch) | |
| tree | 9efbf3eb940d5368edbea06bc7e51488952f9261 | |
| parent | 546eca3591515b26516922860fe2cf1b573a5f82 (diff) | |
アプリ名を mcp-sd15 から generate-image-sd15-mcp に変更
配布パッケージ名、CLIコマンド名、MCPサーバ名、文書中のアプリ名を
全て generate-image-sd15-mcp に統一した。Pythonパッケージ名
(mcp_sd15)とディレクトリ構造は変更せず、import文への影響なし。
変更内容:
- pyproject.toml: name="mcp-sd15" → "generate-image-sd15-mcp"
project.scripts: mcp-sd15 → generate-image-sd15-mcp
- cli.py: argparse prog="mcp-sd15" → "generate-image-sd15-mcp"
- server.py: MCPServer("mcp-sd15") → "generate-image-sd15-mcp"
- README.md: 見出しと起動コマンドを更新
- doc/config.md: アプリ名と起動コマンド例を更新
- doc/mcp.md: 概要のアプリ名を更新
- doc/Design.md: モジュール構成、設定オブジェクト、スクリプト名を更新
- .github/copilot-instructions.md: リポジトリ指示のアプリ名を更新
- script/smoke_streamable_http.py: docstringのアプリ名を更新
- script/smoke_matrix.py: docstringのアプリ名を更新
- uv.lock: パッケージ名を更新
検証:
- ruff format/check、pyright 0 errors、pytest 61 passed
- uv run generate-image-sd15-mcp --version でコマンド名を確認
| -rw-r--r-- | .github/copilot-instructions.md | 2 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | doc/Design.md | 6 | ||||
| -rw-r--r-- | doc/config.md | 4 | ||||
| -rw-r--r-- | doc/mcp.md | 2 | ||||
| -rw-r--r-- | pyproject.toml | 4 | ||||
| -rw-r--r-- | script/smoke_matrix.py | 2 | ||||
| -rw-r--r-- | script/smoke_streamable_http.py | 2 | ||||
| -rw-r--r-- | src/mcp_sd15/cli.py | 2 | ||||
| -rw-r--r-- | src/mcp_sd15/server.py | 2 | ||||
| -rw-r--r-- | uv.lock | 102 |
11 files changed, 66 insertions, 66 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 4fc0e0b..1b8e604 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,4 +1,4 @@ -# mcp-sd15 repository instructions +# generate-image-sd15-mcp repository instructions ## 作業の進め方 @@ -1,4 +1,4 @@ -# mcp-sd15 +# generate-image-sd15-mcp ローカルの NVIDIA GPU と Stable Diffusion 1.x 互換 checkpoint を使う、stdio MCP サーバです。Text-to-Image、Depth/Openpose 誘導生成、ControlNet Inpaint を公開します。 @@ -8,7 +8,7 @@ 1. NVIDIA driverがCUDA 13.2対応PyTorchを実行できることを`nvidia-smi`で確認します。 2. `config.example.toml` をコピーし、モデルの root とファイル名を設定します。 3. `uv sync` を実行します。PyTorchは専用indexからCUDA 13.2版が導入されます。 -4. `uv run mcp-sd15 --config path/to/config.toml` で起動します。 +4. `uv run generate-image-sd15-mcp --config path/to/config.toml` で起動します。 トランスポートはTOMLの`[server]`で切り替えます。省略時は`stdio`です。 `streamable-http`を使う場合は次のように設定します。 diff --git a/doc/Design.md b/doc/Design.md index a603406..89f77aa 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -54,7 +54,7 @@ MCP Client / LLM ## 3. モジュール構成 ```text -mcp-sd15/ +generate-image-sd15-mcp/ ├─ pyproject.toml ├─ uv.lock ├─ .python-version @@ -390,12 +390,12 @@ GPU ```toml [project] -name = "mcp-sd15" +name = "generate-image-sd15-mcp" version = "0.1.0" requires-python = ">=3.11,<3.12" [project.scripts] -mcp-sd15 = "mcp_sd15.cli:main" +generate-image-sd15-mcp = "mcp_sd15.cli:main" ``` 運用は`pyproject.toml + uv.lock`を基準とする。 diff --git a/doc/config.md b/doc/config.md index 9fcdd55..6ea0f9a 100644 --- a/doc/config.md +++ b/doc/config.md @@ -2,10 +2,10 @@ ## 1. 概要 -`mcp-sd15`のモデル構成と生成設定はTOMLファイルで管理する。起動時に次のように指定する。 +`generate-image-sd15-mcp`のモデル構成と生成設定はTOMLファイルで管理する。起動時に次のように指定する。 ```powershell -uv run mcp-sd15 --config C:\path\to\config.toml +uv run generate-image-sd15-mcp --config C:\path\to\config.toml ``` `--config`を省略した場合は、現在のworking directoryにある`config.toml`を読み込む。 @@ -2,7 +2,7 @@ ## 1. 概要 -`mcp-sd15` は`stdio`または`streamable-http`トランスポートで動作し、 +`generate-image-sd15-mcp` は`stdio`または`streamable-http`トランスポートで動作し、 Stable Diffusion 1.xによる画像生成を行う次の3ツールを公開する。 | ツール | 用途 | diff --git a/pyproject.toml b/pyproject.toml index bb5b190..431ce00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "mcp-sd15" +name = "generate-image-sd15-mcp" version = "0.1.0" description = "MCP server for local Stable Diffusion 1.x image generation" readme = "README.md" @@ -24,7 +24,7 @@ dependencies = [ ] [project.scripts] -mcp-sd15 = "mcp_sd15.cli:main" +generate-image-sd15-mcp = "mcp_sd15.cli:main" [dependency-groups] dev = [ diff --git a/script/smoke_matrix.py b/script/smoke_matrix.py index 7fc3ec2..de28a74 100644 --- a/script/smoke_matrix.py +++ b/script/smoke_matrix.py @@ -1,7 +1,7 @@ """Run generate_image across all checkpoint/VAE/LoRA/scheduler combinations. For each pattern, this script writes a temporary TOML config, starts the -``mcp-sd15`` server with ``streamable-http`` transport, calls ``generate_image`` +``generate-image-sd15-mcp`` server with ``streamable-http`` transport, calls ``generate_image`` through the HTTP endpoint, saves the PNG, and records the result. Usage:: diff --git a/script/smoke_streamable_http.py b/script/smoke_streamable_http.py index 5c762a2..a55f518 100644 --- a/script/smoke_streamable_http.py +++ b/script/smoke_streamable_http.py @@ -1,6 +1,6 @@ """Verify generate_image over the Streamable HTTP transport with the real GPU backend. -This script connects to a running ``mcp-sd15`` server that was started with +This script connects to a running ``generate-image-sd15-mcp`` server that was started with ``transport = "streamable-http"`` and calls ``generate_image`` through the HTTP endpoint. It exercises the full request path: HTTP connect → MCP initialize → tools/call → PNG response. diff --git a/src/mcp_sd15/cli.py b/src/mcp_sd15/cli.py index 3a3a9f7..abfde01 100644 --- a/src/mcp_sd15/cli.py +++ b/src/mcp_sd15/cli.py @@ -16,7 +16,7 @@ from .service import ImageGenerationService def parser() -> argparse.ArgumentParser: - result = argparse.ArgumentParser(prog="mcp-sd15") + result = argparse.ArgumentParser(prog="generate-image-sd15-mcp") result.add_argument("--config", type=Path, default=Path("config.toml")) result.add_argument("--version", action="version", version=f"%(prog)s {__version__}") return result diff --git a/src/mcp_sd15/server.py b/src/mcp_sd15/server.py index b8dc69d..ba1b99c 100644 --- a/src/mcp_sd15/server.py +++ b/src/mcp_sd15/server.py @@ -17,7 +17,7 @@ GuidanceMode = Literal["depth", "openpose", "openpose_full"] def create_server(service: ImageGenerationService) -> MCPServer: - server = MCPServer("mcp-sd15") + server = MCPServer("generate-image-sd15-mcp") @server.tool() async def generate_image( @@ -326,6 +326,57 @@ wheels = [ ] [[package]] +name = "generate-image-sd15-mcp" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "accelerate" }, + { name = "controlnet-aux" }, + { name = "diffusers" }, + { name = "mcp" }, + { name = "numpy" }, + { name = "opencv-python-headless" }, + { name = "peft" }, + { name = "pillow" }, + { name = "safetensors" }, + { name = "torch" }, + { name = "torchvision" }, + { name = "transformers" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pyright" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "accelerate", specifier = ">=1.1" }, + { name = "controlnet-aux", specifier = ">=0.0.10" }, + { name = "diffusers", specifier = ">=0.35" }, + { name = "mcp", specifier = ">=2,<3" }, + { name = "numpy", specifier = ">=1.26,<3" }, + { name = "opencv-python-headless", specifier = ">=4.10" }, + { name = "peft", specifier = ">=0.13" }, + { name = "pillow", specifier = ">=10.4" }, + { name = "safetensors", specifier = ">=0.4" }, + { name = "torch", specifier = "==2.14.0+cu132", index = "https://download.pytorch.org/whl/cu132" }, + { name = "torchvision", specifier = "==0.29.0+cu132", index = "https://download.pytorch.org/whl/cu132" }, + { name = "transformers", specifier = ">=4.45,<5" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "pyright", specifier = ">=1.1.390" }, + { name = "pytest", specifier = ">=8.3" }, + { name = "pytest-asyncio", specifier = ">=0.24" }, + { name = "ruff", specifier = ">=0.8" }, +] + +[[package]] name = "h11" version = "0.16.0" source = { registry = "https://pypi.org/simple" } @@ -565,57 +616,6 @@ wheels = [ ] [[package]] -name = "mcp-sd15" -version = "0.1.0" -source = { editable = "." } -dependencies = [ - { name = "accelerate" }, - { name = "controlnet-aux" }, - { name = "diffusers" }, - { name = "mcp" }, - { name = "numpy" }, - { name = "opencv-python-headless" }, - { name = "peft" }, - { name = "pillow" }, - { name = "safetensors" }, - { name = "torch" }, - { name = "torchvision" }, - { name = "transformers" }, -] - -[package.dev-dependencies] -dev = [ - { name = "pyright" }, - { name = "pytest" }, - { name = "pytest-asyncio" }, - { name = "ruff" }, -] - -[package.metadata] -requires-dist = [ - { name = "accelerate", specifier = ">=1.1" }, - { name = "controlnet-aux", specifier = ">=0.0.10" }, - { name = "diffusers", specifier = ">=0.35" }, - { name = "mcp", specifier = ">=2,<3" }, - { name = "numpy", specifier = ">=1.26,<3" }, - { name = "opencv-python-headless", specifier = ">=4.10" }, - { name = "peft", specifier = ">=0.13" }, - { name = "pillow", specifier = ">=10.4" }, - { name = "safetensors", specifier = ">=0.4" }, - { name = "torch", specifier = "==2.14.0+cu132", index = "https://download.pytorch.org/whl/cu132" }, - { name = "torchvision", specifier = "==0.29.0+cu132", index = "https://download.pytorch.org/whl/cu132" }, - { name = "transformers", specifier = ">=4.45,<5" }, -] - -[package.metadata.requires-dev] -dev = [ - { name = "pyright", specifier = ">=1.1.390" }, - { name = "pytest", specifier = ">=8.3" }, - { name = "pytest-asyncio", specifier = ">=0.24" }, - { name = "ruff", specifier = ">=0.8" }, -] - -[[package]] name = "mcp-types" version = "2.2.0" source = { registry = "https://pypi.org/simple" } |
