comfyui-mcp 0.20.7 → 0.20.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { existsSync } from "node:fs";
4
- import { basename, join } from "node:path";
4
+ import { basename, isAbsolute, join, relative, resolve } from "node:path";
5
5
  import { config, getComfyUIBaseUrl } from "../config.js";
6
6
  import { comfyuiFetch } from "../comfyui/fetch.js";
7
7
  import { ComfyUIError, ProcessControlError, ValidationError } from "../utils/errors.js";
@@ -335,7 +335,19 @@ function runGitCheckout(baseUrl, ref) {
335
335
  throw new ProcessControlError("Checking out a custom-node git ref requires a local ComfyUI install, " +
336
336
  "but config.comfyuiPath is not set.");
337
337
  }
338
- const nodeDir = join(config.comfyuiPath, "custom_nodes", gitCheckoutDir(baseUrl));
338
+ // SECURITY: this is also reached by the forced-cm-cli git path, NOT just the
339
+ // clone fallback, so validate here too before baseUrl / the derived dir reach
340
+ // git or the filesystem (option injection + path traversal). Mirrors
341
+ // cloneCustomNodeFallback's checks.
342
+ assertSafeGitUrl(baseUrl);
343
+ const repoName = gitCheckoutDir(baseUrl);
344
+ assertSafeRepoName(repoName);
345
+ const customNodesRoot = resolve(config.comfyuiPath, "custom_nodes");
346
+ const nodeDir = resolve(customNodesRoot, repoName);
347
+ const rel = relative(customNodesRoot, nodeDir);
348
+ if (rel === "" || rel.startsWith("..") || isAbsolute(rel)) {
349
+ throw new ValidationError(`Refusing to check out: resolved path "${nodeDir}" escapes ${customNodesRoot}.`);
350
+ }
339
351
  logger.info("Checking out custom-node git ref", {
340
352
  repository: baseUrl,
341
353
  ref,
@@ -361,6 +373,186 @@ function runGitCheckout(baseUrl, ref) {
361
373
  });
362
374
  }
363
375
  }
