gearvn-pages-mcp-server 1.1.1 → 1.2.0
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/README.md
CHANGED
|
@@ -69,21 +69,32 @@ MCP (Model Context Protocol) Server cho việc deploy và quản lý các trang
|
|
|
69
69
|
Deploy hoặc update một trang HTML tĩnh.
|
|
70
70
|
|
|
71
71
|
**Parameters:**
|
|
72
|
-
- `title` (string): Tiêu đề của trang - **AI Agent tự động generate
|
|
72
|
+
- `title` (string): Tiêu đề của trang - **AI Agent tự động generate**
|
|
73
73
|
- `content` (string): HTML document đầy đủ với TailwindCSS CDN. JavaScript libraries được phép qua CDN (Alpine.js, Chart.js, GSAP, etc.)
|
|
74
|
-
- `slug` (string): URL slug - **AI Agent tự động generate
|
|
74
|
+
- `slug` (string): URL slug - **AI Agent tự động generate hoặc dùng slug có sẵn**
|
|
75
75
|
|
|
76
|
-
**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
**Workflow:**
|
|
77
|
+
|
|
78
|
+
**TẠO TRANG MỚI:**
|
|
79
|
+
1. User: "Tạo website quản lý thu chi"
|
|
80
|
+
2. AI generate slug đơn giản: `"quan-ly-thu-chi"`
|
|
81
|
+
3. AI gọi deploy-page với slug: `"quan-ly-thu-chi"`
|
|
82
|
+
4. Backend thêm timestamp: `"quan-ly-thu-chi-1730229600"`
|
|
83
|
+
5. URL: `https://pages.react.uat.gearvn.xyz/pages/quan-ly-thu-chi-1730229600`
|
|
84
|
+
|
|
85
|
+
**UPDATE TRANG CŨ:**
|
|
86
|
+
1. User: "Sửa trang quản lý thu chi, thêm tính năng X"
|
|
87
|
+
2. AI gọi `list-pages` → tìm thấy slug: `"quan-ly-thu-chi-1730229600"`
|
|
88
|
+
3. AI gọi `deploy-page` với slug đầy đủ: `"quan-ly-thu-chi-1730229600"`
|
|
89
|
+
4. Backend update trang cũ (không tạo mới)
|
|
90
|
+
5. URL giữ nguyên: `https://pages.react.uat.gearvn.xyz/pages/quan-ly-thu-chi-1730229600`
|
|
80
91
|
|
|
81
92
|
**Response:**
|
|
82
93
|
```json
|
|
83
94
|
{
|
|
84
95
|
"success": true,
|
|
85
96
|
"message": "Page deployed successfully",
|
|
86
|
-
"url": "https://pages.react.uat.gearvn.xyz/pages/
|
|
97
|
+
"url": "https://pages.react.uat.gearvn.xyz/pages/quan-ly-thu-chi-1730229600"
|
|
87
98
|
}
|
|
88
99
|
```
|
|
89
100
|
|
|
@@ -172,13 +183,27 @@ Sử dụng gearvn-pages để: Tạo portfolio website cho developer với:
|
|
|
172
183
|
- Thêm Alpine.js CDN cho dark mode
|
|
173
184
|
- Deploy và trả về URL
|
|
174
185
|
|
|
175
|
-
### Liệt kê các pages đã tạo
|
|
186
|
+
### Ví dụ 4: Liệt kê các pages đã tạo
|
|
176
187
|
|
|
177
188
|
```
|
|
178
189
|
Sử dụng gearvn-pages để: Liệt kê tất cả các trang web mà tôi đã deploy
|
|
179
190
|
```
|
|
180
191
|
|
|
181
|
-
Claude sẽ hiển thị danh sách pages với title, slug và thời gian tạo/cập nhật.
|
|
192
|
+
Claude sẽ hiển thị danh sách pages với title, slug (có timestamp) và thời gian tạo/cập nhật.
|
|
193
|
+
|
|
194
|
+
### Ví dụ 5: Update trang đã tồn tại
|
|
195
|
+
|
|
196
|
+
**Prompt của user:**
|
|
197
|
+
```
|
|
198
|
+
Sử dụng gearvn-pages để: Sửa trang quản lý thu chi của tôi, thêm tính năng filter theo tháng
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**AI Agent sẽ tự động:**
|
|
202
|
+
1. ✅ Gọi `list-pages` để tìm trang quản lý thu chi
|
|
203
|
+
2. ✅ Lấy slug đầy đủ có timestamp: `"quan-ly-thu-chi-ca-nhan-1730229600"`
|
|
204
|
+
3. ✅ Gọi `deploy-page` với slug đầy đủ đó
|
|
205
|
+
4. ✅ Backend update trang cũ (không tạo trang mới)
|
|
206
|
+
5. ✅ URL giữ nguyên: `https://pages.react.uat.gearvn.xyz/pages/quan-ly-thu-chi-ca-nhan-1730229600`
|
|
182
207
|
|
|
183
208
|
## Technical Requirements
|
|
184
209
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-page.d.ts","sourceRoot":"","sources":["../../src/tools/deploy-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy-page.d.ts","sourceRoot":"","sources":["../../src/tools/deploy-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,gBAAgB,EAAE,IA4B9B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,OAAO;;;;;GAiCnD"}
|
|
@@ -15,7 +15,10 @@ export const DEPLOY_PAGE_TOOL = {
|
|
|
15
15
|
},
|
|
16
16
|
slug: {
|
|
17
17
|
type: "string",
|
|
18
|
-
description: "The URL slug for the page.
|
|
18
|
+
description: "The URL slug for the page. IMPORTANT BEHAVIOR: " +
|
|
19
|
+
"FOR NEW PAGES: Generate a simple kebab-case slug (e.g., 'quan-ly-thu-chi', 'landing-page'). The backend will automatically append a timestamp (e.g., 'quan-ly-thu-chi-1730229600') to prevent duplicates. " +
|
|
20
|
+
"FOR UPDATING EXISTING PAGES: Use the EXACT full slug including timestamp (e.g., 'quan-ly-thu-chi-1730229600') from the list-pages response. " +
|
|
21
|
+
"If the exact slug exists for this API key, the page will be updated. Otherwise, a new page with a new timestamp will be created.",
|
|
19
22
|
},
|
|
20
23
|
},
|
|
21
24
|
required: ["title", "content", "slug"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-page.js","sourceRoot":"","sources":["../../src/tools/deploy-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,6sBAA6sB;IAC/sB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6FAA6F;aAChG;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8pBAA8pB;aACjqB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"deploy-page.js","sourceRoot":"","sources":["../../src/tools/deploy-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,6sBAA6sB;IAC/sB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6FAA6F;aAChG;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8pBAA8pB;aACjqB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,iDAAiD;oBACjD,4MAA4M;oBAC5M,8IAA8I;oBAC9I,kIAAkI;aACrI;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAa;IAClD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAsB,CAAC;IAExD,kBAAkB;IAClB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqB,YAAY,EAAE,MAAM,EAAE;QACvE,KAAK;QACL,OAAO;QACP,IAAI;KACL,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,4BAA4B;oBACrC,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAClB,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
package/src/tools/deploy-page.ts
CHANGED
|
@@ -22,7 +22,10 @@ export const DEPLOY_PAGE_TOOL: Tool = {
|
|
|
22
22
|
slug: {
|
|
23
23
|
type: "string",
|
|
24
24
|
description:
|
|
25
|
-
"The URL slug for the page.
|
|
25
|
+
"The URL slug for the page. IMPORTANT BEHAVIOR: " +
|
|
26
|
+
"FOR NEW PAGES: Generate a simple kebab-case slug (e.g., 'quan-ly-thu-chi', 'landing-page'). The backend will automatically append a timestamp (e.g., 'quan-ly-thu-chi-1730229600') to prevent duplicates. " +
|
|
27
|
+
"FOR UPDATING EXISTING PAGES: Use the EXACT full slug including timestamp (e.g., 'quan-ly-thu-chi-1730229600') from the list-pages response. " +
|
|
28
|
+
"If the exact slug exists for this API key, the page will be updated. Otherwise, a new page with a new timestamp will be created.",
|
|
26
29
|
},
|
|
27
30
|
},
|
|
28
31
|
required: ["title", "content", "slug"],
|