comfyui-mcp 0.1.2 → 0.1.4

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.
@@ -13,4 +13,16 @@ export declare function getLoRAs(): Promise<string[]>;
13
13
  export declare function getVAEs(): Promise<string[]>;
14
14
  export declare function getUpscaleModels(): Promise<string[]>;
15
15
  export declare function getComfyUIPath(): string | undefined;
16
+ export declare function getLogs(): Promise<string[]>;
17
+ export interface HistoryEntry {
18
+ prompt: Record<string, unknown>;
19
+ outputs: Record<string, unknown>;
20
+ status: {
21
+ status_str: string;
22
+ completed: boolean;
23
+ messages: Array<[string, Record<string, unknown>]>;
24
+ };
25
+ meta?: Record<string, unknown>;
26
+ }
27
+ export declare function getHistory(promptId?: string): Promise<Record<string, HistoryEntry>>;
16
28
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIvE,wBAAgB,SAAS,IAAI,MAAM,CAWlC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAWrD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAI3D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAIzD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAOrD;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGxD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGlD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGjD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG1D;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIvE,wBAAgB,SAAS,IAAI,MAAM,CAWlC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAWrD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAI3D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAIzD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAOrD;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGxD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGlD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGjD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG1D;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBjD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAsB,UAAU,CAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAKvC"}
@@ -75,4 +75,27 @@ export async function getUpscaleModels() {
75
75
  export function getComfyUIPath() {
76
76
  return config.comfyuiPath;
77
77
  }
78
+ export async function getLogs() {
79
+ const client = getClient();
80
+ const res = await client.fetchApi("/internal/logs");
81
+ const text = await res.text();
82
+ // ComfyUI returns logs as a JSON-encoded string with \n separators,
83
+ // or as raw text depending on version. Handle both.
84
+ try {
85
+ const parsed = JSON.parse(text);
86
+ if (typeof parsed === "string") {
87
+ return parsed.split("\n").filter(Boolean);
88
+ }
89
+ }
90
+ catch {
91
+ // Not JSON — treat as raw text
92
+ }
93
+ return text.split("\n").filter(Boolean);
94
+ }
95
+ export async function getHistory(promptId) {
96
+ const client = getClient();
97
+ const path = promptId ? `/history/${promptId}` : "/history";
98
+ const res = await client.fetchApi(path);
99
+ return res.json();
100
+ }
78
101
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,MAAM,CAAC;YAC1B,QAAQ,EAAE,iBAAiB,EAAE;YAC7B,qCAAqC;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,IAAI,EAAE,iBAAiB,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CACvB,mCAAmC,iBAAiB,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACtG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5C,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAA6B,CAAC;IACjE,OAAO;QACL,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CAAiC;QAC3F,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CAAiC;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,7 @@ function buildNodeLabel(node, showValues) {
113
113
  }
114
114
  if (parts.length === 0)
115
115
  return title;
116
- return `${title}\\n${parts.join(" ")}`;
116
+ return `${title}<br/>${parts.join(" ")}`;
117
117
  }
