@cloudizero/mcp 0.1.1 → 0.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
@@ -1,8 +1,8 @@
1
1
  # @cloudizero/mcp
2
2
 
3
- Official Model Context Protocol (MCP) server for **[Cloudizero](https://cloudizero.wismannur.pro)** — High-Performance Zero-Egress Digital Asset Management & Media Delivery Platform.
3
+ Official Model Context Protocol (MCP) server for **[Cloudizero](https://www.cloudizero.com)** — High-Performance Zero-Egress Digital Asset Management & Media Delivery Platform.
4
4
 
5
- Connect your AI coding assistants (Claude Desktop, Cursor, Antigravity, Windsurf, Roo Code, etc.) directly to your Cloudizero workspace to automate media uploads, manage folders, organize assets, and integrate zero-egress CDN URLs into your apps.
5
+ Connect your AI coding assistants (Claude Desktop, Cursor, Antigravity, Windsurf, Roo Code, etc.) directly to your Cloudizero account and projects to automate media uploads, manage folders, organize assets, and integrate zero-egress CDN URLs into your apps.
6
6
 
7
7
  ---
8
8
 
@@ -19,8 +19,8 @@ npx @cloudizero/mcp
19
19
  | Variable | Required | Description | Default |
20
20
  | :--- | :--- | :--- | :--- |
21
21
  | `CLOUDIZERO_API_KEY` | **Yes** | Your API Key (`cz_live_...`) generated from Cloudizero Dashboard | — |
22
- | `CLOUDIZERO_BASE_URL` | No | Base URL of your Cloudizero instance | `https://api-cloudizero.wismannur.pro` |
23
- | `CLOUDIZERO_CDN_URL` | No | Public CDN distribution URL for assets | `https://cdn-cloudizero.wismannur.pro` |
22
+ | `CLOUDIZERO_BASE_URL` | No | Base URL of your Cloudizero instance | `https://api.cloudizero.com` |
23
+ | `CLOUDIZERO_CDN_URL` | No | Public CDN distribution URL for assets | `https://cdn.cloudizero.com` |
24
24
 
25
25
  ---
26
26
 
@@ -89,12 +89,12 @@ Add to your `mcp.json` or config:
89
89
  | Tool | Description | Key Parameters |
90
90
  | :--- | :--- | :--- |
91
91
  | `cloudizero_list_projects` | Lists all projects accessible by your API key | — |
92
- | `cloudizero_create_project` | Creates a new project *(requires Full Workspace Access key)* | `name`, `description` |
92
+ | `cloudizero_create_project` | Creates a new project *(requires All Projects / Global Access key)* | `name`, `description` |
93
93
  | `cloudizero_list_contents` | Explores folders and files within a project | `projectId`, `folderId` (optional) |
94
94
  | `cloudizero_create_folder` | Creates virtual folders for asset categorization | `projectId`, `name`, `parentId` |
95
- | `cloudizero_upload_local_file`| Uploads a file from your local machine to Cloudflare R2 | `filePath`, `projectId`, `folderId`, `fileName` |
95
+ | `cloudizero_upload_local_file`| Uploads a file from your local machine to Cloudizero zero-egress storage | `filePath`, `projectId`, `folderId`, `fileName` |
96
96
  | `cloudizero_get_file` | Retrieves file metadata and presigned download URL | `fileId` |
97
- | `cloudizero_delete_file` | Permanently deletes a file from R2 and database | `fileId` |
97
+ | `cloudizero_delete_file` | Permanently deletes a file from Cloudizero storage and database | `fileId` |
98
98
 
99
99
  ---
100
100
 
@@ -102,8 +102,8 @@ Add to your `mcp.json` or config:
102
102
 
103
103
  When creating an API Key in **Cloudizero Dashboard > API Keys**:
104
104
 
105
- 1. **All Projects (Full Workspace Access)**:
106
- - Recommended for general agents and initial workspace setup.
105
+ 1. **All Projects (Global Access)**:
106
+ - Recommended for general agents and account-wide project setup.
107
107
  - Allows creating new projects and accessing all assets.
108
108
  2. **Select Specific Projects**:
109
109
  - Recommended for app-specific repos.
@@ -113,4 +113,4 @@ When creating an API Key in **Cloudizero Dashboard > API Keys**:
113
113
 
114
114
  ## 📄 License
115
115
 
116
- MIT © [Wisman Nur](https://wismannur.pro)
116
+ MIT © [Cloudizero](https://www.cloudizero.com)
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import path from "node:path";
10
10
  const client = new Cloudizero();
11
11
  const server = new McpServer({
12
12
  name: "cloudizero",
13
- version: "0.1.1",
13
+ version: "0.2.0",
14
14
  });
15
15
  // Helper for error formatting
16
16
  function formatError(error) {
@@ -19,6 +19,49 @@ function formatError(error) {
19
19
  }
20
20
  return String(error);
21
21
  }
22
+ // Blocklist of script, executable, and dangerous file extensions
23
+ const BLOCKED_EXTENSIONS = new Set([
24
+ "exe", "dll", "so", "dylib", "bin", "com", "bat", "cmd", "scr", "vbs",
25
+ "ps1", "apk", "app", "dmg", "pkg", "iso", "msi",
26
+ "sh", "bash", "zsh", "fish",
27
+ "py", "pyc", "js", "mjs", "cjs", "ts", "tsx", "jsx", "php", "phtml", "cgi", "pl", "rb", "lua", "go", "rs", "c", "cpp", "java", "class", "jar",
28
+ "html", "htm", "xhtml", "jsp", "asp", "aspx",
29
+ "env", "pem", "key", "crt", "sql", "db", "sqlite"
30
+ ]);
31
+ function isProhibitedScriptOrExecutable(fileName) {
32
+ const parts = fileName.toLowerCase().split(".");
33
+ if (parts.length < 2)
34
+ return false;
35
+ for (let i = 1; i < parts.length; i++) {
36
+ if (BLOCKED_EXTENSIONS.has(parts[i])) {
37
+ return true;
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+ // Helper to infer MIME type from file extension
43
+ function inferMimeType(fileName, mimeType) {
44
+ if (mimeType)
45
+ return mimeType;
46
+ const ext = path.extname(fileName).toLowerCase();
47
+ const mimeMap = {
48
+ ".png": "image/png",
49
+ ".jpg": "image/jpeg",
50
+ ".jpeg": "image/jpeg",
51
+ ".webp": "image/webp",
52
+ ".svg": "image/svg+xml",
53
+ ".gif": "image/gif",
54
+ ".pdf": "application/pdf",
55
+ ".txt": "text/plain",
56
+ ".mp4": "video/mp4",
57
+ ".webm": "video/webm",
58
+ ".zip": "application/zip",
59
+ };
60
+ return mimeMap[ext] || "application/octet-stream";
61
+ }
62
+ // =============================================================
63
+ // PROJECT TOOLS
64
+ // =============================================================
22
65
  // -------------------------------------------------------------
23
66
  // TOOL: cloudizero_list_projects
24
67
  // -------------------------------------------------------------
@@ -49,7 +92,7 @@ server.tool("cloudizero_list_projects", "Lists all Cloudizero projects accessibl
49
92
  // -------------------------------------------------------------
50
93
  // TOOL: cloudizero_create_project
51
94
  // -------------------------------------------------------------
52
- server.tool("cloudizero_create_project", "Creates a new project in Cloudizero. Requires an API key with Full Workspace Access.", {
95
+ server.tool("cloudizero_create_project", "Creates a new project in Cloudizero. Requires an API key with All Projects (Global) Access.", {
53
96
  name: z.string().describe("Project name (e.g. 'e-commerce-assets')"),
54
97
  description: z
55
98
  .string()
@@ -80,14 +123,80 @@ server.tool("cloudizero_create_project", "Creates a new project in Cloudizero. R
80
123
  }
81
124
  });
82
125
  // -------------------------------------------------------------
126
+ // TOOL: cloudizero_update_project
127
+ // -------------------------------------------------------------
128
+ server.tool("cloudizero_update_project", "Updates an existing Cloudizero project's name or description.", {
129
+ projectId: z.string().describe("Target Cloudizero project ID (e.g. 'prj_...')"),
130
+ name: z.string().optional().describe("New project display name"),
131
+ description: z
132
+ .string()
133
+ .optional()
134
+ .describe("New project description"),
135
+ }, async ({ projectId, name, description }) => {
136
+ try {
137
+ const project = await client.projects.update(projectId, { name, description });
138
+ return {
139
+ content: [
140
+ {
141
+ type: "text",
142
+ text: `Project updated successfully:\n${JSON.stringify(project, null, 2)}`,
143
+ },
144
+ ],
145
+ };
146
+ }
147
+ catch (error) {
148
+ return {
149
+ isError: true,
150
+ content: [
151
+ {
152
+ type: "text",
153
+ text: `Failed to update project: ${formatError(error)}`,
154
+ },
155
+ ],
156
+ };
157
+ }
158
+ });
159
+ // -------------------------------------------------------------
160
+ // TOOL: cloudizero_delete_project
161
+ // -------------------------------------------------------------
162
+ server.tool("cloudizero_delete_project", "Permanently deletes a Cloudizero project, including all its virtual folders and files in zero-egress storage.", {
163
+ projectId: z.string().describe("The ID of the project to permanently delete (e.g. 'prj_...')"),
164
+ }, async ({ projectId }) => {
165
+ try {
166
+ const result = await client.projects.delete(projectId);
167
+ return {
168
+ content: [
169
+ {
170
+ type: "text",
171
+ text: JSON.stringify(result, null, 2),
172
+ },
173
+ ],
174
+ };
175
+ }
176
+ catch (error) {
177
+ return {
178
+ isError: true,
179
+ content: [
180
+ {
181
+ type: "text",
182
+ text: `Failed to delete project: ${formatError(error)}`,
183
+ },
184
+ ],
185
+ };
186
+ }
187
+ });
188
+ // =============================================================
189
+ // STORAGE & FOLDER TOOLS
190
+ // =============================================================
191
+ // -------------------------------------------------------------
83
192
  // TOOL: cloudizero_list_contents
84
193
  // -------------------------------------------------------------
85
194
  server.tool("cloudizero_list_contents", "Lists folders and files inside a project or folder in Cloudizero.", {
86
- projectId: z.string().describe("Target Cloudizero project ID"),
195
+ projectId: z.string().describe("Target Cloudizero project ID (e.g. 'prj_...')"),
87
196
  folderId: z
88
197
  .string()
89
198
  .optional()
90
- .describe("Folder ID to explore. Leave empty or pass 'root' for project root directory."),
199
+ .describe("Folder ID to explore (e.g. 'fld_...'). Leave empty or pass 'root' for project root directory."),
91
200
  }, async ({ projectId, folderId }) => {
92
201
  try {
93
202
  const contents = await client.storage.listContents({
@@ -119,12 +228,12 @@ server.tool("cloudizero_list_contents", "Lists folders and files inside a projec
119
228
  // TOOL: cloudizero_create_folder
120
229
  // -------------------------------------------------------------
121
230
  server.tool("cloudizero_create_folder", "Creates a new virtual folder inside a project.", {
122
- projectId: z.string().describe("Target project ID"),
231
+ projectId: z.string().describe("Target project ID (e.g. 'prj_...')"),
123
232
  name: z.string().describe("Folder name (e.g. 'thumbnails', 'documents')"),
124
233
  parentId: z
125
234
  .string()
126
235
  .optional()
127
- .describe("Parent folder ID if creating a nested subfolder. Leave empty for root."),
236
+ .describe("Parent folder ID (e.g. 'fld_...') if creating a nested subfolder. Leave empty for root."),
128
237
  }, async ({ projectId, name, parentId }) => {
129
238
  try {
130
239
  const folder = await client.storage.createFolder({
@@ -154,10 +263,80 @@ server.tool("cloudizero_create_folder", "Creates a new virtual folder inside a p
154
263
  }
155
264
  });
156
265
  // -------------------------------------------------------------
266
+ // TOOL: cloudizero_update_folder
267
+ // -------------------------------------------------------------
268
+ server.tool("cloudizero_update_folder", "Renames or moves a virtual folder in Cloudizero. Automatically updates paths and storage keys for all nested files.", {
269
+ folderId: z.string().describe("The ID of the folder to update (e.g. 'fld_...')"),
270
+ name: z.string().optional().describe("New folder display name"),
271
+ parentId: z
272
+ .string()
273
+ .optional()
274
+ .describe("New parent folder ID (e.g. 'fld_...', pass 'root' or leave null to move to project root)"),
275
+ }, async ({ folderId, name, parentId }) => {
276
+ try {
277
+ const folder = await client.storage.updateFolder({
278
+ folderId,
279
+ name,
280
+ parentId: parentId || undefined,
281
+ });
282
+ return {
283
+ content: [
284
+ {
285
+ type: "text",
286
+ text: `Folder updated successfully:\n${JSON.stringify(folder, null, 2)}`,
287
+ },
288
+ ],
289
+ };
290
+ }
291
+ catch (error) {
292
+ return {
293
+ isError: true,
294
+ content: [
295
+ {
296
+ type: "text",
297
+ text: `Failed to update folder: ${formatError(error)}`,
298
+ },
299
+ ],
300
+ };
301
+ }
302
+ });
303
+ // -------------------------------------------------------------
304
+ // TOOL: cloudizero_delete_folder
305
+ // -------------------------------------------------------------
306
+ server.tool("cloudizero_delete_folder", "Permanently deletes a folder and recursively deletes all nested subfolders and files in Cloudizero.", {
307
+ folderId: z.string().describe("The ID of the folder to delete (e.g. 'fld_...')"),
308
+ }, async ({ folderId }) => {
309
+ try {
310
+ const result = await client.storage.deleteFolder(folderId);
311
+ return {
312
+ content: [
313
+ {
314
+ type: "text",
315
+ text: JSON.stringify(result, null, 2),
316
+ },
317
+ ],
318
+ };
319
+ }
320
+ catch (error) {
321
+ return {
322
+ isError: true,
323
+ content: [
324
+ {
325
+ type: "text",
326
+ text: `Failed to delete folder: ${formatError(error)}`,
327
+ },
328
+ ],
329
+ };
330
+ }
331
+ });
332
+ // =============================================================
333
+ // FILE CRUD & MUTATION TOOLS
334
+ // =============================================================
335
+ // -------------------------------------------------------------
157
336
  // TOOL: cloudizero_get_file
158
337
  // -------------------------------------------------------------
159
- server.tool("cloudizero_get_file", "Gets details and presigned download URL for a file in Cloudizero.", {
160
- fileId: z.string().describe("The ID of the file to retrieve"),
338
+ server.tool("cloudizero_get_file", "Gets details, metadata, and presigned download URL for a file in Cloudizero.", {
339
+ fileId: z.string().describe("The ID of the file to retrieve (e.g. 'fil_...')"),
161
340
  }, async ({ fileId }) => {
162
341
  try {
163
342
  const result = await client.storage.getFile(fileId);
@@ -185,15 +364,15 @@ server.tool("cloudizero_get_file", "Gets details and presigned download URL for
185
364
  // -------------------------------------------------------------
186
365
  // TOOL: cloudizero_upload_local_file
187
366
  // -------------------------------------------------------------
188
- server.tool("cloudizero_upload_local_file", "Uploads a file from the local filesystem directly to Cloudizero zero-egress storage (Cloudflare R2).", {
367
+ server.tool("cloudizero_upload_local_file", "Uploads a media or digital asset (images, videos, audios, documents, archives) from the local filesystem directly to Cloudizero DAM storage. Scripts and executables are prohibited.", {
189
368
  filePath: z
190
369
  .string()
191
370
  .describe("Absolute or relative path to the local file to upload"),
192
- projectId: z.string().describe("Target Cloudizero project ID"),
371
+ projectId: z.string().describe("Target Cloudizero project ID (e.g. 'prj_...')"),
193
372
  folderId: z
194
373
  .string()
195
374
  .optional()
196
- .describe("Optional target folder ID. Leave empty for project root."),
375
+ .describe("Optional target folder ID (e.g. 'fld_...'). Leave empty for project root."),
197
376
  fileName: z
198
377
  .string()
199
378
  .optional()
@@ -205,29 +384,20 @@ server.tool("cloudizero_upload_local_file", "Uploads a file from the local files
205
384
  }, async ({ filePath, projectId, folderId, fileName, mimeType }) => {
206
385
  try {
207
386
  const resolvedPath = path.resolve(filePath);
208
- const buffer = await fs.readFile(resolvedPath);
209
387
  const inferredName = fileName || path.basename(resolvedPath);
210
- // Guess basic mimeType if missing
211
- let resolvedMime = mimeType || "application/octet-stream";
212
- if (!mimeType) {
213
- const ext = path.extname(inferredName).toLowerCase();
214
- const mimeMap = {
215
- ".png": "image/png",
216
- ".jpg": "image/jpeg",
217
- ".jpeg": "image/jpeg",
218
- ".webp": "image/webp",
219
- ".svg": "image/svg+xml",
220
- ".gif": "image/gif",
221
- ".pdf": "application/pdf",
222
- ".json": "application/json",
223
- ".txt": "text/plain",
224
- ".mp4": "video/mp4",
225
- ".webm": "video/webm",
388
+ if (isProhibitedScriptOrExecutable(inferredName)) {
389
+ return {
390
+ isError: true,
391
+ content: [
392
+ {
393
+ type: "text",
394
+ text: `Upload rejected: '${inferredName}' is an executable or script. Cloudizero is a Digital Asset Management (DAM) platform and only accepts media and document assets.`,
395
+ },
396
+ ],
226
397
  };
227
- if (mimeMap[ext]) {
228
- resolvedMime = mimeMap[ext];
229
- }
230
398
  }
399
+ const buffer = await fs.readFile(resolvedPath);
400
+ const resolvedMime = inferMimeType(inferredName, mimeType);
231
401
  const uploaded = await client.storage.upload({
232
402
  projectId,
233
403
  folderId: folderId || null,
@@ -257,10 +427,111 @@ server.tool("cloudizero_upload_local_file", "Uploads a file from the local files
257
427
  }
258
428
  });
259
429
  // -------------------------------------------------------------
430
+ // TOOL: cloudizero_update_file
431
+ // -------------------------------------------------------------
432
+ server.tool("cloudizero_update_file", "Updates file metadata (renames file, moves to another folder, or soft-deletes/restores trash) in Cloudizero.", {
433
+ fileId: z.string().describe("The ID of the file to update (e.g. 'fil_...')"),
434
+ name: z.string().optional().describe("New file name (e.g. 'hero-banner.webp')"),
435
+ folderId: z
436
+ .string()
437
+ .optional()
438
+ .describe("New target folder ID (e.g. 'fld_...', pass 'root' to move to project root)"),
439
+ isTrash: z
440
+ .boolean()
441
+ .optional()
442
+ .describe("Set true to move file to trash, false to restore"),
443
+ }, async ({ fileId, name, folderId, isTrash }) => {
444
+ try {
445
+ const file = await client.storage.updateFile({
446
+ fileId,
447
+ name,
448
+ folderId,
449
+ isTrash,
450
+ });
451
+ return {
452
+ content: [
453
+ {
454
+ type: "text",
455
+ text: `File updated successfully:\n${JSON.stringify(file, null, 2)}`,
456
+ },
457
+ ],
458
+ };
459
+ }
460
+ catch (error) {
461
+ return {
462
+ isError: true,
463
+ content: [
464
+ {
465
+ type: "text",
466
+ text: `Failed to update file: ${formatError(error)}`,
467
+ },
468
+ ],
469
+ };
470
+ }
471
+ });
472
+ // -------------------------------------------------------------
473
+ // TOOL: cloudizero_replace_local_file
474
+ // -------------------------------------------------------------
475
+ server.tool("cloudizero_replace_local_file", "Replaces the binary content of an existing file in Cloudizero with a local file while maintaining the exact same fileId.", {
476
+ fileId: z.string().describe("The ID of the existing file to replace (e.g. 'fil_...')"),
477
+ filePath: z.string().describe("Path to the local replacement file on disk"),
478
+ fileName: z
479
+ .string()
480
+ .optional()
481
+ .describe("Optional new file name. If omitted, retains existing file name."),
482
+ mimeType: z
483
+ .string()
484
+ .optional()
485
+ .describe("Optional MIME type. Inferred from extension if not provided."),
486
+ }, async ({ fileId, filePath, fileName, mimeType }) => {
487
+ try {
488
+ const resolvedPath = path.resolve(filePath);
489
+ const inferredName = fileName || path.basename(resolvedPath);
490
+ if (isProhibitedScriptOrExecutable(inferredName)) {
491
+ return {
492
+ isError: true,
493
+ content: [
494
+ {
495
+ type: "text",
496
+ text: `Replacement rejected: '${inferredName}' is an executable or script. Cloudizero DAM only accepts media and document assets.`,
497
+ },
498
+ ],
499
+ };
500
+ }
501
+ const buffer = await fs.readFile(resolvedPath);
502
+ const resolvedMime = inferMimeType(inferredName, mimeType);
503
+ const replaced = await client.storage.replaceFile({
504
+ fileId,
505
+ file: buffer,
506
+ fileName,
507
+ mimeType: resolvedMime,
508
+ });
509
+ return {
510
+ content: [
511
+ {
512
+ type: "text",
513
+ text: `File replaced successfully in Cloudizero!\n${JSON.stringify(replaced, null, 2)}`,
514
+ },
515
+ ],
516
+ };
517
+ }
518
+ catch (error) {
519
+ return {
520
+ isError: true,
521
+ content: [
522
+ {
523
+ type: "text",
524
+ text: `Failed to replace local file: ${formatError(error)}`,
525
+ },
526
+ ],
527
+ };
528
+ }
529
+ });
530
+ // -------------------------------------------------------------
260
531
  // TOOL: cloudizero_delete_file
261
532
  // -------------------------------------------------------------
262
- server.tool("cloudizero_delete_file", "Permanently deletes a file from Cloudizero and Cloudflare R2.", {
263
- fileId: z.string().describe("The ID of the file to delete"),
533
+ server.tool("cloudizero_delete_file", "Permanently deletes a file from Cloudizero storage and database.", {
534
+ fileId: z.string().describe("The ID of the file to delete (e.g. 'fil_...')"),
264
535
  }, async ({ fileId }) => {
265
536
  try {
266
537
  const result = await client.storage.deleteFile(fileId);
@@ -285,6 +556,67 @@ server.tool("cloudizero_delete_file", "Permanently deletes a file from Cloudizer
285
556
  };
286
557
  }
287
558
  });
559
+ // =============================================================
560
+ // DOCUMENT INTELLIGENCE & PDF TOOLS
561
+ // =============================================================
562
+ // -------------------------------------------------------------
563
+ // TOOL: cloudizero_get_file_pages
564
+ // -------------------------------------------------------------
565
+ server.tool("cloudizero_get_file_pages", "Retrieves extracted page images, dimensions, thumbnail URL, and document chapters for a multi-page document (such as PDF) in Cloudizero.", {
566
+ fileId: z.string().describe("The ID of the document file (e.g. 'fil_...')"),
567
+ }, async ({ fileId }) => {
568
+ try {
569
+ const result = await client.storage.getFilePages(fileId);
570
+ return {
571
+ content: [
572
+ {
573
+ type: "text",
574
+ text: JSON.stringify(result, null, 2),
575
+ },
576
+ ],
577
+ };
578
+ }
579
+ catch (error) {
580
+ return {
581
+ isError: true,
582
+ content: [
583
+ {
584
+ type: "text",
585
+ text: `Failed to get document pages: ${formatError(error)}`,
586
+ },
587
+ ],
588
+ };
589
+ }
590
+ });
591
+ // -------------------------------------------------------------
592
+ // TOOL: cloudizero_extract_pdf
593
+ // -------------------------------------------------------------
594
+ server.tool("cloudizero_extract_pdf", "Dispatches asynchronous PDF page extraction and thumbnail generation for a PDF document in Cloudizero.", {
595
+ fileId: z.string().describe("The ID of the PDF file to extract (e.g. 'fil_...')"),
596
+ }, async ({ fileId }) => {
597
+ try {
598
+ const result = await client.storage.extractPdfPages(fileId);
599
+ return {
600
+ content: [
601
+ {
602
+ type: "text",
603
+ text: `PDF extraction job dispatched:\n${JSON.stringify(result, null, 2)}`,
604
+ },
605
+ ],
606
+ };
607
+ }
608
+ catch (error) {
609
+ return {
610
+ isError: true,
611
+ content: [
612
+ {
613
+ type: "text",
614
+ text: `Failed to dispatch PDF extraction: ${formatError(error)}`,
615
+ },
616
+ ],
617
+ };
618
+ }
619
+ });
288
620
  // Start server on stdio transport
289
621
  async function main() {
290
622
  const transport = new StdioServerTransport();
package/dist/index.js.map CHANGED
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudizero/mcp",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Official Model Context Protocol (MCP) Server for Cloudizero DAM Platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,35 +11,34 @@
11
11
  "dist",
12
12
  "README.md"
13
13
  ],
14
- "scripts": {
15
- "build": "tsc && chmod +x dist/index.js",
16
- "typecheck": "tsc --noEmit",
17
- "start": "node ./dist/index.js",
18
- "prepublishOnly": "pnpm run build"
19
- },
20
14
  "publishConfig": {
21
15
  "access": "public"
22
16
  },
23
- "homepage": "https://cloudizero.wismannur.pro/docs/mcp",
17
+ "homepage": "https://www.cloudizero.com/docs/mcp",
24
18
  "keywords": [
25
-
26
19
  "cloudizero",
27
20
  "mcp",
28
21
  "model-context-protocol",
29
22
  "ai",
30
23
  "dam",
31
- "cloudflare-r2",
24
+ "zero-egress",
25
+ "media-storage",
32
26
  "agentic-tools"
33
27
  ],
34
28
  "author": "Wisman Nur",
35
29
  "license": "MIT",
36
30
  "dependencies": {
37
- "@cloudizero/sdk": "workspace:*",
31
+ "@cloudizero/sdk": "0.3.0",
38
32
  "@modelcontextprotocol/sdk": "^1.11.0",
39
33
  "zod": "^3.24.2"
40
34
  },
41
35
  "devDependencies": {
42
36
  "@types/node": "^20.17.0",
43
37
  "typescript": "^5.0.0"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc && chmod +x dist/index.js",
41
+ "typecheck": "tsc --noEmit",
42
+ "start": "node ./dist/index.js"
44
43
  }
45
- }
44
+ }