mongodb-mcp-server 1.3.0 → 1.4.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 (421) hide show
  1. package/README.md +68 -62
  2. package/dist/cjs/common/config/parseUserConfig.d.ts +38 -0
  3. package/dist/cjs/common/config/parseUserConfig.d.ts.map +1 -0
  4. package/dist/cjs/common/config/{createUserConfig.js → parseUserConfig.js} +32 -23
  5. package/dist/cjs/common/config/parseUserConfig.js.map +1 -0
  6. package/dist/cjs/common/config/userConfig.d.ts +3 -1
  7. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  8. package/dist/cjs/common/config/userConfig.js +8 -0
  9. package/dist/cjs/common/config/userConfig.js.map +1 -1
  10. package/dist/cjs/common/packageInfo.js +1 -1
  11. package/dist/cjs/common/schemas.d.ts +1 -1
  12. package/dist/cjs/common/schemas.d.ts.map +1 -1
  13. package/dist/cjs/common/schemas.js +1 -1
  14. package/dist/cjs/common/schemas.js.map +1 -1
  15. package/dist/cjs/index.js +2 -2
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/lib.d.ts +8 -1
  18. package/dist/cjs/lib.d.ts.map +1 -1
  19. package/dist/cjs/lib.js +12 -3
  20. package/dist/cjs/lib.js.map +1 -1
  21. package/dist/cjs/server.d.ts +27 -5
  22. package/dist/cjs/server.d.ts.map +1 -1
  23. package/dist/cjs/server.js +6 -1
  24. package/dist/cjs/server.js.map +1 -1
  25. package/dist/cjs/telemetry/types.d.ts +15 -5
  26. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  27. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  28. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  29. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +2 -2
  30. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  31. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  32. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +2 -2
  33. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
  34. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  35. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +2 -2
  36. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  37. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
  38. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +2 -2
  39. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  40. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
  41. package/dist/cjs/tools/atlas/create/createProject.d.ts +2 -2
  42. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  43. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  44. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +2 -2
  45. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  46. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  47. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +2 -2
  48. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  49. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  50. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +2 -2
  51. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  52. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  53. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +2 -2
  54. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  55. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  56. package/dist/cjs/tools/atlas/read/listClusters.d.ts +2 -2
  57. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  58. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  59. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +2 -2
  60. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  61. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  62. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +2 -2
  63. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  64. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  65. package/dist/cjs/tools/atlas/read/listProjects.d.ts +2 -2
  66. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  67. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  68. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +2 -2
  69. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  70. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  71. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +2 -2
  72. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  73. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
  74. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +2 -2
  75. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  76. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  77. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +2 -2
  78. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  79. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -1
  80. package/dist/cjs/tools/mongodb/connect/connect.d.ts +2 -2
  81. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  82. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  83. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +2 -2
  84. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
  85. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -1
  86. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +2 -2
  87. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  88. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  89. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +2 -2
  90. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  91. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  92. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +6 -2
  93. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  94. package/dist/cjs/tools/mongodb/create/insertMany.js +12 -1
  95. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  96. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +2 -2
  97. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  98. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  99. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +2 -2
  100. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  101. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  102. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +2 -2
  103. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  104. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  105. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +2 -2
  106. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  107. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  108. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +2 -2
  109. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  110. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  111. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +2 -2
  112. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  113. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  114. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +2 -2
  115. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  116. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  117. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +2 -2
  118. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  119. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  120. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +4 -4
  121. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  122. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  123. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +2 -2
  124. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  125. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  126. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +31 -2
  127. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  128. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +18 -1
  129. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  130. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +2 -2
  131. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  132. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  133. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +10 -6
  134. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  135. package/dist/cjs/tools/mongodb/read/aggregate.js +17 -1
  136. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  137. package/dist/cjs/tools/mongodb/read/count.d.ts +2 -2
  138. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  139. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  140. package/dist/cjs/tools/mongodb/read/export.d.ts +4 -4
  141. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  142. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  143. package/dist/cjs/tools/mongodb/read/find.d.ts +2 -2
  144. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  145. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  146. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +2 -2
  147. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  148. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  149. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +2 -2
  150. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  151. package/dist/cjs/tools/mongodb/update/updateMany.js +1 -1
  152. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  153. package/dist/cjs/tools/tool.d.ts +74 -12
  154. package/dist/cjs/tools/tool.d.ts.map +1 -1
  155. package/dist/cjs/tools/tool.js +135 -51
  156. package/dist/cjs/tools/tool.js.map +1 -1
  157. package/dist/cjs/transports/base.d.ts +2 -2
  158. package/dist/cjs/transports/constants.d.ts +28 -0
  159. package/dist/cjs/transports/constants.d.ts.map +1 -0
  160. package/dist/cjs/transports/constants.js +29 -0
  161. package/dist/cjs/transports/constants.js.map +1 -0
  162. package/dist/cjs/transports/streamableHttp.js +1 -1
  163. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  164. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +10 -0
  165. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -0
  166. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js +35 -0
  167. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.map +1 -0
  168. package/dist/cjs/ui/components/ListDatabases/ListDatabases.styles.d.ts +3 -0
  169. package/dist/cjs/ui/components/ListDatabases/ListDatabases.styles.d.ts.map +1 -0
  170. package/dist/cjs/ui/components/ListDatabases/ListDatabases.styles.js +15 -0
  171. package/dist/cjs/ui/components/ListDatabases/ListDatabases.styles.js.map +1 -0
  172. package/dist/cjs/ui/components/ListDatabases/index.d.ts +2 -0
  173. package/dist/cjs/ui/components/ListDatabases/index.d.ts.map +1 -0
  174. package/dist/cjs/ui/components/ListDatabases/index.js +6 -0
  175. package/dist/cjs/ui/components/ListDatabases/index.js.map +1 -0
  176. package/dist/cjs/ui/hooks/index.d.ts +4 -0
  177. package/dist/cjs/ui/hooks/index.d.ts.map +1 -0
  178. package/dist/cjs/ui/hooks/index.js +10 -0
  179. package/dist/cjs/ui/hooks/index.js.map +1 -0
  180. package/dist/cjs/ui/hooks/useDarkMode.d.ts +2 -0
  181. package/dist/cjs/ui/hooks/useDarkMode.d.ts.map +1 -0
  182. package/dist/cjs/ui/hooks/useDarkMode.js +17 -0
  183. package/dist/cjs/ui/hooks/useDarkMode.js.map +1 -0
  184. package/dist/cjs/ui/hooks/useHostCommunication.d.ts +30 -0
  185. package/dist/cjs/ui/hooks/useHostCommunication.d.ts.map +1 -0
  186. package/dist/cjs/ui/hooks/useHostCommunication.js +53 -0
  187. package/dist/cjs/ui/hooks/useHostCommunication.js.map +1 -0
  188. package/dist/cjs/ui/hooks/useRenderData.d.ts +30 -0
  189. package/dist/cjs/ui/hooks/useRenderData.d.ts.map +1 -0
  190. package/dist/cjs/ui/hooks/useRenderData.js +70 -0
  191. package/dist/cjs/ui/hooks/useRenderData.js.map +1 -0
  192. package/dist/cjs/ui/index.d.ts +4 -0
  193. package/dist/cjs/ui/index.d.ts.map +1 -0
  194. package/dist/cjs/ui/index.js +8 -0
  195. package/dist/cjs/ui/index.js.map +1 -0
  196. package/dist/cjs/ui/lib/tools/list-databases.d.ts +8 -0
  197. package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -0
  198. package/dist/cjs/ui/lib/tools/list-databases.js +11 -0
  199. package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -0
  200. package/dist/cjs/ui/registry/index.d.ts +2 -0
  201. package/dist/cjs/ui/registry/index.d.ts.map +1 -0
  202. package/dist/cjs/ui/registry/index.js +6 -0
  203. package/dist/cjs/ui/registry/index.js.map +1 -0
  204. package/dist/cjs/ui/registry/registry.d.ts +15 -0
  205. package/dist/cjs/ui/registry/registry.d.ts.map +1 -0
  206. package/dist/cjs/ui/registry/registry.js +82 -0
  207. package/dist/cjs/ui/registry/registry.js.map +1 -0
  208. package/dist/esm/common/config/parseUserConfig.d.ts +38 -0
  209. package/dist/esm/common/config/parseUserConfig.d.ts.map +1 -0
  210. package/dist/esm/common/config/{createUserConfig.js → parseUserConfig.js} +31 -23
  211. package/dist/esm/common/config/parseUserConfig.js.map +1 -0
  212. package/dist/esm/common/config/userConfig.d.ts +3 -1
  213. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  214. package/dist/esm/common/config/userConfig.js +8 -0
  215. package/dist/esm/common/config/userConfig.js.map +1 -1
  216. package/dist/esm/common/packageInfo.js +1 -1
  217. package/dist/esm/common/schemas.d.ts +1 -1
  218. package/dist/esm/common/schemas.d.ts.map +1 -1
  219. package/dist/esm/common/schemas.js +1 -1
  220. package/dist/esm/common/schemas.js.map +1 -1
  221. package/dist/esm/index.js +2 -2
  222. package/dist/esm/index.js.map +1 -1
  223. package/dist/esm/lib.d.ts +8 -1
  224. package/dist/esm/lib.d.ts.map +1 -1
  225. package/dist/esm/lib.js +8 -1
  226. package/dist/esm/lib.js.map +1 -1
  227. package/dist/esm/server.d.ts +27 -5
  228. package/dist/esm/server.d.ts.map +1 -1
  229. package/dist/esm/server.js +6 -1
  230. package/dist/esm/server.js.map +1 -1
  231. package/dist/esm/telemetry/types.d.ts +15 -5
  232. package/dist/esm/telemetry/types.d.ts.map +1 -1
  233. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  234. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  235. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +2 -2
  236. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  237. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  238. package/dist/esm/tools/atlas/create/createAccessList.d.ts +2 -2
  239. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
  240. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  241. package/dist/esm/tools/atlas/create/createDBUser.d.ts +2 -2
  242. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  243. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
  244. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +2 -2
  245. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  246. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
  247. package/dist/esm/tools/atlas/create/createProject.d.ts +2 -2
  248. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  249. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  250. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +2 -2
  251. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  252. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  253. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +2 -2
  254. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  255. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  256. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +2 -2
  257. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  258. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  259. package/dist/esm/tools/atlas/read/listAlerts.d.ts +2 -2
  260. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  261. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  262. package/dist/esm/tools/atlas/read/listClusters.d.ts +2 -2
  263. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  264. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  265. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +2 -2
  266. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  267. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  268. package/dist/esm/tools/atlas/read/listOrgs.d.ts +2 -2
  269. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  270. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  271. package/dist/esm/tools/atlas/read/listProjects.d.ts +2 -2
  272. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  273. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  274. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +2 -2
  275. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  276. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  277. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +2 -2
  278. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  279. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
  280. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +2 -2
  281. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  282. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  283. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +2 -2
  284. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  285. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -1
  286. package/dist/esm/tools/mongodb/connect/connect.d.ts +2 -2
  287. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  288. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  289. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +2 -2
  290. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
  291. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -1
  292. package/dist/esm/tools/mongodb/create/createCollection.d.ts +2 -2
  293. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  294. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  295. package/dist/esm/tools/mongodb/create/createIndex.d.ts +2 -2
  296. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  297. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  298. package/dist/esm/tools/mongodb/create/insertMany.d.ts +6 -2
  299. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  300. package/dist/esm/tools/mongodb/create/insertMany.js +12 -1
  301. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  302. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +2 -2
  303. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  304. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  305. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +2 -2
  306. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  307. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  308. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +2 -2
  309. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  310. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  311. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +2 -2
  312. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  313. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  314. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +2 -2
  315. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  316. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  317. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +2 -2
  318. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  319. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  320. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +2 -2
  321. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  322. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  323. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +2 -2
  324. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  325. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  326. package/dist/esm/tools/mongodb/metadata/explain.d.ts +4 -4
  327. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  328. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  329. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +2 -2
  330. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  331. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  332. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +31 -2
  333. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  334. package/dist/esm/tools/mongodb/metadata/listDatabases.js +17 -0
  335. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  336. package/dist/esm/tools/mongodb/metadata/logs.d.ts +2 -2
  337. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  338. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  339. package/dist/esm/tools/mongodb/read/aggregate.d.ts +10 -6
  340. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  341. package/dist/esm/tools/mongodb/read/aggregate.js +17 -1
  342. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  343. package/dist/esm/tools/mongodb/read/count.d.ts +2 -2
  344. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  345. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  346. package/dist/esm/tools/mongodb/read/export.d.ts +4 -4
  347. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  348. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  349. package/dist/esm/tools/mongodb/read/find.d.ts +2 -2
  350. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  351. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  352. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +2 -2
  353. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  354. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  355. package/dist/esm/tools/mongodb/update/updateMany.d.ts +2 -2
  356. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  357. package/dist/esm/tools/mongodb/update/updateMany.js +1 -1
  358. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  359. package/dist/esm/tools/tool.d.ts +74 -12
  360. package/dist/esm/tools/tool.d.ts.map +1 -1
  361. package/dist/esm/tools/tool.js +135 -51
  362. package/dist/esm/tools/tool.js.map +1 -1
  363. package/dist/esm/transports/base.d.ts +2 -2
  364. package/dist/esm/transports/constants.d.ts +28 -0
  365. package/dist/esm/transports/constants.d.ts.map +1 -0
  366. package/dist/esm/transports/constants.js +26 -0
  367. package/dist/esm/transports/constants.js.map +1 -0
  368. package/dist/esm/transports/streamableHttp.js +1 -1
  369. package/dist/esm/transports/streamableHttp.js.map +1 -1
  370. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +10 -0
  371. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -0
  372. package/dist/esm/ui/components/ListDatabases/ListDatabases.js +31 -0
  373. package/dist/esm/ui/components/ListDatabases/ListDatabases.js.map +1 -0
  374. package/dist/esm/ui/components/ListDatabases/ListDatabases.styles.d.ts +3 -0
  375. package/dist/esm/ui/components/ListDatabases/ListDatabases.styles.d.ts.map +1 -0
  376. package/dist/esm/ui/components/ListDatabases/ListDatabases.styles.js +11 -0
  377. package/dist/esm/ui/components/ListDatabases/ListDatabases.styles.js.map +1 -0
  378. package/dist/esm/ui/components/ListDatabases/index.d.ts +2 -0
  379. package/dist/esm/ui/components/ListDatabases/index.d.ts.map +1 -0
  380. package/dist/esm/ui/components/ListDatabases/index.js +2 -0
  381. package/dist/esm/ui/components/ListDatabases/index.js.map +1 -0
  382. package/dist/esm/ui/hooks/index.d.ts +4 -0
  383. package/dist/esm/ui/hooks/index.d.ts.map +1 -0
  384. package/dist/esm/ui/hooks/index.js +4 -0
  385. package/dist/esm/ui/hooks/index.js.map +1 -0
  386. package/dist/esm/ui/hooks/useDarkMode.d.ts +2 -0
  387. package/dist/esm/ui/hooks/useDarkMode.d.ts.map +1 -0
  388. package/dist/esm/ui/hooks/useDarkMode.js +14 -0
  389. package/dist/esm/ui/hooks/useDarkMode.js.map +1 -0
  390. package/dist/esm/ui/hooks/useHostCommunication.d.ts +30 -0
  391. package/dist/esm/ui/hooks/useHostCommunication.d.ts.map +1 -0
  392. package/dist/esm/ui/hooks/useHostCommunication.js +50 -0
  393. package/dist/esm/ui/hooks/useHostCommunication.js.map +1 -0
  394. package/dist/esm/ui/hooks/useRenderData.d.ts +30 -0
  395. package/dist/esm/ui/hooks/useRenderData.d.ts.map +1 -0
  396. package/dist/esm/ui/hooks/useRenderData.js +67 -0
  397. package/dist/esm/ui/hooks/useRenderData.js.map +1 -0
  398. package/dist/esm/ui/index.d.ts +4 -0
  399. package/dist/esm/ui/index.d.ts.map +1 -0
  400. package/dist/esm/ui/index.js +3 -0
  401. package/dist/esm/ui/index.js.map +1 -0
  402. package/dist/esm/ui/lib/tools/list-databases.d.ts +8 -0
  403. package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -0
  404. package/dist/esm/ui/lib/tools/list-databases.js +8 -0
  405. package/dist/esm/ui/lib/tools/list-databases.js.map +1 -0
  406. package/dist/esm/ui/registry/index.d.ts +2 -0
  407. package/dist/esm/ui/registry/index.d.ts.map +1 -0
  408. package/dist/esm/ui/registry/index.js +2 -0
  409. package/dist/esm/ui/registry/index.js.map +1 -0
  410. package/dist/esm/ui/registry/registry.d.ts +15 -0
  411. package/dist/esm/ui/registry/registry.d.ts.map +1 -0
  412. package/dist/esm/ui/registry/registry.js +45 -0
  413. package/dist/esm/ui/registry/registry.js.map +1 -0
  414. package/dist/ui/ListDatabases.html +1721 -0
  415. package/package.json +32 -5
  416. package/dist/cjs/common/config/createUserConfig.d.ts +0 -9
  417. package/dist/cjs/common/config/createUserConfig.d.ts.map +0 -1
  418. package/dist/cjs/common/config/createUserConfig.js.map +0 -1
  419. package/dist/esm/common/config/createUserConfig.d.ts +0 -9
  420. package/dist/esm/common/config/createUserConfig.d.ts.map +0 -1
  421. package/dist/esm/common/config/createUserConfig.js.map +0 -1