376
+ /**
377
+ * Does an installed node match the wanted id/url? Mirrors manifest.ts's private
378
+ * nodeAlreadyInstalled, but kept local to this unit. Normalizes (lowercase) and
379
+ * matches an installed node's module/cnrId/auxId (and the basename of each — aux
380
+ * ids are typically "owner/repo") against the wanted value and, when the wanted
381
+ * value is a git URL, its derived repo name. This is how we VERIFY a Manager
382
+ * install actually landed on disk (Manager marks the queue "done" even when it
383
+ * resolved nothing).
384
+ */
385
+ function nodeInstalledMatches(idOrUrl, installed) {
386
+ const wanted = idOrUrl.trim().toLowerCase();
387
+ const repoName = looksLikeGitUrl(idOrUrl)
388
+ ? gitCheckoutDir(parseGitUrl(idOrUrl).baseUrl).toLowerCase()
389
+ : wanted;
390
+ return installed.some((node) => {
391
+ const candidates = [];
392
+ for (const v of [node.module, node.cnrId, node.auxId]) {
393
+ if (!v)
394
+ continue;
395
+ const norm = v.trim().toLowerCase();
396
+ candidates.push(norm);
397
+ candidates.push(basename(norm));
398
+ }
399
+ return candidates.includes(wanted) || candidates.includes(repoName);
400
+ });
401
+ }
402
+ /**
403
+ * Resolve the ComfyUI venv python for installing a cloned node's deps. Prefers
404
+ * the install's own `.venv` (Windows Scripts/ or POSIX bin/), falling back to a
405
+ * bare "python" on PATH.
406
+ */
407
+ function resolveVenvPython() {
408
+ if (config.comfyuiPath) {
409
+ const winPy = join(config.comfyuiPath, ".venv", "Scripts", "python.exe");
410
+ if (existsSync(winPy))
411
+ return winPy;
412
+ const posixPy = join(config.comfyuiPath, ".venv", "bin", "python");
413
+ if (existsSync(posixPy))
414
+ return posixPy;
415
+ }
416
+ return "python";
417
+ }
418
+ /**
419
+ * Validate a git URL before it is handed to `git clone` as an argument.
420
+ * Rejects an arg-injection vector (a URL parsed as a git option) and anything
421
+ * that isn't a recognized git URL shape.
422
+ */
423
+ function assertSafeGitUrl(gitId) {
424
+ if (gitId.startsWith("-")) {
425
+ throw new ValidationError(`Refusing to clone git URL "${gitId}": it starts with '-' and would be ` +
426
+ `interpreted as a git option.`);
427
+ }
428
+ if (/[\x00-\x1F\x7F]/.test(gitId)) {
429
+ throw new ValidationError("Git URL cannot contain ASCII control characters.");
430
+ }
431
+ if (!looksLikeGitUrl(gitId)) {
432
+ throw new ValidationError(`Refusing to clone "${gitId}": not a recognized git URL (expected ` +
433
+ `https://, ssh://, git@…, git+…, or a .git URL).`);
434
+ }
435
+ }
436
+ /**
437
+ * Validate the repo name derived from a git URL before it is used as a
438
+ * filesystem path segment under custom_nodes. Rejects empty, '.'/'..', names
439
+ * starting with '-', and names containing path separators or control chars —
440
+ * any of which could escape custom_nodes or be parsed as a git option.
441
+ */
442
+ function assertSafeRepoName(repoName) {
443
+ if (repoName.length === 0 ||
444
+ repoName === "." ||
445
+ repoName === ".." ||
446
+ repoName.startsWith("-") ||
447
+ /[/\\]/.test(repoName) ||
448
+ /[\x00-\x1F\x7F]/.test(repoName)) {
449
+ throw new ValidationError(`Refusing to use "${repoName}" as a custom_nodes directory name (empty, ` +
450
+ `'.'/'..', starts with '-', or contains a path separator/control char).`);
451
+ }
452
+ }
453
+ /**
454
+ * Direct-clone fallback for an unregistered git repo the Manager can't resolve.
455
+ * Clones into custom_nodes/<repoName>, checks out a ref if given, then makes a
456
+ * best-effort attempt at installing python deps (requirements.txt + install.py).
457
+ * Dep failures DON'T fail the install (clone succeeded) — they're surfaced as
458
+ * warnings. A clone failure throws NodeManagementError.
459
+ */
460
+ function cloneCustomNodeFallback(gitId, repoName, gitRef, managerStatus) {
461
+ if (!config.comfyuiPath) {
462
+ throw new ProcessControlError(`"${repoName}" is not in the ComfyUI-Manager registry and cloning it ` +
463
+ `requires a local ComfyUI install, but config.comfyuiPath is not set ` +
464
+ `(running in remote --comfyui-url mode). Install it on the ComfyUI host, ` +
465
+ `or pass a registered pack id.`);
466
+ }
467
+ // SECURITY: validate before either value becomes a `git clone` arg or a path
468
+ // segment. gitId is checked for option-injection; repoName for path traversal.
469
+ assertSafeGitUrl(gitId);
470
+ assertSafeRepoName(repoName);
471
+ // Resolve the target and ASSERT it stays inside <comfyuiPath>/custom_nodes,
472
+ // mirroring manifest.ts's isWithinRoot containment check (defense in depth on
473
+ // top of the repoName validation above).
474
+ const customNodesRoot = resolve(config.comfyuiPath, "custom_nodes");
475
+ const nodeDir = resolve(customNodesRoot, repoName);
476
+ const rel = relative(customNodesRoot, nodeDir);
477
+ if (rel === "" || rel.startsWith("..") || isAbsolute(rel)) {
478
+ throw new ValidationError(`Refusing to clone: resolved path "${nodeDir}" escapes ${customNodesRoot}.`);
479
+ }
480
+ const warnings = [];
481
+ const alreadyPresent = existsSync(nodeDir);
482
+ if (!alreadyPresent) {
483
+ // A concrete ref needs the full history reachable; otherwise shallow-clone.
484
+ // `--end-of-options` ensures gitId/nodeDir are never parsed as git options.
485
+ const cloneArgs = gitRef
486
+ ? ["clone", "--end-of-options", gitId, nodeDir]
487
+ : ["clone", "--depth", "1", "--end-of-options", gitId, nodeDir];
488
+ logger.info("Cloning unregistered custom node", { gitId, nodeDir, gitRef });
489
+ try {
490
+ execFileSync("git", cloneArgs, {
491
+ cwd: config.comfyuiPath,
492
+ encoding: "utf-8",
493
+ timeout: CM_CLI_TIMEOUT,
494
+ env: {
495
+ ...process.env,
496
+ ...(config.githubToken ? { GITHUB_TOKEN: config.githubToken } : {}),
497
+ },
498
+ });
499
+ }
500
+ catch (err) {
501
+ const e = err;
502
+ throw new NodeManagementError(`Failed to clone "${gitId}" into custom_nodes/${repoName}: ${e.message}`, {
503
+ stdout: e.stdout ? e.stdout.toString() : "",
504
+ stderr: e.stderr ? e.stderr.toString() : "",
505
+ });
506
+ }
507
+ if (gitRef)
508
+ runGitCheckout(gitId, gitRef);
509
+ }
510
+ // VERIFY the clone landed before attempting deps.
511
+ if (!existsSync(nodeDir)) {
512
+ throw new NodeManagementError(`Clone of "${gitId}" reported success but ${nodeDir} is missing.`);
513
+ }
514
+ // Best-effort python deps. Don't fail the install if these don't.
515
+ const requirements = join(nodeDir, "requirements.txt");
516
+ const installScript = join(nodeDir, "install.py");
517
+ if (existsSync(requirements) || existsSync(installScript)) {
518
+ const python = resolveVenvPython();
519
+ if (existsSync(requirements)) {
520
+ try {
521
+ execFileSync(python, ["-m", "pip", "install", "-r", requirements], {
522
+ cwd: nodeDir,
523
+ encoding: "utf-8",
524
+ timeout: CM_CLI_TIMEOUT,
525
+ });
526
+ }
527
+ catch (err) {
528
+ const e = err;
529
+ warnings.push(`Python dependencies (requirements.txt) failed to install (${e.message}); install them manually with "${python} -m pip install -r requirements.txt".`);
530
+ }
531
+ }
532
+ if (existsSync(installScript)) {
533
+ try {
534
+ execFileSync(python, [installScript], {
535
+ cwd: nodeDir,
536
+ encoding: "utf-8",
537
+ timeout: CM_CLI_TIMEOUT,
538
+ });
539
+ }
540
+ catch (err) {
541
+ const e = err;
542
+ warnings.push(`install.py failed to run (${e.message}); the node may need manual setup.`);
543
+ }
544
+ }
545
+ }
546
+ const base = alreadyPresent
547
+ ? `"${repoName}" already exists in custom_nodes (${repoName}) — left it in place.`
548
+ : `"${repoName}" is not in the ComfyUI-Manager registry — cloned it directly into custom_nodes (${repoName}).`;
549
+ const warn = warnings.length ? ` ${warnings.join(" ")}` : "";
550
+ return {
551
+ mechanism: "git-clone",
552
+ message: `${base}${warn} RESTART ComfyUI to load it.`,
553
+ details: { nodeDir, warnings, managerStatus },
554
+ };
555
+ }
364
556
  export async function installCustomNode(opts) {
365
557
  const { id, version, mode = "remote", channel = "default" } = opts;
366
558
  const parsedGit = parseGitUrl(id);
@@ -374,6 +566,13 @@ export async function installCustomNode(opts) {
374
566
  const gitRef = source === "git" && gitRefCandidate
375
567
  ? validateGitRef(gitRefCandidate)
376
568
  : gitRefCandidate;
569
+ // SECURITY: validate a git URL ONCE, up front, before it can reach ANY install
570
+ // path — cm-cli (`cm-cli install <url>`), the Manager queue, or the clone
571
+ // fallback. Rejects option-injection (leading "-") / non-git / control chars.
572
+ // The repo-name + custom_nodes-containment checks live where the on-disk dir is
573
+ // actually used (runGitCheckout, cloneCustomNodeFallback).
574
+ if (source === "git")
575
+ assertSafeGitUrl(gitId);
377
576
  if (opts.useCmCli) {
378
577
  // cm-cli install accepts registry ids and git urls alike.
379
578
  const installId = source === "git" ? gitId : id;
@@ -387,40 +586,58 @@ export async function installCustomNode(opts) {
387
586
  details: out.trim(),
388
587
  };
389
588
  }
390
- let params;
391
589
  if (source === "git") {
392
- // Git install via the unified task. do_install only consumes `id` +
393
- // `selected_version` (it resolves `${id}@${selected_version}` through
394
- // resolve_node_spec), so we pass the repo URL as the id and the ref as the
395
- // selected version. `repository` is included because InstallPackParams marks
396
- // it required for nightly. A concrete ref pins the branch/tag/commit; with
397
- // none we fall back to "nightly" (the registry's git-HEAD channel).
398
- // NOTE: live-unverified against this Manager build — registry installs are
399
- // verified; flag if a git-URL install regresses.
590
+ // REGISTRY-FIRST, CLONE FALLBACK. The Manager backend resolves an install
591
+ // by the pack's REPO NAME / CNR id — NOT a full git URL (do_install splits
592
+ // `${id}@${selected_version}` and looks the result up in its DB; a full URL
593
+ // matches nothing and the queue silently marks the task "done"). So we mirror
594
+ // the frontend UI: id = repo name, selected_version = ref or "nightly" (the
595
+ // git-HEAD channel for unclaimed packs), channel "dev", mode "cache". The
596
+ // ignored `repository`/`pip` fields are dropped.
597
+ const repoName = gitCheckoutDir(gitId);
400
598
  const selected = gitRef ?? "nightly";
401
- params = {
402
- id: gitId,
599
+ const status = await queueManagerTask("install", {
600
+ id: repoName,
403
601
  version: selected,
404
602
  selected_version: selected,
405
- repository: gitId,
406
- pip: [],
407
- channel,
408
- mode,
409
- };
410
- }
411
- else {
412
- params = {
413
- id,
414
- version: version ?? "latest",
415
- selected_version: version ?? "latest",
416
- channel,
417
- mode,
418
- };
603
+ channel: opts.channel ?? "dev",
604
+ mode: opts.mode ?? "cache",
605
+ });
606
+ // VERIFY: /v2/customnode/installed reflects on-disk custom_nodes, so a
607
+ // freshly-cloned pack shows up even before a reboot. If the Manager actually
608
+ // installed it, we're done; otherwise it's unregistered → clone it directly.
609
+ const installed = await listInstalledNodes().catch(() => []);
610
+ if (nodeInstalledMatches(gitId, installed)) {
611
+ return {
612
+ mechanism: "manager-http",
613
+ message: `Installed "${repoName}" via ComfyUI-Manager. Restart may be required to load new nodes.`,
614
+ details: status,
615
+ };
616
+ }
617
+ return cloneCustomNodeFallback(gitId, repoName, gitRef, status);
618
+ }
619
+ // Registry (plain CNR id). Keep the prior defaults channel "default" /
620
+ // mode "remote" (overridable via opts) — forcing "dev"/"cache" risks resolving
621
+ // a different build or failing for default-only packs. The UI-style
622
+ // "dev"/"cache" is used ONLY for the git registry-first lookup above. Then
623
+ // VERIFY the pack actually landed — a non-URL id can't be cloned, so an absent
624
+ // pack is a hard error rather than a silent no-op.
625
+ const status = await queueManagerTask("install", {
626
+ id,
627
+ version: version ?? "latest",
628
+ selected_version: version ?? "latest",
629
+ channel,
630
+ mode,
631
+ });
632
+ const installed = await listInstalledNodes().catch(() => []);
633
+ if (!nodeInstalledMatches(id, installed)) {
634
+ throw new NodeManagementError(`"${id}" was queued but is not present afterward — it was not found in the ` +
635
+ `ComfyUI-Manager registry. Check the pack id, or pass a git URL to clone ` +
636
+ `it directly.`, status);
419
637
  }
420
- const status = await queueManagerTask("install", params);
421
638
  return {
422
639
  mechanism: "manager-http",
423
- message: `Queued + installed "${id}" (${source}) via ComfyUI-Manager. A restart may be required to load new nodes.`,
640
+ message: `Installed "${id}" via ComfyUI-Manager. Restart may be required to load new nodes.`,
424
641
  details: status,
425
642
  };
426
643
  }
@@ -439,10 +656,18 @@ export async function updateCustomNode(opts) {
439
656
  }
440
657
  let status;
441
658
  if (all) {
442
- // update_all keeps its own dedicated route; its params carry client_id.
443
- await managerFetch("/v2/manager/queue/update_all", {
659
+ // update_all keeps its own dedicated route. The backend reads
660
+ // UpdateAllQueryParams from the QUERY STRING (manager_server.py), NOT the
661
+ // JSON body — a body-only request leaves mode defaulting to 'remote' and
662
+ // drops client_id/ui_id. Send them as URL query params.
663
+ const uiId = randomUUID();
664
+ const query = new URLSearchParams({
665
+ mode,
666
+ client_id: MANAGER_CLIENT_ID,
667
+ ui_id: uiId,
668
+ }).toString();
669
+ await managerFetch(`/v2/manager/queue/update_all?${query}`, {
444
670
  method: "POST",
445
- body: { mode, client_id: MANAGER_CLIENT_ID },
446
671
  });
447
672
  status = await runManagerQueue();
448
673
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-management.js","sourceRoot":"","sources":["../../src/services/node-management.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-management.js","sourceRoot":"","sources":["../../src/services/node-management.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comfyui-mcp",
3
- "version": "0.20.7",
3
+ "version": "0.20.8",
4
4
  "mcpName": "io.github.artokun/comfyui-mcp",
5
5
  "description": "MCP server + autonomous AI agent for ComfyUI — drive your live graph in natural language from a sidebar agent on Claude OR ChatGPT (your own subscription, no API key). Generate images, video & audio, author and run workflows, manage models and custom nodes. Also a Claude Code plugin with skills, slash commands, and installer packs.",
6
6
  "homepage": "https://comfyui-mcp.artokun.io/docs",