perkakasku-mcp-server 1.0.1 → 1.0.2

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
@@ -15,11 +15,13 @@ This is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) serve
15
15
  ## Setup
16
16
 
17
17
  ### 1. Install Dependencies
18
+
18
19
  ```bash
19
20
  npm install
20
21
  ```
21
22
 
22
23
  ### 2. Configure Environment
24
+
23
25
  Create a `.env` file in this directory or set the following environment variables:
24
26
 
25
27
  ```env
@@ -28,6 +30,7 @@ PERKAKASKU_API_TOKEN=your_bearer_token_here
28
30
  ```
29
31
 
30
32
  ### 3. Build the Server
33
+
31
34
  ```bash
32
35
  npm run build
33
36
  ```
@@ -35,6 +38,7 @@ npm run build
35
38
  ## Adding to Claude Desktop
36
39
 
37
40
  ### Option A: Using npx (Easiest for Users)
41
+
38
42
  Add this to your `claude_desktop_config.json`:
39
43
 
40
44
  ```json
@@ -53,6 +57,7 @@ Add this to your `claude_desktop_config.json`:
53
57
  ```
54
58
 
55
59
  ### Option B: Local Setup (For Developers)
60
+
56
61
  ```json
57
62
  {
58
63
  "mcpServers": {
@@ -71,6 +76,35 @@ Add this to your `claude_desktop_config.json`:
71
76
  ## Development
72
77
 
73
78
  To run with `ts-node`:
79
+
74
80
  ```bash
75
81
  npm run dev
