@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 +17 -7
- package/manifest.json +1 -1
- package/package.json +3 -3
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
|
-
|
|
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]
|
|
1174
|
-
"
|
|
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]
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
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
|
+
"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.
|
|
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.
|
|
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.
|
|
68
|
+
"version": "0.4.7",
|
|
69
69
|
"type": "mcp-server",
|
|
70
70
|
"manifest": "manifest.json"
|
|
71
71
|
},
|