118
118
  function extractConnections(workflow) {
119
119
  const edges = [];
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid-converter.js","sourceRoot":"","sources":["../../src/services/mermaid-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mermaid-converter.js","sourceRoot":"","sources":["../../src/services/mermaid-converter.ts"],"names":[],"mappings":"AAsBA,MAAM,iBAAiB,GAAqE;IAC1F,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,cAAc,EAAE;IACjF;QACE,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CACX,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3B,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC1B,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3B,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;KACpC;IACD;QACE,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CACX,EAAE,KAAK,gBAAgB;YACvB,EAAE,KAAK,qBAAqB;YAC5B,EAAE,KAAK,qBAAqB;YAC5B,EAAE,KAAK,iBAAiB;KAC3B;IACD;QACE,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,eAAe;KAClE;IACD;QACE,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CACX,EAAE,KAAK,WAAW;YAClB,EAAE,KAAK,WAAW;YAClB,EAAE,KAAK,WAAW;YAClB,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3B,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;KAChC;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,SAAiB;IACvC,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,eAAe,GAAiC;IACpD,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,8BAA8B;AAC9B,SAAS,aAAa,CAAC,EAAU,EAAE,KAAa,EAAE,QAAsB;IACtE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC;QAC/B,KAAK,cAAc;YACjB,OAAO,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;QACjC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,cAAc;IACd,WAAW;IACX,OAAO;IACP,QAAQ;IACR,WAAW;IACX,MAAM;IACN,eAAe;IACf,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,cAAc,CACrB,IAAkB,EAClB,UAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,YAAY,CAAC,KAAK,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAEvC,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,6CAA6C;YAC7C,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,GAAG,KAAK,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAsB;IAChD,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;oBAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;oBACrB,QAAQ;oBACR,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CACtB,SAAiB,EACjB,WAAmB;IAEnB,gDAAgD;IAChD,MAAM,SAAS,GAA6B;QAC1C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAChD,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QACnD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;QAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;QAC5B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5B,qBAAqB,EAAE,CAAC,OAAO,CAAC;QAChC,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,CAAC,QAAQ,CAAC;QAC9B,kBAAkB,EAAE,CAAC,eAAe,CAAC;QACrC,mBAAmB,EAAE,CAAC,cAAc,CAAC;QACrC,gBAAgB,EAAE,CAAC,aAAa,CAAC;QACjC,eAAe,EAAE,CAAC,cAAc,CAAC;QACjC,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,OAAO,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAsB,EACtB,UAA0B,EAAE;IAE5B,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,KAAK,GAAa,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IAEnD,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2D,CAAC;IAClF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAmB;QACpC,SAAS;QACT,cAAc;QACd,UAAU;QACV,OAAO;QACP,QAAQ;QACR,SAAS;KACV,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAE3C,KAAK,CAAC,IAAI,CAAC,cAAc,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,aAAa;IACb,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU;YACzB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,OAAO,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IAEF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,2EAA2E;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-executor.d.ts","sourceRoot":"","sources":["../../src/services/workflow-executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,SAAS,CAAC,CA6DpB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAGhE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGtD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAE1D"}
1
+ {"version":3,"file":"workflow-executor.d.ts","sourceRoot":"","sources":["../../src/services/workflow-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAyGpB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAGhE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGtD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAE1D"}
@@ -1,4 +1,4 @@
1
- import { getClient, connectClient, getSystemStats as clientGetSystemStats, getQueue as clientGetQueue, interrupt as clientInterrupt, } from "../comfyui/client.js";
1
+ import { getClient, connectClient, getSystemStats as clientGetSystemStats, getQueue as clientGetQueue, interrupt as clientInterrupt, getHistory, getLogs, } from "../comfyui/client.js";
2
2
  import { WorkflowExecutionError, ConnectionError } from "../utils/errors.js";
3
3
  import { arrayBufferToBase64 } from "../utils/image.js";
4
4
  import { logger } from "../utils/logger.js";
@@ -76,7 +76,46 @@ export async function executeWorkflow(workflowJson, options) {
76
76
  }
77
77
  catch (err) {
78
78
  const message = err instanceof Error ? err.message : String(err);
79
- throw new WorkflowExecutionError(`Workflow execution failed: ${message}`);
79
+ // Try to extract detailed error info from history and logs
80
+ let details = "";
81
+ try {
82
+ // The library embeds prompt_id in certain error types
83
+ const promptId = err.prompt_id;
84
+ if (promptId) {
85
+ const history = await getHistory(promptId);
86
+ const entry = Object.values(history)[0];
87
+ if (entry?.status) {
88
+ const errorMsg = entry.status.messages?.find((m) => m[0] === "execution_error");
89
+ if (errorMsg) {
90
+ const d = errorMsg[1];
91
+ details += `\n\nNode: ${d.node_id} (${d.node_type})`;
92
+ details += `\nException: ${d.exception_type}: ${d.exception_message}`;
93
+ if (Array.isArray(d.traceback)) {
94
+ details += `\n\nTraceback:\n${d.traceback.join("")}`;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ catch {
101
+ // Best-effort — don't mask the original error
102
+ }
103
+ // Grab recent error lines from logs if no history details found
104
+ if (!details) {
105
+ try {
106
+ const lines = await getLogs();
107
+ const errorLines = lines
108
+ .filter((l) => /error|exception|traceback|failed/i.test(l))
109
+ .slice(-10);
110
+ if (errorLines.length > 0) {
111
+ details += "\n\nRecent error logs:\n" + errorLines.join("\n");
112
+ }
113
+ }
114
+ catch {
115
+ // Best-effort
116
+ }
117
+ }
118
+ throw new WorkflowExecutionError(`Workflow execution failed: ${message}${details}`);
80
119
  }
81
120
  }
82
121
  export async function getJobStatus(promptId) {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-executor.js","sourceRoot":"","sources":["../../src/services/workflow-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-executor.js","sourceRoot":"","sources":["../../src/services/workflow-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerDiagnosticsTools(server: McpServer): void;
3
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuFzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwFhE"}
@@ -0,0 +1,139 @@
1
+ import { z } from "zod";
2
+ import { getLogs, getHistory, } from "../comfyui/client.js";
3
+ import { errorToToolResult } from "../utils/errors.js";
4
+ function formatHistoryEntry(promptId, entry) {
5
+ const lines = [];
6
+ const status = entry.status;
7
+ lines.push(`## Execution: ${promptId}`);
8
+ lines.push(`**Status**: ${status.status_str} | Completed: ${status.completed}`);
9
+ // Timing from messages
10
+ const messages = status.messages || [];
11
+ const start = messages.find((m) => m[0] === "execution_start");
12
+ const end = messages.find((m) => m[0] === "execution_success" || m[0] === "execution_error");
13
+ if (start && end) {
14
+ const startTs = start[1].timestamp;
15
+ const endTs = end[1].timestamp;
16
+ const durationSec = ((endTs - startTs) / 1000).toFixed(2);
17
+ lines.push(`**Duration**: ${durationSec}s`);
18
+ }
19
+ // Cached nodes
20
+ const cached = messages.find((m) => m[0] === "execution_cached");
21
+ if (cached) {
22
+ const cachedNodes = cached[1].nodes;
23
+ if (cachedNodes.length > 0) {
24
+ lines.push(`**Cached nodes**: ${cachedNodes.join(", ")}`);
25
+ }
26
+ }
27
+ // Error details
28
+ const errorMsg = messages.find((m) => m[0] === "execution_error");
29
+ if (errorMsg) {
30
+ const errData = errorMsg[1];
31
+ lines.push("");
32
+ lines.push("### Error Details");
33
+ if (errData.node_id) {
34
+ lines.push(`**Failed node**: ${errData.node_id} (${errData.node_type || "unknown type"})`);
35
+ }
36
+ if (errData.exception_message) {
37
+ lines.push(`**Exception**: ${errData.exception_message}`);
38
+ }
39
+ if (errData.exception_type) {
40
+ lines.push(`**Type**: ${errData.exception_type}`);
41
+ }
42
+ if (Array.isArray(errData.traceback) && errData.traceback.length > 0) {
43
+ lines.push("");
44
+ lines.push("**Traceback**:");
45
+ lines.push("```");
46
+ lines.push(errData.traceback.join(""));
47
+ lines.push("```");
48
+ }
49
+ }
50
+ // Interrupted
51
+ const interrupted = messages.find((m) => m[0] === "execution_interrupted");
52
+ if (interrupted) {
53
+ lines.push("");
54
+ lines.push("**Execution was interrupted/cancelled**");
55
+ }
56
+ // Output nodes
57
+ const outputKeys = Object.keys(entry.outputs || {});
58
+ if (outputKeys.length > 0) {
59
+ lines.push("");
60
+ lines.push(`### Outputs (${outputKeys.length} nodes)`);
61
+ for (const nodeId of outputKeys) {
62
+ const output = entry.outputs[nodeId];
63
+ const outputTypes = Object.keys(output);
64
+ lines.push(`- Node ${nodeId}: ${outputTypes.join(", ")}`);
65
+ }
66
+ }
67
+ return lines.join("\n");
68
+ }
69
+ export function registerDiagnosticsTools(server) {
70
+ server.tool("get_logs", "Get ComfyUI server runtime logs. Useful for debugging execution errors, model loading issues, missing nodes, and Python tracebacks.", {
71
+ max_lines: z
72
+ .number()
73
+ .int()
74
+ .min(1)
75
+ .max(2000)
76
+ .optional()
77
+ .describe("Maximum number of log lines to return from the end (default: 100)"),
78
+ keyword: z
79
+ .string()
80
+ .optional()
81
+ .describe("Filter log lines containing this keyword (case-insensitive). Examples: 'error', 'warning', 'VRAM', a node name"),
82
+ }, async (args) => {
83
+ try {
84
+ let lines = await getLogs();
85
+ // Filter by keyword if provided
86
+ if (args.keyword) {
87
+ const kw = args.keyword.toLowerCase();
88
+ lines = lines.filter((line) => line.toLowerCase().includes(kw));
89
+ }
90
+ // Tail to max_lines
91
+ const maxLines = args.max_lines ?? 100;
92
+ if (lines.length > maxLines) {
93
+ lines = lines.slice(-maxLines);
94
+ }
95
+ // Strip ANSI escape codes for readability
96
+ const clean = lines.map((l) => l.replace(/\x1b\[[0-9;]*m/g, ""));
97
+ const text = clean.length === 0
98
+ ? `No log lines found${args.keyword ? ` matching "${args.keyword}"` : ""}.`
99
+ : clean.join("\n");
100
+ return { content: [{ type: "text", text }] };
101
+ }
102
+ catch (err) {
103
+ return errorToToolResult(err);
104
+ }
105
+ });
106
+ server.tool("get_history", "Get execution history for a ComfyUI prompt. Returns status, timing, cached nodes, output details, and full error information including Python tracebacks. Use after a failed run_workflow to diagnose what went wrong.", {
107
+ prompt_id: z
108
+ .string()
109
+ .optional()
110
+ .describe("Specific prompt ID to look up (returned by run_workflow). If omitted, returns the most recent execution."),
111
+ }, async (args) => {
112
+ try {
113
+ const history = await getHistory(args.prompt_id);
114
+ const entries = Object.entries(history);
115
+ if (entries.length === 0) {
116
+ return {
117
+ content: [
118
+ {
119
+ type: "text",
120
+ text: args.prompt_id
121
+ ? `No history found for prompt ${args.prompt_id}.`
122
+ : "No execution history available.",
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ // If no prompt_id, return the most recent entry
128
+ const [promptId, entry] = args.prompt_id
129
+ ? entries[0]
130
+ : entries[entries.length - 1];
131
+ const text = formatHistoryEntry(promptId, entry);
132
+ return { content: [{ type: "text", text }] };
133
+ }
134
+ catch (err) {
135
+ return errorToToolResult(err);
136
+ }
137
+ });
138
+ }
139
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAOxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CASxD"}
@@ -4,6 +4,8 @@ import { registerWorkflowComposeTools } from "./workflow-compose.js";
4
4
  import { registerRegistrySearchTools } from "./registry-search.js";
5
5
  import { registerModelManagementTools } from "./model-management.js";
6
6
  import { registerSkillGeneratorTools } from "./skill-generator.js";
7
+ import { registerDiagnosticsTools } from "./diagnostics.js";
8
+ import { registerWorkflowLibraryTools } from "./workflow-library.js";
7
9
  export function registerAllTools(server) {
8
10
  registerWorkflowExecuteTools(server);
9
11
  registerWorkflowVisualizeTools(server);
@@ -11,5 +13,7 @@ export function registerAllTools(server) {
11
13
  registerRegistrySearchTools(server);
12
14
  registerModelManagementTools(server);
13
15
  registerSkillGeneratorTools(server);
16
+ registerDiagnosticsTools(server);
17
+ registerWorkflowLibraryTools(server);
14
18
  }
15
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerWorkflowLibraryTools(server: McpServer): void;
3
+ //# sourceMappingURL=workflow-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-library.d.ts","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8EpE"}
@@ -0,0 +1,65 @@
1
+ import { z } from "zod";
2
+ import { getClient } from "../comfyui/client.js";
3
+ import { errorToToolResult } from "../utils/errors.js";
4
+ export function registerWorkflowLibraryTools(server) {
5
+ server.tool("list_workflows", "List saved workflows from the ComfyUI user library.", {}, async () => {
6
+ try {
7
+ const client = getClient();
8
+ const res = await client.fetchApi("/api/userdata?dir=workflows");
9
+ const files = (await res.json());
10
+ if (files.length === 0) {
11
+ return {
12
+ content: [{ type: "text", text: "No saved workflows found." }],
13
+ };
14
+ }
15
+ const text = files
16
+ .map((f, i) => `${i + 1}. ${f}`)
17
+ .join("\n");
18
+ return {
19
+ content: [
20
+ {
21
+ type: "text",
22
+ text: `Found ${files.length} workflows:\n\n${text}`,
23
+ },
24
+ ],
25
+ };
26
+ }
27
+ catch (err) {
28
+ return errorToToolResult(err);
29
+ }
30
+ });
31
+ server.tool("get_workflow", "Load a saved workflow from the ComfyUI user library by filename. Returns the workflow JSON. Note: saved workflows are in ComfyUI's UI format (nodes + links arrays), not API format.", {
32
+ filename: z
33
+ .string()
34
+ .describe("Workflow filename (e.g. 'my_workflow.json'). Use list_workflows to see available files."),
35
+ }, async (args) => {
36
+ try {
37
+ const client = getClient();
38
+ const encoded = encodeURIComponent(args.filename);
39
+ const res = await client.fetchApi(`/api/userdata/workflows/${encoded}`);
40
+ if (!res.ok) {
41
+ return {
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: `Workflow not found: ${args.filename} (${res.status})`,
46
+ },
47
+ ],
48
+ };
49
+ }
50
+ const workflow = await res.json();
51
+ return {
52
+ content: [
53
+ {
54
+ type: "text",
55
+ text: JSON.stringify(workflow, null, 2),
56
+ },
57
+ ],
58
+ };
59
+ }
60
+ catch (err) {
61
+ return errorToToolResult(err);
62
+ }
63
+ });
64
+ }
65
+ //# sourceMappingURL=workflow-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-library.js","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qDAAqD,EACrD,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;YAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,KAAK;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,KAAK,CAAC,MAAM,kBAAkB,IAAI,EAAE;qBACpD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sLAAsL,EACtL;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,yFAAyF,CAC1F;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC/B,2BAA2B,OAAO,EAAE,CACrC,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,uBAAuB,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG;yBAC7D;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comfyui-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "MCP server for ComfyUI — workflow execution, visualization, composition, registry, and skill generation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",