Skip to main content
Glama

ComfyUI MCP Server

by neutrinotek
test_assets.py1.96 kB
from pathlib import Path import pytest from comfyui_mcp.assets import AssetCatalog from comfyui_mcp.config import DirectorySettings def test_asset_catalog_scans_directories(tmp_path: Path) -> None: checkpoints = tmp_path / "checkpoints" checkpoints.mkdir() (checkpoints / "model.safetensors").write_text("dummy") (checkpoints / "notes.txt").write_text("ignore") loras = tmp_path / "loras" loras.mkdir() (loras / "style.safetensors").write_text("dummy") directories = DirectorySettings( checkpoints=checkpoints, loras=loras, vaes=None, text_encoders=None, embeddings=None, ) catalog = AssetCatalog(directories, base_path=tmp_path) assets = catalog.list() assert assets["checkpoints"] == ["model.safetensors"] assert assets["loras"] == ["style.safetensors"] assert assets["vaes"] == [] def test_asset_validation_and_suggestions(tmp_path: Path) -> None: checkpoints = tmp_path / "checkpoints" checkpoints.mkdir() (checkpoints / "model.safetensors").write_text("dummy") directories = DirectorySettings( checkpoints=checkpoints, loras=None, vaes=None, text_encoders=None, embeddings=None, ) catalog = AssetCatalog(directories, base_path=tmp_path) catalog.ensure_exists("checkpoints", "model.safetensors") with pytest.raises(KeyError) as exc: catalog.ensure_exists("checkpoints", "model") assert "model" in str(exc.value) assert "model.safetensors" in str(exc.value) with pytest.raises(ValueError): catalog.ensure_exists("checkpoints", "../model.safetensors") def test_validate_directories_requires_existing_paths(tmp_path: Path) -> None: directories = DirectorySettings(checkpoints=tmp_path / "missing") catalog = AssetCatalog(directories, base_path=tmp_path) with pytest.raises(FileNotFoundError): catalog.validate_directories()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/neutrinotek/ComfyUI_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server