@cloudinary/asset-management-mcp 0.7.0 → 0.8.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.
Files changed (188) hide show
  1. package/README.md +46 -2
  2. package/bin/mcp-server.js +6852 -5586
  3. package/bin/mcp-server.js.map +30 -25
  4. package/esm/funcs/foldersAssignFolderRoles.d.ts +19 -0
  5. package/esm/funcs/foldersAssignFolderRoles.d.ts.map +1 -0
  6. package/esm/funcs/foldersAssignFolderRoles.js +101 -0
  7. package/esm/funcs/foldersAssignFolderRoles.js.map +1 -0
  8. package/esm/funcs/foldersGetFolderRoles.d.ts +15 -0
  9. package/esm/funcs/foldersGetFolderRoles.d.ts.map +1 -0
  10. package/esm/funcs/foldersGetFolderRoles.js +99 -0
  11. package/esm/funcs/foldersGetFolderRoles.js.map +1 -0
  12. package/esm/funcs/peopleGetPerson.d.ts +16 -0
  13. package/esm/funcs/peopleGetPerson.d.ts.map +1 -0
  14. package/esm/funcs/peopleGetPerson.js +95 -0
  15. package/esm/funcs/peopleGetPerson.js.map +1 -0
  16. package/esm/funcs/peopleListPeople.d.ts +19 -0
  17. package/esm/funcs/peopleListPeople.d.ts.map +1 -0
  18. package/esm/funcs/peopleListPeople.js +107 -0
  19. package/esm/funcs/peopleListPeople.js.map +1 -0
  20. package/esm/funcs/peopleUpdatePerson.d.ts +18 -0
  21. package/esm/funcs/peopleUpdatePerson.d.ts.map +1 -0
  22. package/esm/funcs/peopleUpdatePerson.js +98 -0
  23. package/esm/funcs/peopleUpdatePerson.js.map +1 -0
  24. package/esm/funcs/videoAnalyticsGetVideoViews.d.ts +2 -2
  25. package/esm/funcs/videoAnalyticsGetVideoViews.d.ts.map +1 -1
  26. package/esm/funcs/videoAnalyticsGetVideoViews.js.map +1 -1
  27. package/esm/landing-page.js +1 -1
  28. package/esm/lib/config.d.ts +4 -4
  29. package/esm/lib/config.js +4 -4
  30. package/esm/lib/security.d.ts.map +1 -1
  31. package/esm/lib/security.js.map +1 -1
  32. package/esm/mcp-server/cli/serve/command.d.ts +2 -0
  33. package/esm/mcp-server/cli/serve/command.d.ts.map +1 -0
  34. package/esm/mcp-server/cli/serve/command.js +140 -0
  35. package/esm/mcp-server/cli/serve/command.js.map +1 -0
  36. package/esm/mcp-server/cli/serve/impl.d.ts +12 -0
  37. package/esm/mcp-server/cli/serve/impl.d.ts.map +1 -0
  38. package/esm/mcp-server/cli/serve/impl.js +85 -0
  39. package/esm/mcp-server/cli/serve/impl.js.map +1 -0
  40. package/esm/mcp-server/mcp-server.d.ts.map +1 -1
  41. package/esm/mcp-server/mcp-server.js +3 -1
  42. package/esm/mcp-server/mcp-server.js.map +1 -1
  43. package/esm/mcp-server/server.js +1 -1
  44. package/esm/mcp-server/tools.d.ts +4 -0
  45. package/esm/mcp-server/tools.d.ts.map +1 -1
  46. package/esm/mcp-server/tools.js +40 -0
  47. package/esm/mcp-server/tools.js.map +1 -1
  48. package/esm/models/assignfolderrolesop.d.ts +16 -0
  49. package/esm/models/assignfolderrolesop.d.ts.map +1 -0
  50. package/esm/models/assignfolderrolesop.js +20 -0
  51. package/esm/models/assignfolderrolesop.js.map +1 -0
  52. package/esm/models/assignfolderrolesrequest.d.ts +33 -0
  53. package/esm/models/assignfolderrolesrequest.d.ts.map +1 -0
  54. package/esm/models/assignfolderrolesrequest.js +26 -0
  55. package/esm/models/assignfolderrolesrequest.js.map +1 -0
  56. package/esm/models/destroyassetop.d.ts +5 -3
  57. package/esm/models/destroyassetop.d.ts.map +1 -1
  58. package/esm/models/destroyassetop.js +5 -3
  59. package/esm/models/destroyassetop.js.map +1 -1
  60. package/esm/models/explicitassetop.d.ts +1 -67
  61. package/esm/models/explicitassetop.d.ts.map +1 -1
  62. package/esm/models/explicitassetop.js +1 -44
  63. package/esm/models/explicitassetop.js.map +1 -1
  64. package/esm/models/folderrole.d.ts +9 -0
  65. package/esm/models/folderrole.d.ts.map +1 -0
  66. package/esm/models/folderrole.js +11 -0
  67. package/esm/models/folderrole.js.map +1 -0
  68. package/esm/models/folderroleassignment.d.ts +11 -0
  69. package/esm/models/folderroleassignment.d.ts.map +1 -0
  70. package/esm/models/folderroleassignment.js +14 -0
  71. package/esm/models/folderroleassignment.js.map +1 -0
  72. package/esm/models/folderrolesresponse.d.ts +9 -0
  73. package/esm/models/folderrolesresponse.d.ts.map +1 -0
  74. package/esm/models/folderrolesresponse.js +12 -0
  75. package/esm/models/folderrolesresponse.js.map +1 -0
  76. package/esm/models/getfolderrolesop.d.ts +15 -0
  77. package/esm/models/getfolderrolesop.d.ts.map +1 -0
  78. package/esm/models/getfolderrolesop.js +18 -0
  79. package/esm/models/getfolderrolesop.js.map +1 -0
  80. package/esm/models/getpersonop.d.ts +21 -0
  81. package/esm/models/getpersonop.d.ts.map +1 -0
  82. package/esm/models/getpersonop.js +21 -0
  83. package/esm/models/getpersonop.js.map +1 -0
  84. package/esm/models/getvideoviewsop.d.ts +4 -4
  85. package/esm/models/getvideoviewsop.d.ts.map +1 -1
  86. package/esm/models/getvideoviewsop.js +3 -3
  87. package/esm/models/getvideoviewsop.js.map +1 -1
  88. package/esm/models/info.d.ts +25 -12
  89. package/esm/models/info.d.ts.map +1 -1
  90. package/esm/models/info.js +26 -8
  91. package/esm/models/info.js.map +1 -1
  92. package/esm/models/listpeopleop.d.ts +69 -0
  93. package/esm/models/listpeopleop.d.ts.map +1 -0
  94. package/esm/models/listpeopleop.js +60 -0
  95. package/esm/models/listpeopleop.js.map +1 -0
  96. package/esm/models/listresourcesbymoderationkindandstatusop.d.ts +1 -1
  97. package/esm/models/parametersdirection.d.ts +18 -0
  98. package/esm/models/parametersdirection.d.ts.map +1 -0
  99. package/esm/models/parametersdirection.js +16 -0
  100. package/esm/models/parametersdirection.js.map +1 -0
  101. package/esm/models/permittedrole.d.ts +8 -0
  102. package/esm/models/permittedrole.d.ts.map +1 -0
  103. package/esm/models/permittedrole.js +10 -0
  104. package/esm/models/permittedrole.js.map +1 -0
  105. package/esm/models/persondetails.d.ts +16 -0
  106. package/esm/models/persondetails.d.ts.map +1 -0
  107. package/esm/models/persondetails.js +15 -0
  108. package/esm/models/persondetails.js.map +1 -0
  109. package/esm/models/personstatus.d.ts +18 -0
  110. package/esm/models/personstatus.d.ts.map +1 -0
  111. package/esm/models/personstatus.js +16 -0
  112. package/esm/models/personstatus.js.map +1 -0
  113. package/esm/models/principaltype.d.ts +20 -0
  114. package/esm/models/principaltype.d.ts.map +1 -0
  115. package/esm/models/principaltype.js +18 -0
  116. package/esm/models/principaltype.js.map +1 -0
  117. package/esm/models/resourceupdaterequest.d.ts +4 -68
  118. package/esm/models/resourceupdaterequest.d.ts.map +1 -1
  119. package/esm/models/resourceupdaterequest.js +4 -53
  120. package/esm/models/resourceupdaterequest.js.map +1 -1
  121. package/esm/models/searchparameters.d.ts +1 -1
  122. package/esm/models/searchresponse.d.ts +4 -0
  123. package/esm/models/searchresponse.d.ts.map +1 -1
  124. package/esm/models/searchresponse.js +4 -0
  125. package/esm/models/searchresponse.js.map +1 -1
  126. package/esm/models/successresponse.d.ts +6 -0
  127. package/esm/models/successresponse.d.ts.map +1 -0
  128. package/esm/models/successresponse.js +8 -0
  129. package/esm/models/successresponse.js.map +1 -0
  130. package/esm/models/textop.d.ts +15 -15
  131. package/esm/models/textop.d.ts.map +1 -1
  132. package/esm/models/textop.js +15 -15
  133. package/esm/models/textop.js.map +1 -1
  134. package/esm/models/thumbnail.d.ts +15 -0
  135. package/esm/models/thumbnail.d.ts.map +1 -0
  136. package/esm/models/thumbnail.js +14 -0
  137. package/esm/models/thumbnail.js.map +1 -0
  138. package/esm/models/updatepersonop.d.ts +30 -0
  139. package/esm/models/updatepersonop.d.ts.map +1 -0
  140. package/esm/models/updatepersonop.js +31 -0
  141. package/esm/models/updatepersonop.js.map +1 -0
  142. package/esm/models/uploadrequest.d.ts +4 -136
  143. package/esm/models/uploadrequest.d.ts.map +1 -1
  144. package/esm/models/uploadrequest.js +4 -96
  145. package/esm/models/uploadrequest.js.map +1 -1
  146. package/package.json +1 -1
  147. package/src/funcs/foldersAssignFolderRoles.ts +173 -0
  148. package/src/funcs/foldersGetFolderRoles.ts +170 -0
  149. package/src/funcs/peopleGetPerson.ts +161 -0
  150. package/src/funcs/peopleListPeople.ts +195 -0
  151. package/src/funcs/peopleUpdatePerson.ts +168 -0
  152. package/src/funcs/videoAnalyticsGetVideoViews.ts +3 -3
  153. package/src/landing-page.ts +1 -1
  154. package/src/lib/config.ts +4 -4
  155. package/src/lib/security.ts +4 -1
  156. package/src/mcp-server/cli/serve/command.ts +147 -0
  157. package/src/mcp-server/cli/serve/impl.ts +114 -0
  158. package/src/mcp-server/mcp-server.ts +3 -1
  159. package/src/mcp-server/server.ts +1 -1
  160. package/src/mcp-server/tools.ts +89 -0
  161. package/src/models/assignfolderrolesop.ts +46 -0
  162. package/src/models/assignfolderrolesrequest.ts +52 -0
  163. package/src/models/destroyassetop.ts +7 -5
  164. package/src/models/explicitassetop.ts +2 -74
  165. package/src/models/folderrole.ts +19 -0
  166. package/src/models/folderroleassignment.ts +22 -0
  167. package/src/models/folderrolesresponse.ts +21 -0
  168. package/src/models/getfolderrolesop.ts +43 -0
  169. package/src/models/getpersonop.ts +43 -0
  170. package/src/models/getvideoviewsop.ts +5 -5
  171. package/src/models/info.ts +53 -17
  172. package/src/models/listpeopleop.ts +114 -0
  173. package/src/models/parametersdirection.ts +23 -0
  174. package/src/models/permittedrole.ts +13 -0
  175. package/src/models/persondetails.ts +28 -0
  176. package/src/models/personstatus.ts +23 -0
  177. package/src/models/principaltype.ts +25 -0
  178. package/src/models/resourceupdaterequest.ts +8 -87
  179. package/src/models/searchresponse.ts +4 -0
  180. package/src/models/successresponse.ts +11 -0
  181. package/src/models/textop.ts +30 -30
  182. package/src/models/thumbnail.ts +28 -0
  183. package/src/models/updatepersonop.ts +66 -0
  184. package/src/models/uploadrequest.ts +8 -162
  185. package/_speakeasy/.github/action-inputs-config.json +0 -53
  186. package/_speakeasy/.github/action-security-config.json +0 -88
  187. package/manifest.json +0 -169
  188. package/tsconfig.json +0 -35
