webcake-landing-mcp 1.0.35 → 1.0.36
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/changelog.json +7 -7
- package/dist/web-guide.js +101 -26
- package/package.json +1 -1
package/dist/changelog.json
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"v": "1.0.36",
|
|
4
|
+
"d": "08/06/2026",
|
|
5
|
+
"type": "Changed",
|
|
6
|
+
"en": "The GET / web guide page now lists \"Claude · Codex · Cursor, etc.\" instead of only \"Claude · Cursor\" in the AI assistant flow diagram, reflecting…",
|
|
7
|
+
"vi": "Trang hướng dẫn GET / nay hiển thị \"Claude · Codex · Cursor, v.v.\" thay vì chỉ \"Claude · Cursor\" trong sơ đồ luồng AI assistant, phản ánh danh sách…"
|
|
8
|
+
},
|
|
2
9
|
{
|
|
3
10
|
"v": "1.0.35",
|
|
4
11
|
"d": "08/06/2026",
|
|
@@ -33,12 +40,5 @@
|
|
|
33
40
|
"type": "Fixed",
|
|
34
41
|
"en": "get_element for spin_wheel now correctly documents specials.code as a newline-delimited string (one line per segment in couponCode|Prize…",
|
|
35
42
|
"vi": "get_element cho spin_wheel nay ghi lại đúng specials.code là chuỗi phân cách bằng dấu xuống dòng (mỗi dòng một segment theo định dạng couponCode|Tên…"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"v": "1.0.30",
|
|
39
|
-
"d": "08/06/2026",
|
|
40
|
-
"type": "Changed",
|
|
41
|
-
"en": "The server instructions now direct the agent to gather all get_element and get_generation_guide results before assembling the page source, build the…",
|
|
42
|
-
"vi": "Hướng dẫn cho agent nay yêu cầu thu thập toàn bộ kết quả get_element và get_generation_guide trước khi lắp ráp nguồn trang, xây dựng cây phần tử đầy…"
|
|
43
43
|
}
|
|
44
44
|
]
|
package/dist/web-guide.js
CHANGED
|
@@ -149,7 +149,7 @@ const T = {
|
|
|
149
149
|
flowH2: "Mô hình hoạt động",
|
|
150
150
|
flow: [
|
|
151
151
|
{ icon: "bulb", t: "Bạn", s: "ý tưởng" },
|
|
152
|
-
{ icon: "brain", t: "Trợ lý AI", s: "Claude · Cursor" },
|
|
152
|
+
{ icon: "brain", t: "Trợ lý AI", s: "Claude · Codex · Cursor,etc..." },
|
|
153
153
|
{ icon: "server", t: "MCP", s: "webcake-landing" },
|
|
154
154
|
{ icon: "window", t: "WebCake", s: "trang thật" },
|
|
155
155
|
],
|
|
@@ -174,12 +174,36 @@ const T = {
|
|
|
174
174
|
],
|
|
175
175
|
buildH2: "Bạn dựng được những gì",
|
|
176
176
|
uses: [
|
|
177
|
-
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
{
|
|
177
|
+
{
|
|
178
|
+
icon: "magnet",
|
|
179
|
+
t: "Trang thu lead",
|
|
180
|
+
e: '"Trang waitlist cho SaaS — hero, 3 lợi ích, form thu email."',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
icon: "cart",
|
|
184
|
+
t: "Bán hàng COD / online",
|
|
185
|
+
e: '"Trang một sản phẩm — gallery, giá, biến thể, form đặt hàng có giỏ."',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
icon: "ticket",
|
|
189
|
+
t: "Sự kiện / webinar",
|
|
190
|
+
e: '"Trang đăng ký — đếm ngược, agenda, form đăng ký."',
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
icon: "mail",
|
|
194
|
+
t: "Thiệp mời",
|
|
195
|
+
e: '"Thiệp cưới — tên, ngày, bản đồ, form RSVP."',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
icon: "phone",
|
|
199
|
+
t: "Quảng bá app",
|
|
200
|
+
e: '"Mockup điện thoại, danh sách tính năng, nút App Store + Google Play."',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
icon: "flame",
|
|
204
|
+
t: "Flash sale",
|
|
205
|
+
e: '"Đồng hồ đếm ngược to, lưới sản phẩm giảm giá, nút Mua dính."',
|
|
206
|
+
},
|
|
183
207
|
],
|
|
184
208
|
connectH2: "Kết nối — chọn 1 trong 2 cách",
|
|
185
209
|
m1Tag: "Cách ① · npx — chạy trên máy bạn",
|
|
@@ -196,15 +220,24 @@ const T = {
|
|
|
196
220
|
m2Steps: [
|
|
197
221
|
'<b>Lấy link cá nhân</b> (đã gắn sẵn token) — mở trang sau rồi bấm <b>Copy</b>:<a class="btn" href="{REMOTE}">Mở {REMOTE_HOST} {ARROW}</a>',
|
|
198
222
|
'<b>Mở phần thêm connector</b> trong client:<br>• claude.ai: <i>Settings → Connectors → Add custom connector</i><br>• Cursor / Claude Code: mở file <code class="inl">.mcp.json</code>',
|
|
199
|
-
|
|
223
|
+
"<b>Dán link</b> vừa copy (có dạng):<pre>{ENDPOINT}?jwt=<TOKEN></pre>",
|
|
200
224
|
"<b>Bấm Add</b> (hoặc lưu file) → đợi kết nối → xong. Icon Webcake xanh hiện lên là chạy được.",
|
|
201
225
|
],
|
|
202
226
|
m2Note: "⚠️ Link chứa token cá nhân — coi như mật khẩu, đừng chia sẻ, luôn dùng HTTPS.",
|
|
203
227
|
afterH2: "Sau khi kết nối, bạn nói được",
|
|
204
228
|
examples: [
|
|
205
|
-
{
|
|
206
|
-
|
|
207
|
-
|
|
229
|
+
{
|
|
230
|
+
icon: "wand",
|
|
231
|
+
t: '"Dựng landing bán khoá học, tông xanh, có form đăng ký + nút Zalo."',
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
icon: "edit",
|
|
235
|
+
t: "\"Mở trang <i>sale-hè</i>, đổi tiêu đề thành 'Giảm 50%', nút sang màu đỏ.\"",
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
icon: "clock",
|
|
239
|
+
t: '"Thêm section đếm ngược + 3 testimonial vào cuối trang."',
|
|
240
|
+
},
|
|
208
241
|
],
|
|
209
242
|
newH2: "Có gì mới",
|
|
210
243
|
newBadge: "MỚI",
|
|
@@ -227,7 +260,7 @@ const T = {
|
|
|
227
260
|
flowH2: "How it flows",
|
|
228
261
|
flow: [
|
|
229
262
|
{ icon: "bulb", t: "You", s: "your idea" },
|
|
230
|
-
{ icon: "brain", t: "AI assistant", s: "Claude · Cursor" },
|
|
263
|
+
{ icon: "brain", t: "AI assistant", s: "Claude · Codex · Cursor,etc..." },
|
|
231
264
|
{ icon: "server", t: "MCP", s: "webcake-landing" },
|
|
232
265
|
{ icon: "window", t: "WebCake", s: "a real page" },
|
|
233
266
|
],
|
|
@@ -237,7 +270,7 @@ const T = {
|
|
|
237
270
|
{
|
|
238
271
|
icon: "brain",
|
|
239
272
|
t: "AI learns the real model",
|
|
240
|
-
d:
|
|
273
|
+
d: "Webcake's element catalog, <code class=\"inl\">specials</code>, coordinate system and events — pulled straight from this server's tools.",
|
|
241
274
|
},
|
|
242
275
|
{
|
|
243
276
|
icon: "check2",
|
|
@@ -252,12 +285,36 @@ const T = {
|
|
|
252
285
|
],
|
|
253
286
|
buildH2: "What you can build",
|
|
254
287
|
uses: [
|
|
255
|
-
{
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
{
|
|
288
|
+
{
|
|
289
|
+
icon: "magnet",
|
|
290
|
+
t: "Lead-gen page",
|
|
291
|
+
e: '"A SaaS waitlist — hero, 3 benefits, an email-capture form."',
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
icon: "cart",
|
|
295
|
+
t: "COD / online store",
|
|
296
|
+
e: '"A one-product page — gallery, price, variations, an order form with cart."',
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
icon: "ticket",
|
|
300
|
+
t: "Event / webinar",
|
|
301
|
+
e: '"A registration page — countdown, agenda, sign-up form."',
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
icon: "mail",
|
|
305
|
+
t: "Invitation",
|
|
306
|
+
e: '"A wedding invite — names, date, a map, an RSVP form."',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
icon: "phone",
|
|
310
|
+
t: "App promo",
|
|
311
|
+
e: '"Phone mockups, feature list, App Store + Google Play buttons."',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
icon: "flame",
|
|
315
|
+
t: "Flash sale",
|
|
316
|
+
e: '"A big countdown, a discounted product grid, a sticky Buy button."',
|
|
317
|
+
},
|
|
261
318
|
],
|
|
262
319
|
connectH2: "Connect — pick one of two ways",
|
|
263
320
|
m1Tag: "Way ① · npx — runs on your machine",
|
|
@@ -274,15 +331,24 @@ const T = {
|
|
|
274
331
|
m2Steps: [
|
|
275
332
|
'<b>Get your personal link</b> (token baked in) — open the page below and hit <b>Copy</b>:<a class="btn" href="{REMOTE}">Open {REMOTE_HOST} {ARROW}</a>',
|
|
276
333
|
'<b>Open the add-connector area</b> in your client:<br>• claude.ai: <i>Settings → Connectors → Add custom connector</i><br>• Cursor / Claude Code: open <code class="inl">.mcp.json</code>',
|
|
277
|
-
|
|
334
|
+
"<b>Paste the link</b> you copied (looks like):<pre>{ENDPOINT}?jwt=<TOKEN></pre>",
|
|
278
335
|
"<b>Hit Add</b> (or save the file) → wait for it to connect → done. A green Webcake icon means it's live.",
|
|
279
336
|
],
|
|
280
337
|
m2Note: "⚠️ The link carries your personal token — treat it like a password, never share it, always use HTTPS.",
|
|
281
338
|
afterH2: "Once connected, you can say",
|
|
282
339
|
examples: [
|
|
283
|
-
{
|
|
284
|
-
|
|
285
|
-
|
|
340
|
+
{
|
|
341
|
+
icon: "wand",
|
|
342
|
+
t: '"Build a landing page to sell a course, green theme, a sign-up form + a Zalo button."',
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
icon: "edit",
|
|
346
|
+
t: "\"Open the <i>summer-sale</i> page, change the headline to 'Save 50%', make the button red.\"",
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
icon: "clock",
|
|
350
|
+
t: '"Add a countdown section + 3 testimonials to the bottom of the page."',
|
|
351
|
+
},
|
|
286
352
|
],
|
|
287
353
|
newH2: "What's new",
|
|
288
354
|
newBadge: "NEW",
|
|
@@ -319,7 +385,7 @@ const CL_TYPE_VI = {
|
|
|
319
385
|
function clTag(type, lang) {
|
|
320
386
|
if (!type)
|
|
321
387
|
return "";
|
|
322
|
-
const label = lang === "vi" ? CL_TYPE_VI[type] ?? "" : type;
|
|
388
|
+
const label = lang === "vi" ? (CL_TYPE_VI[type] ?? "") : type;
|
|
323
389
|
return label ? ` <span class="cl-tag">${label}</span>` : "";
|
|
324
390
|
}
|
|
325
391
|
function steps(items) {
|
|
@@ -354,11 +420,20 @@ export function guideHtml(origin, lang = "vi") {
|
|
|
354
420
|
url: canonical,
|
|
355
421
|
image: ogImage,
|
|
356
422
|
offers: { "@type": "Offer", price: "0", priceCurrency: "USD" },
|
|
357
|
-
author: {
|
|
423
|
+
author: {
|
|
424
|
+
"@type": "Organization",
|
|
425
|
+
name: "Webcake",
|
|
426
|
+
url: "https://webcake.io",
|
|
427
|
+
},
|
|
358
428
|
softwareHelp: DOCS_URL,
|
|
359
429
|
installUrl: NPM_URL,
|
|
360
430
|
},
|
|
361
|
-
{
|
|
431
|
+
{
|
|
432
|
+
"@type": "WebSite",
|
|
433
|
+
name: "Webcake Landing MCP",
|
|
434
|
+
url: `${origin}/`,
|
|
435
|
+
inLanguage: L,
|
|
436
|
+
},
|
|
362
437
|
{
|
|
363
438
|
"@type": "FAQPage",
|
|
364
439
|
mainEntity: faq.map((f) => ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webcake-landing-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
4
4
|
"description": "MCP server exposing Webcake landing-page element schemas + AI usage hints, and persisting LLM-generated page sources to a Webcake backend.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|