comfyui-mcp 0.51.53 → 0.51.54

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.
@@ -59,6 +59,13 @@ export function startPanelMcpHttpServer(bridge, port, host = "127.0.0.1", workfl
59
59
  // tabId -> (sessionId -> Session). A tab can hold multiple Codex sessions
60
60
  // across reconnects; each is its own server+transport over the SAME tab ctx.
61
61
  const tabs = new Map();
62
+ // The port ACTUALLY bound, which is not always the port asked for: `listen(0)`
63
+ // means "any free port", and the OS picks it. Everything downstream — the URL
64
+ // handed to the backend, the transport's DNS-rebinding allowlist, and the Host
65
+ // guard below — has to name the real one, or a server that came up fine is
66
+ // unreachable at the address it advertises and rejects the requests that do
67
+ // arrive. Kept in sync at `listen`, before any of those readers can run.
68
+ let boundPort = port;
62
69
  const newSession = async (tabId) => {
63
70
  const server = new McpServer({ name: "comfyui-panel", version: "1.0.0" });
64
71
  // Tab-bound context: every tool forwards to the bridge for THIS tab — the
@@ -70,7 +77,7 @@ export function startPanelMcpHttpServer(bridge, port, host = "127.0.0.1", workfl
70
77
  // host to 127.0.0.1 to reach this loopback server). We also Host/Origin-guard
71
78
  // in the request handler since we hand-roll http.createServer.
72
79
  enableDnsRebindingProtection: true,
73
- allowedHosts: [`127.0.0.1:${port}`, `localhost:${port}`],
80
+ allowedHosts: [`127.0.0.1:${boundPort}`, `localhost:${boundPort}`],
74
81
  allowedOrigins: [], // no browser origin should ever reach this (Codex sends none)
75
82
  onsessioninitialized: (sid) => {
76
83
  let m = tabs.get(tabId);
@@ -101,7 +108,7 @@ export function startPanelMcpHttpServer(bridge, port, host = "127.0.0.1", workfl
101
108
  // local Codex app-server should reach it — and it sends an exact-loopback
102
109
  // Host and NO browser Origin. Reject anything else before doing any work.
103
110
  const hostHeader = req.headers.host;
104
- if (hostHeader !== `127.0.0.1:${port}` && hostHeader !== `localhost:${port}`) {
111
+ if (hostHeader !== `127.0.0.1:${boundPort}` && hostHeader !== `localhost:${boundPort}`) {
105
112
  res.writeHead(403, { "content-type": "application/json" }).end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32001, message: "Forbidden host." }, id: null }));
106
113
  return;
107
114
  }
@@ -117,6 +124,34 @@ export function startPanelMcpHttpServer(bridge, port, host = "127.0.0.1", workfl
117
124
  const sessionId = req.headers["mcp-session-id"];
118
125
  const tabSessions = tabs.get(tabId);
119
126
  const existing = sessionId ? tabSessions?.get(sessionId) : undefined;
127
+ // #1524 — a session id we do not know is a SESSION problem, and the status
128
+ // code is the only place the protocol says so. 404 means "that session is
129
+ // gone", on which the client MUST open a new one with a fresh
130
+ // InitializeRequest; 400 means "this request was malformed", which no
131
+ // client retries and none re-initializes on. Answering the first case with
132
+ // the second is why the panel half of a dropped session never came back
133
+ // while the stdio `comfyui` half — which the client simply respawns, and
134
+ // which needs no such signal — always did.
135
+ //
136
+ // Every session map here is process-local, so an orchestrator restart
137
+ // invalidates every id at once. That is not an edge case on this install:
138
+ // the dev build self-restarts on rebuild.
139
+ //
140
+ // Scoped deliberately to "an id was presented and is unknown". A request
141
+ // with NO id keeps its 400 below: there is no session to recover, and
142
+ // sending it to re-initialize something it never opened would loop it.
143
+ if (sessionId && !existing) {
144
+ res.writeHead(404, { "content-type": "application/json" }).end(JSON.stringify({
145
+ jsonrpc: "2.0",
146
+ error: {
147
+ code: -32001,
148
+ message: "Session not found — this session id is not known to this orchestrator " +
149
+ "(it may have restarted). Open a new session with an initialize request.",
150
+ },
151
+ id: null,
152
+ }));
153
+ return;
154
+ }
120
155
  if (existing) {
121
156
  // Established session — GET (SSE), POST (messages), DELETE (close).
122
157
  const body = req.method === "POST" ? await readJsonBody(req) : undefined;
@@ -165,10 +200,16 @@ export function startPanelMcpHttpServer(bridge, port, host = "127.0.0.1", workfl
165
200
  return new Promise((resolve, reject) => {
166
201
  httpServer.on("error", (err) => reject(err));
167
202
  httpServer.listen(port, host, () => {
168
- logger.info(`[panel-mcp-http] panel_* MCP listening on http://${host}:${port}/<tabId> (loopback, Codex)`);
203
+ // Read the port back off the socket rather than echoing the request. They
204
+ // are the same number for every caller that names one, and different for
205
+ // `listen(0)` — where echoing produced a server advertising `:0`, which no
206
+ // client can dial and whose own Host guard would reject anything that did.
207
+ const addr = httpServer.address();
208
+ boundPort = typeof addr === "object" && addr ? addr.port : port;
209
+ logger.info(`[panel-mcp-http] panel_* MCP listening on http://${host}:${boundPort}/<tabId> (loopback, Codex)`);
169
210
  resolve({
170
- port,
171
- urlFor: (tabId) => `http://${host}:${port}/${encodeURIComponent(tabId)}`,
211
+ port: boundPort,
212
+ urlFor: (tabId) => `http://${host}:${boundPort}/${encodeURIComponent(tabId)}`,
172
213
  stop: async () => {
173
214
  for (const tabSessions of tabs.values()) {
174
215
  for (const s of tabSessions.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"panel-mcp-http.js","sourceRoot":"","sources":["../../src/orchestrator/panel-mcp-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-mcp-http.js","sourceRoot":"","sources":["../../src/orchestrator/panel-mcp-http.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.51.53",
3
+ "version": "0.51.54",
4
4
  "mcpName": "io.github.artokun/comfyui-mcp",
5
5
  "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.",
6
6
  "homepage": "https://comfyui-mcp.artokun.io/docs",