package/README.md CHANGED
@@ -18,6 +18,7 @@
18
18
  * [Development](#development)
19
19
  * [Building from Source](#building-from-source)
20
20
  * [Contributions](#contributions)
21
+ * [Progressive Discovery](#progressive-discovery)
21
22
 
22
23
  <!-- End Table of Contents [toc] -->
23
24
 
@@ -27,9 +28,9 @@
27
28
  <details>
28
29
  <summary>Claude Desktop</summary>
29
30
 
30
- Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/cloudinary/asset-management-mcp/releases/download/v0.7.0/mcp-server.mcpb) file:
31
+ Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/cloudinary/asset-management-mcp/releases/download/v0.8.0/mcp-server.mcpb) file:
31
32
 
32
- Simply drag and drop the [`mcp-server.mcpb`](https://github.com/cloudinary/asset-management-mcp/releases/download/v0.7.0/mcp-server.mcpb) file onto Claude Desktop to install the extension.
33
+ Simply drag and drop the [`mcp-server.mcpb`](https://github.com/cloudinary/asset-management-mcp/releases/download/v0.8.0/mcp-server.mcpb) file onto Claude Desktop to install the extension.
33
34
 
34
35
  The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
35
36
 
@@ -379,4 +380,47 @@ We look forward to hearing your feedback. Feel free to open a PR or issue with a
379
380
 
380
381
  ### MCP Server Created by [Speakeasy](https://www.speakeasy.com/?utm_source=asset-management-mcp&utm_campaign=mcp-typescript)
381
382
 
383
+ <!-- Start Progressive Discovery [dynamic-mode] -->
384
+ ## Progressive Discovery
385
+
386
+ MCP servers with many tools can bloat LLM context windows, leading to increased token usage and tool confusion. Dynamic mode solves this by exposing only a small set of meta-tools that let agents progressively discover and invoke tools on demand.
387
+
388
+ To enable dynamic mode, pass the `--mode dynamic` flag when starting your server:
389
+
390
+ ```jsonc
391
+ {
392
+ "mcpServers": {
393
+ "CloudinaryAssetMgmt": {
394
+ "command": "npx",
395
+ "args": ["@cloudinary/asset-management-mcp", "start", "--mode", "dynamic"],
396
+ // ... other server arguments
397
+ }
398
+ }
399
+ }
400
+ ```
401
+
402
+ In dynamic mode, the server registers only the following meta-tools instead of every individual tool:
403
+
404
+ - **`list_tools`**: Lists all available tools with their names and descriptions.
405
+ - **`describe_tool`**: Returns the input schema for one or more tools by name.
406
+ - **`execute_tool`**: Executes a tool by name with the provided input parameters.
407
+ - **`list_scopes`**: Lists the scopes available on the server.
408
+
409
+ This approach significantly reduces the number of tokens sent to the LLM on each request, which is especially useful for servers with a large number of tools.
410
+
411
+ You can combine dynamic mode with scope and tool filters:
412
+
413
+ ```jsonc
414
+ {
415
+ "mcpServers": {
416
+ "CloudinaryAssetMgmt": {
417
+ "command": "npx",
418
+ "args": ["@cloudinary/asset-management-mcp", "start", "--mode", "dynamic", "--scope", "admin"],
419
+ // ... other server arguments
420
+ }
421
+ }
422
+ }
423
+ ```
424
+ <!-- End Progressive Discovery [dynamic-mode] -->
425
+
382
426
  <!-- Placeholder for Future Speakeasy SDK Sections -->