@showly/mcp-server 0.4.5 → 0.4.7

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.
package/dist/cli.js CHANGED
@@ -471,7 +471,10 @@ export function buildRemoteAgentWaitInstruction(target) {
471
471
  "[AGENT EXECUTOR - REQUIRED]",
472
472
  "The approval block above is an intermediate update, never the final response.",
473
473
  "Keep this exact foreground process/session handle alive and repeatedly use your host's wait/poll action until the command exits. No new output means it is still waiting.",
474
+ "Do not append shell `&`, use nohup/disown, redirect this command into a detached job, or close the task that owns its session handle.",
475
+ "After relaying the approval URL and code, your next action in the same turn MUST be another wait/poll call on this handle. A text-only response such as `I'll keep an eye on it` ends the workflow and is a failure.",
474
476
  "Do not ask the human to message you after approval, and do not start another login while this process is alive.",
477
+ "Only a terminal exit from this login command permits a final response.",
475
478
  ].join("\n");
476
479
  }
477
480
  /** Claude Code reads a `headers` map on an http MCP server entry. */
@@ -1128,7 +1131,11 @@ export function buildLoginOutput(result, opts = {}) {
1128
1131
  if (opts.printToken)
1129
1132
  return [{ stream: "out", line: result.token }];
1130
1133
  const lines = [];
1131
- if (result.wrote) {
1134
+ const isManagedRemoteTarget = result.target === "openclaw" || result.target === "hermes";
1135
+ if (isManagedRemoteTarget) {
1136
+ lines.push({ stream: "err", line: "Connected." });
1137
+ }
1138
+ else if (result.wrote) {
1132
1139
  const written = [result.path, result.credentialPath]
1133
1140
  .filter((path) => Boolean(path))
1134
1141
  .join(" and ");
@@ -1170,8 +1177,10 @@ export function buildLoginOutput(result, opts = {}) {
1170
1177
  lines.push({
1171
1178
  stream: "err",
1172
1179
  line: [
1173
- "[AGENT EXECUTOR - REQUIRED] Stay in this task: run `openclaw mcp reload`, rediscover Showly's native tools, then make real `list_projects` and `list_sites` calls.",
1174
- "A saved config or successful doctor/probe is not completion. If the host already ended the task while approval was pending, use one fresh task as a fallback; do not repeat login.",
1180
+ "[AGENT EXECUTOR - REQUIRED] Run `openclaw mcp reload` once. If Showly's native tools are mounted in this task, call `list_projects` and `list_sites` once each.",
1181
+ "If this task still has the old tool inventory, do not inspect config, create helper/probe files, or spawn a nested task. Do not repeat login.",
1182
+ "In that stale-inventory case, end with exactly this sentence and nothing else: Showly connected. Start one fresh task to use Showly tools.",
1183
+ "Never report config paths, credential lifetime, refresh-token details, or raw headers.",
1175
1184
  ].join("\n"),
1176
1185
  });
1177
1186
  }
@@ -1179,13 +1188,14 @@ export function buildLoginOutput(result, opts = {}) {
1179
1188
  lines.push({
1180
1189
  stream: "err",
1181
1190
  line: [
1182
- "[AGENT EXECUTOR - REQUIRED] Reload the live Hermes MCP inventory with `/reload-mcp`, then verify with native `mcp__showly__list_projects` and `mcp__showly__list_sites` calls.",
1183
- "On managed MyClaw, a new task can reuse the same worker. If the native tools are still absent after reload, restart the Hermes instance/container once and open a fresh task; do not repeat login.",
1184
- "`hermes mcp test` or raw JSON-RPC proves the credential and server, not that the running agent loaded the tools.",
1191
+ "[AGENT EXECUTOR - REQUIRED] On managed MyClaw, make no more tool calls in this task after Connected. Do not inspect config, create helper/probe files, or run raw JSON-RPC. Do not repeat login.",
1192
+ "End with exactly this sentence and nothing else: Showly connected. Restart Hermes once, then start a fresh task to use Showly tools.",
1193
+ "On other Hermes hosts only, use `/reload-mcp` when it is a real control command, then verify with native `mcp__showly__list_projects` and `mcp__showly__list_sites` calls. Do not tell the human to run it or send it as an ordinary chat/model prompt.",
1194
+ "Never report config paths, credential lifetime, refresh-token details, or raw headers.",
1185
1195
  ].join("\n"),
1186
1196
  });
1187
1197
  }
1188
- if (result.expiresAt) {
1198
+ if (result.expiresAt && !isManagedRemoteTarget) {
1189
1199
  lines.push({
1190
1200
  stream: "err",
1191
1201
  line: `This credential expires ${result.expiresAt.toISOString().slice(0, 10)}. Showly issues no refresh token, so run \`npx @showly/mcp-server login\` again before then — it needs a human approval each time.`,
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://showly.ai/schemas/skill-manifest-v1.json",
3
3
  "name": "showly",
4
4
  "displayName": "Showly",
5
- "version": "0.4.5",
5
+ "version": "0.4.7",
6
6
  "description": "Deploy and manage Showly sites from inside Claude Code / Codex.",
7
7
  "homepage": "https://showly.ai/docs/mcp/overview",
8
8
  "publisher": "Showly",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@showly/mcp-server",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Connect Claude Code / Codex to the Showly MCP server — preview and deploy sites from your agent.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "claude-code-skill": {
54
54
  "name": "showly",
55
- "version": "0.4.5",
55
+ "version": "0.4.7",
56
56
  "description": "Deploy and manage Showly sites from inside Claude Code.",
57
57
  "mcp-server": {
58
58
  "url-env": "SHOWLY_MCP_URL",
@@ -65,7 +65,7 @@
65
65
  },
66
66
  "codex-plugin": {
67
67
  "name": "showly",
68
- "version": "0.4.5",
68
+ "version": "0.4.7",
69
69
  "type": "mcp-server",
70
70
  "manifest": "manifest.json"
71
71
  },