@@ -4,8 +4,8 @@ import { MongoDBToolBase } from "../mongodbTool.js";
4
4
  import type { ToolArgs, OperationType } from "../../tool.js";
5
5
  export declare class UpdateManyTool extends MongoDBToolBase {
6
6
  name: string;
7
- protected description: string;
8
- protected argsShape: {
7
+ description: string;
8
+ argsShape: {
9
9
  filter: z.ZodOptional<z.AnyZodObject>;
10
10
  update: z.AnyZodObject;
11
11
  upsert: z.ZodOptional<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4E;IACjG,SAAS,CAAC,SAAS;;;;;;MAcjB;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiD/D"}
1
+ {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IACrB,WAAW,SACqK;IAChL,SAAS;;;;;;MAcd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiD/D"}
@@ -9,7 +9,7 @@ class UpdateManyTool extends mongodbTool_js_1.MongoDBToolBase {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.name = "update-many";
12
- this.description = "Updates all documents that match the specified filter for a collection";
12
+ this.description = "Updates all documents that match the specified filter for a collection. If the list of documents is above com.mongodb/maxRequestPayloadBytes, consider updating them in batches.";
13
13
  this.argsShape = {
14
14
  ...mongodbTool_js_1.DbOperationArgs,
15
15
  filter: (0, args_js_1.zEJSON)()
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAErE,kEAAiE;AACjE,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wEAAwE,CAAC;QACvF,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,gHAAgH,CACnH;YACL,MAAM,EAAE,IAAA,gBAAM,GAAE,CAAC,QAAQ,CACrB,4FAA4F,CAC/F;YACD,MAAM,EAAE,OAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC9F,CAAC;IA0DN,CAAC;IAvDa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC3E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC1C,OAAO,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACL;gCACI,CAAC,EAAE,MAAM,IAAI,EAAE;gCACf,CAAC,EAAE,MAAM;gCACT,MAAM,EAAE,MAAM,IAAI,KAAK;gCACvB,KAAK,EAAE,IAAI;6BACd;yBACJ;qBACJ;oBACD,SAAS,EAAE,cAAc;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;YAC3E,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,GAAG,kCAAkC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,WAAW,MAAM,CAAC,YAAY,eAAe,CAAC;YACxD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,eAAe,CAAC;YAChE,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,sBAAsB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;YACvG,CAAC;QACL,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;;AA1EL,wCA2EC;AAzDU,4BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
1
+ {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAErE,kEAAiE;AACjE,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GACd,kLAAkL,CAAC;QAChL,cAAS,GAAG;YACf,GAAG,gCAAe;YAClB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,gHAAgH,CACnH;YACL,MAAM,EAAE,IAAA,gBAAM,GAAE,CAAC,QAAQ,CACrB,4FAA4F,CAC/F;YACD,MAAM,EAAE,OAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC9F,CAAC;IA0DN,CAAC;IAvDa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC3E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC1C,OAAO,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACL;gCACI,CAAC,EAAE,MAAM,IAAI,EAAE;gCACf,CAAC,EAAE,MAAM;gCACT,MAAM,EAAE,MAAM,IAAI,KAAK;gCACvB,KAAK,EAAE,IAAI;6BACd;yBACJ;qBACJ;oBACD,SAAS,EAAE,cAAc;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;YAC3E,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,GAAG,kCAAkC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,WAAW,MAAM,CAAC,YAAY,eAAe,CAAC;YACxD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,eAAe,CAAC;YAChE,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,sBAAsB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;YACvG,CAAC;QACL,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;;AA3EL,wCA4EC;AAzDU,4BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
@@ -1,4 +1,5 @@
1
- import type { z, ZodRawShape } from "zod";
1
+ import type { z } from "zod";
2
+ import { type ZodRawShape } from "zod";
2
3
  import type { CallToolResult, ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
3
4
  import type { Session } from "../common/session.js";
4
5
  import type { Telemetry } from "../telemetry/telemetry.js";
@@ -7,6 +8,7 @@ import type { UserConfig } from "../common/config/userConfig.js";
7
8
  import type { Server } from "../server.js";
8
9
  import type { Elicitation } from "../elicitation.js";
9
10
  import type { PreviewFeature } from "../common/schemas.js";
11
+ import type { UIRegistry } from "../ui/registry/index.js";
10
12
  export type ToolArgs<T extends ZodRawShape> = {
11
13
  [K in keyof T]: z.infer<T[K]>;
12
14
  };
@@ -79,6 +81,7 @@ export type ToolConstructorParams = {
79
81
  * See `src/elicitation.ts` for further reference.
80
82
  */
81
83
  elicitation: Elicitation;
84
+ uiRegistry: UIRegistry;
82
85
  };
83
86
  /**
84
87
  * The type that all tool classes must conform to when implementing custom tools
@@ -100,8 +103,8 @@ export type ToolConstructorParams = {
100
103
  *
101
104
  * // Required abstract properties
102
105
  * override name = "my-custom-tool";
103
- * protected description = "My custom tool description";
104
- * protected argsShape = {
106
+ * public description = "My custom tool description";
107
+ * public argsShape = {
105
108
  * query: z.string().describe("The query parameter"),
106
109
  * };
107
110
  *
@@ -161,8 +164,8 @@ export type ToolClass = {
161
164
  *
162
165
  * // Required abstract properties
163
166
  * override name = "my-custom-tool";
164
- * protected description = "My custom tool description";
165
- * protected argsShape = {
167
+ * public description = "My custom tool description";
168
+ * public argsShape = {
166
169
  * query: z.string().describe("The query parameter"),
167
170
  * };
168
171
  *
@@ -240,7 +243,7 @@ export declare abstract class ToolBase {
240
243
  * This is shown to the MCP client and helps the LLM understand when to use
241
244
  * this tool.
242
245
  */
243
- protected abstract description: string;
246
+ abstract description: string;
244
247
  /**
245
248
  * Zod schema defining the tool's arguments.
246
249
  *
@@ -248,15 +251,62 @@ export declare abstract class ToolBase {
248
251
  *
249
252
  * @example
250
253
  * ```typescript
251
- * protected argsShape = {
254
+ * public argsShape = {
252
255
  * query: z.string().describe("The search query"),
253
256
  * limit: z.number().optional().describe("Maximum results to return"),
254
257
  * };
255
258
  * ```
256
259
  */
257
- protected abstract argsShape: ZodRawShape;
260
+ abstract argsShape: ZodRawShape;
261
+ /**
262
+ * Optional Zod schema defining the tool's structured output.
263
+ *
264
+ * This schema is registered with the MCP server and used to validate
265
+ * `structuredContent` in the tool's response.
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * protected outputSchema = {
270
+ * items: z.array(z.object({ name: z.string(), count: z.number() })),
271
+ * totalCount: z.number(),
272
+ * };
273
+ *
274
+ * protected async execute(): Promise<CallToolResult> {
275
+ * const items = await this.fetchItems();
276
+ * return {
277
+ * content: [{ type: "text", text: `Found ${items.length} items` }],
278
+ * structuredContent: { items, totalCount: items.length },
279
+ * };
280
+ * }
281
+ * ```
282
+ */
283
+ outputSchema?: ZodRawShape;
258
284
  private registeredTool;
259
- protected get annotations(): ToolAnnotations;
285
+ get annotations(): ToolAnnotations;
286
+ /**
287
+ * Returns tool-specific metadata that will be included in the tool's `_meta` field.
288
+ *
289
+ * This getter computes metadata based on the current configuration, including
290
+ * transport-specific constraints like request payload size limits.
291
+ *
292
+ * The metadata includes:
293
+ * - `com.mongodb/transport`: The transport protocol in use ("stdio" or "http")
294
+ * - `com.mongodb/maxRequestPayloadBytes`: Maximum request payload size for the current transport
295
+ *
296
+ * Subclasses can override this to add custom metadata. When overriding,
297
+ * call `super.toolMeta` and spread its result to preserve base metadata.
298
+ *
299
+ * @example
300
+ * ```typescript
301
+ * protected override get toolMeta(): Record<string, unknown> {
302
+ * return {
303
+ * ...super.toolMeta,
304
+ * "com.mongodb/customField": "value",
305
+ * };
306
+ * }
307
+ * ```
308
+ */
309
+ protected get toolMeta(): Record<string, unknown>;
260
310
  /**
261
311
  * A function that is registered as the tool execution callback and is
262
312
  * called with the expected arguments.
@@ -285,6 +335,8 @@ export declare abstract class ToolBase {
285
335
  * ```
286
336
  */
287
337
  protected abstract execute(args: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<CallToolResult>;
338
+ /** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
339
+ invoke(args: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<CallToolResult>;
288
340
  /**
289
341
  * Get the confirmation message shown to users when this tool requires
290
342
  * explicit approval.
@@ -303,6 +355,8 @@ export declare abstract class ToolBase {
303
355
  * ```
304
356
  */
305
357
  protected getConfirmationMessage(args: ToolArgs<typeof this.argsShape>): string;
358
+ /** Checks if the tool requires elicitation */
359
+ requiresConfirmation(): boolean;
306
360
  /**
307
361
  * Check if the user has confirmed the tool execution (if required by
308
362
  * configuration).
@@ -337,11 +391,12 @@ export declare abstract class ToolBase {
337
391
  * or inputs during tool execution.
338
392
  */
339
393
  protected readonly elicitation: Elicitation;
340
- constructor({ category, operationType, session, config, telemetry, elicitation }: ToolConstructorParams);
394
+ private readonly uiRegistry;
395
+ constructor({ category, operationType, session, config, telemetry, elicitation, uiRegistry, }: ToolConstructorParams);
341
396
  register(server: Server): boolean;
342
397
  isEnabled(): boolean;
343
- protected disable(): void;
344
- protected enable(): void;
398
+ disable(): void;
399
+ enable(): void;
345
400
  protected verifyAllowed(): boolean;
346
401
  /**
347
402
  * Handle errors that occur during tool execution.
@@ -407,6 +462,13 @@ export declare abstract class ToolBase {
407
462
  private emitToolEvent;
408
463
  protected isFeatureEnabled(feature: PreviewFeature): boolean;
409
464
  protected getConnectionInfoMetadata(): ConnectionMetadata;
465
+ /**
466
+ * Appends a UIResource to the tool result.
467
+ *
468
+ * @param result - The result from the tool's `execute()` method
469
+ * @returns The result with UIResource appended if conditions are met, otherwise unchanged
470
+ */
471
+ private appendUIResource;
410
472
  }
411
473
  /**
412
474
  * Formats potentially untrusted data to be included in tool responses. The data is wrapped in unique tags
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ToolBase = void 0;
4
4
  exports.formatUntrustedData = formatUntrustedData;
5
5
  const logger_js_1 = require("../common/logger.js");
6
+ const server_1 = require("@mcp-ui/server");
7
+ const constants_js_1 = require("../transports/constants.js");
6
8
  /**
7
9
  * Abstract base class for implementing MCP tools in the MongoDB MCP Server.
8
10
  *
@@ -30,8 +32,8 @@ const logger_js_1 = require("../common/logger.js");
30
32
  *
31
33
  * // Required abstract properties
32
34
  * override name = "my-custom-tool";
33
- * protected description = "My custom tool description";
34
- * protected argsShape = {
35
+ * public description = "My custom tool description";
36
+ * public argsShape = {
35
37
  * query: z.string().describe("The query parameter"),
36
38
  * };
37
39
  *
@@ -107,6 +109,97 @@ class ToolBase {
107
109
  }
108
110
  return annotations;
109
111
  }
112
+ /**
113
+ * Returns tool-specific metadata that will be included in the tool's `_meta` field.
114
+ *
115
+ * This getter computes metadata based on the current configuration, including
116
+ * transport-specific constraints like request payload size limits.
117
+ *
118
+ * The metadata includes:
119
+ * - `com.mongodb/transport`: The transport protocol in use ("stdio" or "http")
120
+ * - `com.mongodb/maxRequestPayloadBytes`: Maximum request payload size for the current transport
121
+ *
122
+ * Subclasses can override this to add custom metadata. When overriding,
123
+ * call `super.toolMeta` and spread its result to preserve base metadata.
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * protected override get toolMeta(): Record<string, unknown> {
128
+ * return {
129
+ * ...super.toolMeta,
130
+ * "com.mongodb/customField": "value",
131
+ * };
132
+ * }
133
+ * ```
134
+ */
135
+ get toolMeta() {
136
+ const transport = this.config.transport;
137
+ let maxRequestPayloadBytes = constants_js_1.TRANSPORT_PAYLOAD_LIMITS[transport] ?? constants_js_1.TRANSPORT_PAYLOAD_LIMITS.stdio;
138
+ // If the transport is http and the httpBodyLimit is set, use the httpBodyLimit
139
+ if (transport === "http" && this.config.httpBodyLimit) {
140
+ maxRequestPayloadBytes = this.config.httpBodyLimit;
141
+ }
142
+ return {
143
+ /** The transport protocol this server is using */
144
+ "com.mongodb/transport": transport,
145
+ /** Maximum request payload size in bytes for this transport */
146
+ "com.mongodb/maxRequestPayloadBytes": maxRequestPayloadBytes,
147
+ };
148
+ }
149
+ /** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
150
+ async invoke(args, { signal }) {
151
+ let startTime = Date.now();
152
+ try {
153
+ if (this.requiresConfirmation()) {
154
+ if (!(await this.verifyConfirmed(args))) {
155
+ this.session.logger.debug({
156
+ id: logger_js_1.LogId.toolExecute,
157
+ context: "tool",
158
+ message: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
159
+ noRedaction: true,
160
+ });
161
+ return {
162
+ content: [
163
+ {
164
+ type: "text",
165
+ text: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
166
+ },
167
+ ],
168
+ };
169
+ }
170
+ // We do not want to include the elicitation time in the tool execution time
171
+ // so we reset the startTime to the current time. We may want to consider adding
172
+ // a separate field for elicitation time in the future.
173
+ startTime = Date.now();
174
+ }
175
+ this.session.logger.debug({
176
+ id: logger_js_1.LogId.toolExecute,
177
+ context: "tool",
178
+ message: `Executing tool ${this.name}`,
179
+ noRedaction: true,
180
+ });
181
+ const toolCallResult = await this.execute(args, { signal });
182
+ const result = await this.appendUIResource(toolCallResult);
183
+ this.emitToolEvent(args, { startTime, result });
184
+ this.session.logger.debug({
185
+ id: logger_js_1.LogId.toolExecute,
186
+ context: "tool",
187
+ message: `Executed tool ${this.name}`,
188
+ noRedaction: true,
189
+ });
190
+ return result;
191
+ }
192
+ catch (error) {
193
+ this.session.logger.error({
194
+ id: logger_js_1.LogId.toolExecuteFailure,
195
+ context: "tool",
196
+ message: `Error executing ${this.name}: ${error}`,
197
+ });
198
+ const toolResult = await this.handleError(error, args);
199
+ this.emitToolEvent(args, { startTime, result: toolResult });
200
+ return toolResult;
201
+ }
202
+ }
110
203
  /**
111
204
  * Get the confirmation message shown to users when this tool requires
112
205
  * explicit approval.
@@ -128,6 +221,10 @@ class ToolBase {
128
221
  getConfirmationMessage(args) {
129
222
  return `You are about to execute the \`${this.name}\` tool which requires additional confirmation. Would you like to proceed?`;
130
223
  }
224
+ /** Checks if the tool requires elicitation */
225
+ requiresConfirmation() {
226
+ return this.config.confirmationRequiredTools.includes(this.name);
227
+ }
131
228
  /**
132
229
  * Check if the user has confirmed the tool execution (if required by
133
230
  * configuration).
@@ -141,69 +238,24 @@ class ToolBase {
141
238
  * required, `false` otherwise
142
239
  */
143
240
  async verifyConfirmed(args) {
144
- if (!this.config.confirmationRequiredTools.includes(this.name)) {
241
+ if (!this.requiresConfirmation()) {
145
242
  return true;
146
243
  }
147
244
  return this.elicitation.requestConfirmation(this.getConfirmationMessage(args));
148
245
  }
149
- constructor({ category, operationType, session, config, telemetry, elicitation }) {
246
+ constructor({ category, operationType, session, config, telemetry, elicitation, uiRegistry, }) {
150
247
  this.category = category;
151
248
  this.operationType = operationType;
152
249
  this.session = session;
153
250
  this.config = config;
154
251
  this.telemetry = telemetry;
155
252
  this.elicitation = elicitation;
253
+ this.uiRegistry = uiRegistry;
156
254
  }
157
255
  register(server) {
158
256
  if (!this.verifyAllowed()) {
159
257
  return false;
160
258
  }
161
- const callback = async (args, { signal }) => {
162
- const startTime = Date.now();
163
- try {
164
- if (!(await this.verifyConfirmed(args))) {
165
- this.session.logger.debug({
166
- id: logger_js_1.LogId.toolExecute,
167
- context: "tool",
168
- message: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
169
- noRedaction: true,
170
- });
171
- return {
172
- content: [
173
- {
174
- type: "text",
175
- text: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
176
- },
177
- ],
178
- };
179
- }
180
- this.session.logger.debug({
181
- id: logger_js_1.LogId.toolExecute,
182
- context: "tool",
183
- message: `Executing tool ${this.name}`,
184
- noRedaction: true,
185
- });
186
- const result = await this.execute(args, { signal });
187
- this.emitToolEvent(args, { startTime, result });
188
- this.session.logger.debug({
189
- id: logger_js_1.LogId.toolExecute,
190
- context: "tool",
191
- message: `Executed tool ${this.name}`,
192
- noRedaction: true,
193
- });
194
- return result;
195
- }
196
- catch (error) {
197
- this.session.logger.error({
198
- id: logger_js_1.LogId.toolExecuteFailure,
199
- context: "tool",
200
- message: `Error executing ${this.name}: ${error}`,
201
- });
202
- const toolResult = await this.handleError(error, args);
203
- this.emitToolEvent(args, { startTime, result: toolResult });
204
- return toolResult;
205
- }
206
- };
207
259
  this.registeredTool =
208
260
  // Note: We use explicit type casting here to avoid "excessively deep and possibly infinite" errors
209
261
  // that occur when TypeScript tries to infer the complex generic types from `typeof this.argsShape`
@@ -211,8 +263,10 @@ class ToolBase {
211
263
  server.mcpServer.registerTool(this.name, {
212
264
  description: this.description,
213
265
  inputSchema: this.argsShape,
266
+ outputSchema: this.outputSchema,
214
267
  annotations: this.annotations,
215
- }, callback);
268
+ _meta: this.toolMeta,
269
+ }, this.invoke.bind(this));
216
270
  return true;
217
271
  }
218
272
  isEnabled() {
@@ -348,6 +402,36 @@ class ToolBase {
348
402
  }
349
403
  return metadata;
350
404
  }
405
+ /**
406
+ * Appends a UIResource to the tool result.
407
+ *
408
+ * @param result - The result from the tool's `execute()` method
409
+ * @returns The result with UIResource appended if conditions are met, otherwise unchanged
410
+ */
411
+ async appendUIResource(result) {
412
+ if (!this.isFeatureEnabled("mcpUI")) {
413
+ return result;
414
+ }
415
+ const uiHtml = await this.uiRegistry.get(this.name);
416
+ if (!uiHtml || !result.structuredContent) {
417
+ return result;
418
+ }
419
+ const uiResource = (0, server_1.createUIResource)({
420
+ uri: `ui://${this.name}`,
421
+ content: {
422
+ type: "rawHtml",
423
+ htmlString: uiHtml,
424
+ },
425
+ encoding: "text",
426
+ uiMetadata: {
427
+ "initial-render-data": result.structuredContent,
428
+ },
429
+ });
430
+ return {
431
+ ...result,
432
+ content: [...(result.content || []), uiResource],
433
+ };
434
+ }
351
435
  }
352
436
  exports.ToolBase = ToolBase;
353
437
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,8 @@ export type TransportRunnerConfig = {
56
56
  * `UserConfig`.
57
57
  *
58
58
  * To parse CLI arguments and environment variables in order to generate a
59
- * `UserConfig` object, you can use `createUserConfig` function, also
60
- * exported as `parseCliArgumentsAsUserConfig` through MCP server library
59
+ * `UserConfig` object, you can use `parseUserConfig` function, also
60
+ * exported as `parseUserConfig` through MCP server library
61
61
  * exports.
62
62
  *
63
63
  * Optionally, you can also use `UserConfigSchema` (available through MCP
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Supported transport protocol types.
3
+ *
4
+ * - `stdio`: Uses stdin/stdout for communication (default for CLI usage).
5
+ * - `http`: Uses HTTP/SSE for communication (for web-based clients).
6
+ */
7
+ export type TransportType = "stdio" | "http";
8
+ /**
9
+ * Request payload size limits in bytes for different transport protocols.
10
+ *
11
+ * These limits represent the maximum size of the JSON-RPC request body that can be
12
+ * sent to the MCP server.
13
+ *
14
+ * - `stdio`: Uses stdin/stdout with no inherent protocol limit. The limit is effectively
15
+ * determined by system memory and buffer sizes. We advertise a conservative 50 MiB limit
16
+ * but this is **informational only** - not enforced at the transport level.
17
+ *
18
+ * - `http`: Uses Express.js with the body-parser limit configured to 100 KB for JSON payloads.
19
+ * Note: Express's `bytes` library uses binary (1 KB = 1024 bytes).
20
+ * This value is **explicitly enforced** via `express.json({ limit })` in the HTTP transport.
21
+ * Requests exceeding this limit will be rejected with HTTP 413 Payload Too Large.
22
+ *
23
+ * @remarks
24
+ * These values are exposed in each tool's `_meta` field as `com.mongodb/maxRequestPayloadBytes`
25
+ * to inform LLMs about the size constraints when constructing tool call arguments.
26
+ */
27
+ export declare const TRANSPORT_PAYLOAD_LIMITS: Record<TransportType, number>;
28
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/transports/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKzD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRANSPORT_PAYLOAD_LIMITS = void 0;
4
+ /**
5
+ * Request payload size limits in bytes for different transport protocols.
6
+ *
7
+ * These limits represent the maximum size of the JSON-RPC request body that can be
8
+ * sent to the MCP server.
9
+ *
10
+ * - `stdio`: Uses stdin/stdout with no inherent protocol limit. The limit is effectively
11
+ * determined by system memory and buffer sizes. We advertise a conservative 50 MiB limit
12
+ * but this is **informational only** - not enforced at the transport level.
13
+ *
14
+ * - `http`: Uses Express.js with the body-parser limit configured to 100 KB for JSON payloads.
15
+ * Note: Express's `bytes` library uses binary (1 KB = 1024 bytes).
16
+ * This value is **explicitly enforced** via `express.json({ limit })` in the HTTP transport.
17
+ * Requests exceeding this limit will be rejected with HTTP 413 Payload Too Large.
18
+ *
19
+ * @remarks
20
+ * These values are exposed in each tool's `_meta` field as `com.mongodb/maxRequestPayloadBytes`
21
+ * to inform LLMs about the size constraints when constructing tool call arguments.
22
+ */
23
+ exports.TRANSPORT_PAYLOAD_LIMITS = {
24
+ /** Advertised limit for stdio transport (50 MiB - informational, not enforced) */
25
+ stdio: 50 * 1024 * 1024,
26
+ /** Enforced limit for HTTP transport configured in Express middleware) */
27
+ http: 100 * 1024,
28
+ };
29
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/transports/constants.ts"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,wBAAwB,GAAkC;IACnE,kFAAkF;IAClF,KAAK,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACvB,0EAA0E;IAC1E,IAAI,EAAE,GAAG,GAAG,IAAI;CACV,CAAC"}
@@ -34,7 +34,7 @@ class StreamableHttpRunner extends base_js_1.TransportRunnerBase {
34
34
  const app = (0, express_1.default)();
35
35
  this.sessionStore = new sessionStore_js_1.SessionStore(this.userConfig.idleTimeoutMs, this.userConfig.notificationTimeoutMs, this.logger);
36
36
  app.enable("trust proxy"); // needed for reverse proxy support
37
- app.use(express_1.default.json());
37
+ app.use(express_1.default.json({ limit: this.userConfig.httpBodyLimit }));
38
38
  app.use((req, res, next) => {
39
39
  for (const [key, value] of Object.entries(this.userConfig.httpHeaders)) {
40
40
  const header = req.headers[key.toLowerCase()];
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/transports/streamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/transports/streamableHttp.ts"],"names":[],"mappings":"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"}