76
82
  ```
83
+
84
+ ## Smoke Tests
85
+
86
+ Run end-to-end MCP smoke tests against `api/v1/cli` (through MCP stdio transport):
87
+
88
+ ```bash
89
+ npm run test:smoke:build
90
+ ```
91
+
92
+ Required environment:
93
+
94
+ ```env
95
+ PERKAKASKU_API_URL=https://www.perkakasku.com/api/v1/cli
96
+ PERKAKASKU_API_TOKEN=your_bearer_token_here
97
+ ```
98
+
99
+ Optional smoke fixtures (override defaults when needed):
100
+
101
+ ```env
102
+ SMOKE_QUERY=bosch
103
+ SMOKE_PRODUCT_ID=TN677
104
+ SMOKE_CITY_ID=419
105
+ SMOKE_COURIER_ID=JNE
106
+ SMOKE_RFQ_EMAIL=smoke-test@perkakasku.com
107
+ SMOKE_RFQ_NAMA=MCP Smoke Test
108
+ SMOKE_RFQ_TELP=081234567890
109
+ SMOKE_RFQ_KEBUTUHAN=Automated MCP smoke test request. Ignore this submission.
110
+ ```
package/build/index.js CHANGED
@@ -7,12 +7,13 @@ import dotenv from "dotenv";
7
7
  dotenv.config();
8
8
  const API_URL = process.env.PERKAKASKU_API_URL || "https://www.perkakasku.com/api/v1/cli";
9
9
  const API_TOKEN = process.env.PERKAKASKU_API_TOKEN;
10
+ const SERVER_VERSION = "1.0.2";
10
11
  if (!API_TOKEN) {
11
- console.error("Warning: PERKAKASKU_API_TOKEN is not set.");
12
+ console.error("Warning: PERKAKASKU_API_TOKEN is not set. Tool calls will fail until this is configured.");
12
13
  }
13
14
  const server = new Server({
14
15
  name: "perkakasku-mcp-server",
15
- version: "1.0.0",
16
+ version: SERVER_VERSION,
16
17
  }, {
17
18
  capabilities: {
18
19
  tools: {},
@@ -20,11 +21,14 @@ const server = new Server({
20
21
  });
21
22
  const apiClient = axios.create({
22
23
  baseURL: API_URL,
24
+ timeout: 15000,
23
25
  headers: {
24
26
  "Content-Type": "application/json",
25
- Authorization: `Bearer ${API_TOKEN}`,
26
27
  },
27
28
  });
29
+ if (API_TOKEN) {
30
+ apiClient.defaults.headers.common.Authorization = `Bearer ${API_TOKEN}`;
31
+ }
28
32
  server.setRequestHandler(ListToolsRequestSchema, async () => {
29
33
  return {
30
34
  tools: [
@@ -34,8 +38,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
34
38
  inputSchema: {
35
39
  type: "object",
36
40
  properties: {
37
- query: { type: "string", description: "Search query (e.g., 'bosch bor')" },
38
- page: { type: "number", description: "Page number (optional, default 1)" },
41
+ query: {
42
+ type: "string",
43
+ description: "Search query (e.g., 'bosch bor')",
44
+ },
45
+ page: {
46
+ type: "number",
47
+ description: "Page number (optional, default 1)",
48
+ },
39
49
  },
40
50
  required: ["query"],
41
51
  },
@@ -100,7 +110,10 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
100
110
  type: "object",
101
111
  properties: {
102
112
  city_id: { type: "number", description: "Destination city ID" },
103
- courier_id: { type: "string", description: "Courier ID (e.g., 'JNE', 'LLL')" },
113
+ courier_id: {
114
+ type: "string",
115
+ description: "Courier ID (e.g., 'JNE', 'LLL')",
116
+ },
104
117
  },
105
118
  required: ["city_id", "courier_id"],
106
119
  },
@@ -114,7 +127,10 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
114
127
  email: { type: "string" },
115
128
  nama: { type: "string" },
116
129
  telepon: { type: "string" },
117
- kebutuhan: { type: "string", description: "Detailed description of needs" },
130
+ kebutuhan: {
131
+ type: "string",
132
+ description: "Detailed description of needs",
133
+ },
118
134
  },
119
135
  required: ["email", "nama", "telepon", "kebutuhan"],
120
136
  },
@@ -127,51 +143,175 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
127
143
  properties: {},
128
144
  },
129
145
  },
146
+ {
147
+ name: "get_orders",
148
+ description: "List the 20 most recent orders for the logged-in user, or get full detail for a specific order by invoice number.",
149
+ inputSchema: {
150
+ type: "object",
151
+ properties: {
152
+ noinv: {
153
+ type: "string",
154
+ description: "Invoice number (e.g. 'INV2503001'). Omit to list recent orders.",
155
+ },
156
+ status: {
157
+ type: "string",
158
+ description: "Filter by status code. O=Waiting confirmation, B=Waiting payment, C=Customer confirmed, P=In process, S=Partial delivery, K=Delivered, D=Received, T=Cancelled.",
159
+ },
160
+ },
161
+ },
162
+ },
163
+ {
164
+ name: "generate_quotation",
165
+ description: "Generate a formal B2B quotation (Surat Penawaran) from the current cart. Valid for 7 days.",
166
+ inputSchema: {
167
+ type: "object",
168
+ properties: {
169
+ kota_id: { type: "number", description: "Destination city ID" },
170
+ courier_id: {
171
+ type: "string",
172
+ description: "Courier ID (e.g. 'JNE', 'LLL' for pickup)",
173
+ },
174
+ },
175
+ required: ["kota_id", "courier_id"],
176
+ },
177
+ },
178
+ {
179
+ name: "login",
180
+ description: "Authenticate with Perkakasku using email and password. Returns a session token and merges anonymous cart into the account.",
181
+ inputSchema: {
182
+ type: "object",
183
+ properties: {
184
+ email: { type: "string", description: "User email address" },
185
+ password: { type: "string", description: "User account password" },
186
+ },
187
+ required: ["email", "password"],
188
+ },
189
+ },
130
190
  ],
131
191
  };
132
192
  });
133
193
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
134
194
  const { name, arguments: args } = request.params;
135
195
  try {
196
+ if (!API_TOKEN) {
197
+ throw new Error("PERKAKASKU_API_TOKEN is required to call Perkakasku CLI API.");
198
+ }
136
199
  switch (name) {
137
200
  case "search_products": {
138
201
  const query = args?.query;
139
202
  const page = args?.page || 1;
140
203
  const response = await apiClient.get(`/search.php?q=${encodeURIComponent(query)}&page=${page}`);
141
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
204
+ return {
205
+ content: [
206
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
207
+ ],
208
+ };
142
209
  }
143
210
  case "get_product_details": {
144
211
  const id = args?.id;
145
212
  const response = await apiClient.get(`/product.php?id=${encodeURIComponent(id)}`);
146
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
213
+ return {
214
+ content: [
215
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
216
+ ],
217
+ };
147
218
  }
148
219
  case "get_cart": {
149
220
  const response = await apiClient.get("/cart/index.php");
150
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
221
+ return {
222
+ content: [
223
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
224
+ ],
225
+ };
151
226
  }
152
227
  case "add_to_cart": {
153
228
  const response = await apiClient.post("/cart/add.php", args);
154
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
229
+ return {
230
+ content: [
231
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
232
+ ],
233
+ };
155
234
  }
156
235
  case "remove_from_cart": {
157
236
  const response = await apiClient.post("/cart/remove.php", args);
158
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
237
+ return {
238
+ content: [
239
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
240
+ ],
241
+ };
159
242
  }
160
243
  case "shipping_estimate": {
161
244
  const response = await apiClient.post("/shipping/estimate.php", args);
162
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
245
+ return {
246
+ content: [
247
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
248
+ ],
249
+ };
163
250
  }
164
251
  case "create_checkout": {
165
252
  const response = await apiClient.post("/checkout/generate.php", args);
166
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
253
+ return {
254
+ content: [
255
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
256
+ ],
257
+ };
167
258
  }
168
259
  case "submit_simple_rfq": {
169
260
  const response = await apiClient.post("/rfq/submit.php", args);
170
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
261
+ return {
262
+ content: [
263
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
264
+ ],
265
+ };
171
266
  }
172
267
  case "get_user_profile": {
173
268
  const response = await apiClient.get("/profile.php");
174
- return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
269
+ return {
270
+ content: [
271
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
272
+ ],
273
+ };
274
+ }
275
+ case "get_orders": {
276
+ const noinv = args?.noinv;
277
+ const status = args?.status;
278
+ if (noinv) {
279
+ const response = await apiClient.get(`/orders.php?noinv=${encodeURIComponent(noinv)}`);
280
+ return {
281
+ content: [
282
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
283
+ ],
284
+ };
285
+ }
286
+ const qs = status ? `?status=${encodeURIComponent(status)}` : "";
287
+ const response = await apiClient.get(`/orders.php${qs}`);
288
+ return {
289
+ content: [
290
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
291
+ ],
292
+ };
293
+ }
294
+ case "generate_quotation": {
295
+ const response = await apiClient.post("/quotation/generate.php", {
296
+ kota_id: args?.kota_id,
297
+ courier_id: args?.courier_id,
298
+ });
299
+ return {
300
+ content: [
301
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
302
+ ],
303
+ };
304
+ }
305
+ case "login": {
306
+ const response = await apiClient.post("/login.php", {
307
+ email: args?.email,
308
+ password: args?.password,
309
+ });
310
+ return {
311
+ content: [
312
+ { type: "text", text: JSON.stringify(response.data, null, 2) },
313
+ ],
314
+ };
175
315
  }
176
316
  default:
177
317
  throw new Error(`Tool not found: ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uCAAuC,CAAC;AAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACnD,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CACX,0FAA0F,CAC3F,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,cAAc;CACxB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AAEH,IAAI,SAAS,EAAE,CAAC;IACd,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,UAAU,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,wEAAwE;gBAC1E,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kCAAkC;yBAChD;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mCAAmC;yBACjD;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,+EAA+E;gBACjF,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;qBACpE;oBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;iBACjB;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,8CAA8C;gBAC3D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,qCAAqC;gBAClD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;wBAC3D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;qBACxD;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;iBAChC;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,0CAA0C;gBACvD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;qBAC5D;oBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;iBACzB;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,oDAAoD;gBACjE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;qBAChE;oBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACtB;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,8CAA8C;gBAC3D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;wBAC/D,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iCAAiC;yBAC/C;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;iBACpC;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,8CAA8C;gBAC3D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;iBACpD;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,2CAA2C;gBACxD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EACT,mHAAmH;gBACrH,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,iEAAiE;yBACpE;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,iKAAiK;yBACpK;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,4FAA4F;gBAC9F,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;wBAC/D,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,2CAA2C;yBACzD;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;iBACpC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,4HAA4H;gBAC9H,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;wBAC5D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;qBACnE;oBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;iBAChC;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;gBACpC,MAAM,IAAI,GAAI,IAAI,EAAE,IAAe,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAC1D,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,GAAG,IAAI,EAAE,EAAY,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,mBAAmB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAC5C,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAChE,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;gBACtE,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;gBACtE,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBAC/D,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;gBAChD,MAAM,MAAM,GAAG,IAAI,EAAE,MAA4B,CAAC;gBAClD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,qBAAqB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACjD,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC/D;qBACF,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACzD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE;oBAC/D,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,UAAU,EAAE,IAAI,EAAE,UAAU;iBAC7B,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE;oBAClD,KAAK,EAAE,IAAI,EAAE,KAAK;oBAClB,QAAQ,EAAE,IAAI,EAAE,QAAQ;iBACzB,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC/D;iBACF,CAAC;YACJ,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI;YACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "perkakasku-mcp-server",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Model Context Protocol (MCP) server for Perkakasku e-commerce platform.",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
@@ -13,7 +13,9 @@
13
13
  "scripts": {
14
14
  "build": "tsc",
15
15
  "start": "node build/index.js",
16
- "dev": "ts-node src/index.ts"
16
+ "dev": "ts-node src/index.ts",
17
+ "test:smoke": "node scripts/smoke-test.mjs",
18
+ "test:smoke:build": "npm run build && npm run test:smoke"
17
19
  },
18
20
  "keywords": [],
19
21
  "author": "",