{
  "name": "comfyui-mcp",
  "version": "0.52.201",
  "mcpName": "io.github.artokun/comfyui-mcp",
  "description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
  "homepage": "https://comfyui-mcp.artokun.io/docs",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "comfyui-mcp": "dist/index.js"
  },
  "files": [
    "dist",
    "locales",
    "plugin",
    "packs",
    "scripts",
    "docker",
    "docs/design/tool-surface.txt",
    "docs/design/panel-surface.txt"
  ],
  "scripts": {
    "sync-agents": "node scripts/sync-agents.mjs",
    "build": "tsc",
    "dev": "tsx src/index.ts",
    "dev:agent-poc": "tsx src/experimental/run.ts",
    "start": "node dist/index.js",
    "test": "node scripts/run-checks.mjs",
    "smoke": "npm run build && node scripts/smoke-install.mjs",
    "test:watch": "vitest",
    "test:vitest": "vitest run --passWithNoTests",
    "test:integration": "cross-env COMFYUI_INTEGRATION=true vitest run",
    "test:agent": "npm run build && node scripts/test-agent.mjs",
    "test:local-llm": "npm run build && node scripts/test-local-llm.mjs",
    "arena": "npm run build && node scripts/llm-arena.mjs",
    "smoke:panel": "npm run build && node scripts/panel-smoke.mjs",
    "lint": "tsc --noEmit && node scripts/check-anti-slop.mjs",
    "docs:gen": "cross-env COMFYUI_URL=http://127.0.0.1:8188 tsx scripts/gen-tool-docs.ts",
    "tools:dump": "cross-env COMFYUI_URL=http://127.0.0.1:8188 tsx scripts/tools-dump.mts",
    "check:vocabulary": "tsx scripts/check-tool-vocabulary.mts",
    "check:unknown-collapse": "node scripts/check-unknown-collapse.mjs",
    "check:anti-slop": "node scripts/check-anti-slop.mjs",
    "vocab:export": "tsx scripts/export-vocabulary.mts",
    "runpod:release": "node scripts/runpod-release.mjs",
    "runpod:release:major": "node scripts/runpod-release.mjs major",
    "packs:gen": "node scripts/gen-pack-installers.mjs",
    "packs:validate": "node scripts/validate-manifests.mjs",
    "packs:test": "bash scripts/test-packs.sh",
    "packs:check-urls": "node scripts/check-model-urls.mjs",
    "packs:check-models": "node scripts/check-pack-models.mjs",
    "packs:verify-render": "node scripts/verify-render.mjs",
    "generations:stats": "node scripts/generation-stats.mjs",
    "release": "npm version patch && git push --follow-tags",
    "release:minor": "npm version minor && git push --follow-tags",
    "release:major": "npm version major && git push --follow-tags",
    "changelog": "node scripts/gen-changelog.mjs",
    "version": "node scripts/gen-changelog.mjs --from-pkg && git add CHANGELOG.md",
    "prepare": "tsc",
    "i18n:build": "node scripts/i18n-build-en.mjs",
    "i18n:check": "node scripts/i18n-check.mjs",
    "check:docs-links": "node scripts/check-docs-links.mjs",
    "check:docs-locale": "node scripts/check-docs-locale.mjs",
    "check:docs-mdx": "node scripts/check-docs-mdx.mjs",
    "check:blog": "node scripts/check-blog-boilerplate.mjs",
    "check:blog-packs": "node scripts/check-blog-packs.mjs",
    "check:blog-stale": "node scripts/check-blog-staleness.mjs --check",
    "check:blog-structure": "node scripts/check-blog-structure.mjs"
  },
  "dependencies": {
    "@comfyorg/sdk": "^0.1.7",
    "@modelcontextprotocol/sdk": "~1.30.0",
    "@stable-canvas/comfyui-client": "^1.5.9",
    "better-sqlite3": "^13.0.3",
    "dotenv": "^17.4.2",
    "sharp": "^0.35.3",
    "undici": "7.29.0",
    "ws": "^8.21.3",
    "yaml": "^2.9.0",
    "zod": "^4.0.0"
  },
  "optionalDependencies": {
    "@ai-sdk/anthropic": "^4.0.41",
    "@ai-sdk/google": "^4.0.50",
    "@ai-sdk/openai": "^4.0.46",
    "@anthropic-ai/claude-agent-sdk": "^0.3.240",
    "@aws-sdk/client-s3": "^3.1116.0",
    "@azure/storage-blob": "^12.33.0",
    "@openai/codex": "0.149.0",
    "ai": "^7.0.77",
    "cloudflared": "^0.7.3"
  },
  "devDependencies": {
    "@oxlint/plugins": "1.79.0",
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^22.13.4",
    "@types/ws": "^8.18.1",
    "cross-env": "^10.1.0",
    "oxlint": "1.79.0",
    "tsx": "^4.23.12",
    "typescript": "^7.0.2",
    "vitest": "^4.1.11"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/artokun/comfyui-mcp.git"
  },
  "keywords": [
    "comfyui",
    "mcp",
    "mcp-server",
    "comfyui-mcp",
    "comfyui-mcp-server",
    "local-first",
    "model-context-protocol",
    "comfyui-ai-agent",
    "comfyui-agent",
    "comfyui-copilot",
    "comfyui-assistant",
    "comfyui-claude",
    "comfyui-chatgpt",
    "autonomous-agent",
    "natural-language-workflow",
    "claude-code",
    "claude-plugin",
    "claude-skills",
    "agent-skills",
    "chatgpt",
    "gpt-5",
    "codex",
    "cursor",
    "stable-diffusion",
    "image-generation",
    "video-generation",
    "text-to-image",
    "flux",
    "wan",
    "qwen",
    "z-image",
    "ltx-video",
    "ai-agent",
    "comfyui-extension",
    "workflow-automation",
    "ollama",
    "local-llm",
    "offline",
    "self-hosted",
    "gemini",
    "openrouter",
    "local-ai",
    "byo-model"
  ],
  "author": "artokun",
  "license": "MIT",
  "engines": {
    "node": ">=22.0.0"
  },
  "pnpm": {
    "onlyBuiltDependencies": [
      "better-sqlite3",
      "sharp"
    ]
  }
}
