@himanshusinghs/mongodb-mcp-server 1.5.1 → 1.7.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 (574) hide show
  1. package/README.md +67 -56
  2. package/dist/cjs/common/atlas/apiClient.d.ts +3 -1
  3. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.js +3 -3
  5. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  6. package/dist/cjs/common/config/configOverrides.d.ts +3 -3
  7. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -1
  8. package/dist/cjs/common/config/configOverrides.js.map +1 -1
  9. package/dist/cjs/common/config/parseUserConfig.js +3 -2
  10. package/dist/cjs/common/config/parseUserConfig.js.map +1 -1
  11. package/dist/cjs/common/config/userConfig.d.ts +3 -0
  12. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  13. package/dist/cjs/common/config/userConfig.js +18 -0
  14. package/dist/cjs/common/config/userConfig.js.map +1 -1
  15. package/dist/cjs/common/connectionErrorHandler.d.ts +3 -3
  16. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  17. package/dist/cjs/common/connectionManager.d.ts +1 -1
  18. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  19. package/dist/cjs/common/connectionManager.js +3 -3
  20. package/dist/cjs/common/connectionManager.js.map +1 -1
  21. package/dist/cjs/common/logger.d.ts +8 -3
  22. package/dist/cjs/common/logger.d.ts.map +1 -1
  23. package/dist/cjs/common/logger.js +5 -0
  24. package/dist/cjs/common/logger.js.map +1 -1
  25. package/dist/cjs/common/packageInfo.js +1 -1
  26. package/dist/cjs/common/session.d.ts +6 -3
  27. package/dist/cjs/common/session.d.ts.map +1 -1
  28. package/dist/cjs/common/session.js +2 -12
  29. package/dist/cjs/common/session.js.map +1 -1
  30. package/dist/cjs/lib.d.ts +12 -4
  31. package/dist/cjs/lib.d.ts.map +1 -1
  32. package/dist/cjs/lib.js +16 -7
  33. package/dist/cjs/lib.js.map +1 -1
  34. package/dist/cjs/resources/resource.d.ts +3 -3
  35. package/dist/cjs/resources/resource.d.ts.map +1 -1
  36. package/dist/cjs/resources/resource.js.map +1 -1
  37. package/dist/cjs/server.d.ts +67 -32
  38. package/dist/cjs/server.d.ts.map +1 -1
  39. package/dist/cjs/server.js +4 -1
  40. package/dist/cjs/server.js.map +1 -1
  41. package/dist/cjs/tools/assistant/assistantTool.d.ts +17 -0
  42. package/dist/cjs/tools/assistant/assistantTool.d.ts.map +1 -0
  43. package/dist/cjs/tools/assistant/assistantTool.js +44 -0
  44. package/dist/cjs/tools/assistant/assistantTool.js.map +1 -0
  45. package/dist/cjs/tools/assistant/listKnowledgeSources.d.ts +29 -0
  46. package/dist/cjs/tools/assistant/listKnowledgeSources.d.ts.map +1 -0
  47. package/dist/cjs/tools/assistant/listKnowledgeSources.js +51 -0
  48. package/dist/cjs/tools/assistant/listKnowledgeSources.js.map +1 -0
  49. package/dist/cjs/tools/assistant/searchKnowledge.d.ts +59 -0
  50. package/dist/cjs/tools/assistant/searchKnowledge.d.ts.map +1 -0
  51. package/dist/cjs/tools/assistant/searchKnowledge.js +65 -0
  52. package/dist/cjs/tools/assistant/searchKnowledge.js.map +1 -0
  53. package/dist/cjs/tools/assistant/tools.d.ts +4 -0
  54. package/dist/cjs/tools/assistant/tools.d.ts.map +1 -0
  55. package/dist/cjs/tools/assistant/tools.js +8 -0
  56. package/dist/cjs/tools/assistant/tools.js.map +1 -0
  57. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +1 -1
  58. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  59. package/dist/cjs/tools/atlas/connect/connectCluster.js +1 -1
  60. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  61. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +1 -1
  62. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
  63. package/dist/cjs/tools/atlas/create/createAccessList.js +1 -1
  64. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  65. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +1 -1
  66. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  67. package/dist/cjs/tools/atlas/create/createDBUser.js +1 -1
  68. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
  69. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +1 -1
  70. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  71. package/dist/cjs/tools/atlas/create/createFreeCluster.js +1 -1
  72. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
  73. package/dist/cjs/tools/atlas/create/createProject.d.ts +1 -1
  74. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  75. package/dist/cjs/tools/atlas/create/createProject.js +1 -1
  76. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  77. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
  78. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  79. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +1 -1
  80. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  81. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +1 -1
  82. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  83. package/dist/cjs/tools/atlas/read/inspectAccessList.js +1 -1
  84. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  85. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +1 -1
  86. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  87. package/dist/cjs/tools/atlas/read/inspectCluster.js +1 -1
  88. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  89. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +1 -1
  90. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  91. package/dist/cjs/tools/atlas/read/listAlerts.js +1 -1
  92. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  93. package/dist/cjs/tools/atlas/read/listClusters.d.ts +1 -1
  94. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  95. package/dist/cjs/tools/atlas/read/listClusters.js +1 -1
  96. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  97. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +1 -1
  98. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  99. package/dist/cjs/tools/atlas/read/listDBUsers.js +1 -1
  100. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  101. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +1 -1
  102. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  103. package/dist/cjs/tools/atlas/read/listOrgs.js +1 -1
  104. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  105. package/dist/cjs/tools/atlas/read/listProjects.d.ts +1 -1
  106. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  107. package/dist/cjs/tools/atlas/read/listProjects.js +1 -1
  108. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  109. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +1 -1
  110. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  111. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +1 -1
  112. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  113. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  114. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  115. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +1 -1
  116. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
  117. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  118. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  119. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  120. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  121. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  122. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  123. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +1 -1
  124. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -1
  125. package/dist/cjs/tools/index.d.ts +2 -1
  126. package/dist/cjs/tools/index.d.ts.map +1 -1
  127. package/dist/cjs/tools/index.js +3 -0
  128. package/dist/cjs/tools/index.js.map +1 -1
  129. package/dist/cjs/tools/mongodb/connect/connect.d.ts +1 -1
  130. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  131. package/dist/cjs/tools/mongodb/connect/connect.js +1 -1
  132. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  133. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +1 -1
  134. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
  135. package/dist/cjs/tools/mongodb/connect/switchConnection.js +1 -1
  136. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -1
  137. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +18 -6
  138. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  139. package/dist/cjs/tools/mongodb/create/createCollection.js +14 -2
  140. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  141. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +17 -4
  142. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  143. package/dist/cjs/tools/mongodb/create/createIndex.js +14 -1
  144. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  145. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +18 -5
  146. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  147. package/dist/cjs/tools/mongodb/create/insertMany.js +16 -2
  148. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  149. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +19 -7
  150. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  151. package/dist/cjs/tools/mongodb/delete/deleteMany.js +13 -1
  152. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  153. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +18 -6
  154. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  155. package/dist/cjs/tools/mongodb/delete/dropCollection.js +14 -2
  156. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  157. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +15 -5
  158. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  159. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +12 -2
  160. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  161. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +17 -4
  162. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  163. package/dist/cjs/tools/mongodb/delete/dropIndex.js +26 -1
  164. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  165. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +78 -9
  166. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  167. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +41 -29
  168. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  169. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +13 -4
  170. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  171. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +17 -8
  172. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  173. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +18 -7
  174. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  175. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +12 -3
  176. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  177. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -5
  178. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  179. package/dist/cjs/tools/mongodb/metadata/dbStats.js +9 -1
  180. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  181. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +15 -4
  182. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  183. package/dist/cjs/tools/mongodb/metadata/explain.js +12 -3
  184. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  185. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +27 -5
  186. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  187. package/dist/cjs/tools/mongodb/metadata/listCollections.js +21 -3
  188. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  189. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +5 -6
  190. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  191. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +5 -5
  192. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  193. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -4
  194. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  195. package/dist/cjs/tools/mongodb/metadata/logs.js +12 -1
  196. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  197. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +1 -1
  198. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  199. package/dist/cjs/tools/mongodb/mongodbTool.js +3 -3
  200. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  201. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -1
  202. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  203. package/dist/cjs/tools/mongodb/read/aggregate.js +1 -5
  204. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  205. package/dist/cjs/tools/mongodb/read/count.d.ts +1 -1
  206. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  207. package/dist/cjs/tools/mongodb/read/count.js +1 -2
  208. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  209. package/dist/cjs/tools/mongodb/read/export.d.ts +1 -1
  210. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  211. package/dist/cjs/tools/mongodb/read/export.js +1 -3
  212. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  213. package/dist/cjs/tools/mongodb/read/find.d.ts +1 -1
  214. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  215. package/dist/cjs/tools/mongodb/read/find.js +1 -4
  216. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  217. package/dist/cjs/tools/mongodb/tools.d.ts +17 -17
  218. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  219. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  220. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -5
  221. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  222. package/dist/cjs/tools/mongodb/update/renameCollection.js +43 -7
  223. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  224. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +21 -4
  225. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  226. package/dist/cjs/tools/mongodb/update/updateMany.js +18 -1
  227. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  228. package/dist/cjs/tools/tool.d.ts +99 -26
  229. package/dist/cjs/tools/tool.d.ts.map +1 -1
  230. package/dist/cjs/tools/tool.js +12 -8
  231. package/dist/cjs/tools/tool.js.map +1 -1
  232. package/dist/cjs/transports/base.d.ts +81 -89
  233. package/dist/cjs/transports/base.d.ts.map +1 -1
  234. package/dist/cjs/transports/base.js +61 -28
  235. package/dist/cjs/transports/base.js.map +1 -1
  236. package/dist/cjs/transports/dryModeRunner.d.ts +6 -2
  237. package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -1
  238. package/dist/cjs/transports/dryModeRunner.js +2 -2
  239. package/dist/cjs/transports/dryModeRunner.js.map +1 -1
  240. package/dist/cjs/transports/interfaces/common.d.ts +80 -0
  241. package/dist/cjs/transports/interfaces/common.d.ts.map +1 -0
  242. package/dist/cjs/transports/interfaces/common.js +3 -0
  243. package/dist/cjs/transports/interfaces/common.js.map +1 -0
  244. package/dist/cjs/transports/interfaces/index.d.ts +4 -0
  245. package/dist/cjs/transports/interfaces/index.d.ts.map +1 -0
  246. package/dist/cjs/transports/interfaces/index.js +3 -0
  247. package/dist/cjs/transports/interfaces/index.js.map +1 -0
  248. package/dist/cjs/transports/interfaces/legacy.d.ts +100 -0
  249. package/dist/cjs/transports/interfaces/legacy.d.ts.map +1 -0
  250. package/dist/cjs/transports/interfaces/legacy.js +3 -0
  251. package/dist/cjs/transports/interfaces/legacy.js.map +1 -0
  252. package/dist/cjs/transports/interfaces/v1.d.ts +6 -0
  253. package/dist/cjs/transports/interfaces/v1.d.ts.map +1 -0
  254. package/dist/cjs/transports/interfaces/v1.js +3 -0
  255. package/dist/cjs/transports/interfaces/v1.js.map +1 -0
  256. package/dist/cjs/transports/runnerConfigs/commonConfig.d.ts +85 -0
  257. package/dist/cjs/transports/runnerConfigs/commonConfig.d.ts.map +1 -0
  258. package/dist/cjs/transports/runnerConfigs/commonConfig.js +3 -0
  259. package/dist/cjs/transports/runnerConfigs/commonConfig.js.map +1 -0
  260. package/dist/cjs/transports/runnerConfigs/index.d.ts +6 -0
  261. package/dist/cjs/transports/runnerConfigs/index.d.ts.map +1 -0
  262. package/dist/cjs/transports/runnerConfigs/index.js +3 -0
  263. package/dist/cjs/transports/runnerConfigs/index.js.map +1 -0
  264. package/dist/cjs/transports/runnerConfigs/legacy.d.ts +100 -0
  265. package/dist/cjs/transports/runnerConfigs/legacy.d.ts.map +1 -0
  266. package/dist/cjs/transports/runnerConfigs/legacy.js +3 -0
  267. package/dist/cjs/transports/runnerConfigs/legacy.js.map +1 -0
  268. package/dist/cjs/transports/runnerConfigs/v1.d.ts +22 -0
  269. package/dist/cjs/transports/runnerConfigs/v1.d.ts.map +1 -0
  270. package/dist/cjs/transports/runnerConfigs/v1.js +3 -0
  271. package/dist/cjs/transports/runnerConfigs/v1.js.map +1 -0
  272. package/dist/cjs/transports/stdio.d.ts +9 -3
  273. package/dist/cjs/transports/stdio.d.ts.map +1 -1
  274. package/dist/cjs/transports/stdio.js +2 -2
  275. package/dist/cjs/transports/stdio.js.map +1 -1
  276. package/dist/cjs/transports/streamableHttp.d.ts +26 -8
  277. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  278. package/dist/cjs/transports/streamableHttp.js +204 -51
  279. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  280. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +1 -6
  281. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  282. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js +11 -25
  283. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  284. package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
  285. package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
  286. package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
  287. package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
  288. package/dist/esm/common/atlas/apiClient.d.ts +3 -1
  289. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  290. package/dist/esm/common/atlas/apiClient.js +1 -1
  291. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  292. package/dist/esm/common/config/configOverrides.d.ts +3 -3
  293. package/dist/esm/common/config/configOverrides.d.ts.map +1 -1
  294. package/dist/esm/common/config/configOverrides.js.map +1 -1
  295. package/dist/esm/common/config/parseUserConfig.js +4 -3
  296. package/dist/esm/common/config/parseUserConfig.js.map +1 -1
  297. package/dist/esm/common/config/userConfig.d.ts +3 -0
  298. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  299. package/dist/esm/common/config/userConfig.js +18 -0
  300. package/dist/esm/common/config/userConfig.js.map +1 -1
  301. package/dist/esm/common/connectionErrorHandler.d.ts +3 -3
  302. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  303. package/dist/esm/common/connectionManager.d.ts +1 -1
  304. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  305. package/dist/esm/common/connectionManager.js +1 -1
  306. package/dist/esm/common/connectionManager.js.map +1 -1
  307. package/dist/esm/common/logger.d.ts +8 -3
  308. package/dist/esm/common/logger.d.ts.map +1 -1
  309. package/dist/esm/common/logger.js +5 -0
  310. package/dist/esm/common/logger.js.map +1 -1
  311. package/dist/esm/common/packageInfo.js +1 -1
  312. package/dist/esm/common/session.d.ts +6 -3
  313. package/dist/esm/common/session.d.ts.map +1 -1
  314. package/dist/esm/common/session.js +2 -12
  315. package/dist/esm/common/session.js.map +1 -1
  316. package/dist/esm/lib.d.ts +12 -4
  317. package/dist/esm/lib.d.ts.map +1 -1
  318. package/dist/esm/lib.js +9 -3
  319. package/dist/esm/lib.js.map +1 -1
  320. package/dist/esm/resources/resource.d.ts +3 -3
  321. package/dist/esm/resources/resource.d.ts.map +1 -1
  322. package/dist/esm/resources/resource.js.map +1 -1
  323. package/dist/esm/server.d.ts +67 -32
  324. package/dist/esm/server.d.ts.map +1 -1
  325. package/dist/esm/server.js +4 -1
  326. package/dist/esm/server.js.map +1 -1
  327. package/dist/esm/tools/assistant/assistantTool.d.ts +17 -0
  328. package/dist/esm/tools/assistant/assistantTool.d.ts.map +1 -0
  329. package/dist/esm/tools/assistant/assistantTool.js +40 -0
  330. package/dist/esm/tools/assistant/assistantTool.js.map +1 -0
  331. package/dist/esm/tools/assistant/listKnowledgeSources.d.ts +29 -0
  332. package/dist/esm/tools/assistant/listKnowledgeSources.d.ts.map +1 -0
  333. package/dist/esm/tools/assistant/listKnowledgeSources.js +47 -0
  334. package/dist/esm/tools/assistant/listKnowledgeSources.js.map +1 -0
  335. package/dist/esm/tools/assistant/searchKnowledge.d.ts +59 -0
  336. package/dist/esm/tools/assistant/searchKnowledge.d.ts.map +1 -0
  337. package/dist/esm/tools/assistant/searchKnowledge.js +61 -0
  338. package/dist/esm/tools/assistant/searchKnowledge.js.map +1 -0
  339. package/dist/esm/tools/assistant/tools.d.ts +4 -0
  340. package/dist/esm/tools/assistant/tools.d.ts.map +1 -0
  341. package/dist/esm/tools/assistant/tools.js +4 -0
  342. package/dist/esm/tools/assistant/tools.js.map +1 -0
  343. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +1 -1
  344. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  345. package/dist/esm/tools/atlas/connect/connectCluster.js +1 -1
  346. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  347. package/dist/esm/tools/atlas/create/createAccessList.d.ts +1 -1
  348. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
  349. package/dist/esm/tools/atlas/create/createAccessList.js +1 -1
  350. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  351. package/dist/esm/tools/atlas/create/createDBUser.d.ts +1 -1
  352. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  353. package/dist/esm/tools/atlas/create/createDBUser.js +1 -1
  354. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
  355. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +1 -1
  356. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  357. package/dist/esm/tools/atlas/create/createFreeCluster.js +1 -1
  358. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
  359. package/dist/esm/tools/atlas/create/createProject.d.ts +1 -1
  360. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  361. package/dist/esm/tools/atlas/create/createProject.js +1 -1
  362. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  363. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
  364. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  365. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +1 -1
  366. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  367. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +1 -1
  368. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  369. package/dist/esm/tools/atlas/read/inspectAccessList.js +1 -1
  370. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  371. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +1 -1
  372. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  373. package/dist/esm/tools/atlas/read/inspectCluster.js +1 -1
  374. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  375. package/dist/esm/tools/atlas/read/listAlerts.d.ts +1 -1
  376. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  377. package/dist/esm/tools/atlas/read/listAlerts.js +1 -1
  378. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  379. package/dist/esm/tools/atlas/read/listClusters.d.ts +1 -1
  380. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  381. package/dist/esm/tools/atlas/read/listClusters.js +1 -1
  382. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  383. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +1 -1
  384. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  385. package/dist/esm/tools/atlas/read/listDBUsers.js +1 -1
  386. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  387. package/dist/esm/tools/atlas/read/listOrgs.d.ts +1 -1
  388. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  389. package/dist/esm/tools/atlas/read/listOrgs.js +1 -1
  390. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  391. package/dist/esm/tools/atlas/read/listProjects.d.ts +1 -1
  392. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  393. package/dist/esm/tools/atlas/read/listProjects.js +1 -1
  394. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  395. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +1 -1
  396. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  397. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +1 -1
  398. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  399. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  400. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  401. package/dist/esm/tools/atlasLocal/create/createDeployment.js +1 -1
  402. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
  403. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  404. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  405. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  406. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  407. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  408. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  409. package/dist/esm/tools/atlasLocal/read/listDeployments.js +1 -1
  410. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -1
  411. package/dist/esm/tools/index.d.ts +2 -1
  412. package/dist/esm/tools/index.d.ts.map +1 -1
  413. package/dist/esm/tools/index.js +3 -0
  414. package/dist/esm/tools/index.js.map +1 -1
  415. package/dist/esm/tools/mongodb/connect/connect.d.ts +1 -1
  416. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  417. package/dist/esm/tools/mongodb/connect/connect.js +1 -1
  418. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  419. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +1 -1
  420. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
  421. package/dist/esm/tools/mongodb/connect/switchConnection.js +1 -1
  422. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -1
  423. package/dist/esm/tools/mongodb/create/createCollection.d.ts +18 -6
  424. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  425. package/dist/esm/tools/mongodb/create/createCollection.js +14 -2
  426. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  427. package/dist/esm/tools/mongodb/create/createIndex.d.ts +17 -4
  428. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  429. package/dist/esm/tools/mongodb/create/createIndex.js +14 -1
  430. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  431. package/dist/esm/tools/mongodb/create/insertMany.d.ts +18 -5
  432. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  433. package/dist/esm/tools/mongodb/create/insertMany.js +16 -2
  434. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  435. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +19 -7
  436. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  437. package/dist/esm/tools/mongodb/delete/deleteMany.js +13 -1
  438. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  439. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +18 -6
  440. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  441. package/dist/esm/tools/mongodb/delete/dropCollection.js +14 -2
  442. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  443. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +15 -5
  444. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  445. package/dist/esm/tools/mongodb/delete/dropDatabase.js +12 -2
  446. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  447. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +17 -4
  448. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  449. package/dist/esm/tools/mongodb/delete/dropIndex.js +26 -1
  450. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  451. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +78 -9
  452. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  453. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +41 -29
  454. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  455. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +13 -4
  456. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  457. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +17 -8
  458. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  459. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +18 -7
  460. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  461. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +12 -3
  462. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  463. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -5
  464. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  465. package/dist/esm/tools/mongodb/metadata/dbStats.js +9 -1
  466. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  467. package/dist/esm/tools/mongodb/metadata/explain.d.ts +15 -4
  468. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  469. package/dist/esm/tools/mongodb/metadata/explain.js +12 -3
  470. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  471. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +27 -5
  472. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  473. package/dist/esm/tools/mongodb/metadata/listCollections.js +21 -3
  474. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  475. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +5 -6
  476. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  477. package/dist/esm/tools/mongodb/metadata/listDatabases.js +3 -3
  478. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  479. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -4
  480. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  481. package/dist/esm/tools/mongodb/metadata/logs.js +12 -1
  482. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  483. package/dist/esm/tools/mongodb/mongodbTool.d.ts +1 -1
  484. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  485. package/dist/esm/tools/mongodb/mongodbTool.js +3 -3
  486. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  487. package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -1
  488. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  489. package/dist/esm/tools/mongodb/read/aggregate.js +1 -5
  490. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  491. package/dist/esm/tools/mongodb/read/count.d.ts +1 -1
  492. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  493. package/dist/esm/tools/mongodb/read/count.js +1 -2
  494. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  495. package/dist/esm/tools/mongodb/read/export.d.ts +1 -1
  496. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  497. package/dist/esm/tools/mongodb/read/export.js +1 -3
  498. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  499. package/dist/esm/tools/mongodb/read/find.d.ts +1 -1
  500. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  501. package/dist/esm/tools/mongodb/read/find.js +1 -4
  502. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  503. package/dist/esm/tools/mongodb/tools.d.ts +17 -17
  504. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  505. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  506. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -5
  507. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  508. package/dist/esm/tools/mongodb/update/renameCollection.js +43 -7
  509. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  510. package/dist/esm/tools/mongodb/update/updateMany.d.ts +21 -4
  511. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  512. package/dist/esm/tools/mongodb/update/updateMany.js +18 -1
  513. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  514. package/dist/esm/tools/tool.d.ts +99 -26
  515. package/dist/esm/tools/tool.d.ts.map +1 -1
  516. package/dist/esm/tools/tool.js +12 -8
  517. package/dist/esm/tools/tool.js.map +1 -1
  518. package/dist/esm/transports/base.d.ts +81 -89
  519. package/dist/esm/transports/base.d.ts.map +1 -1
  520. package/dist/esm/transports/base.js +63 -30
  521. package/dist/esm/transports/base.js.map +1 -1
  522. package/dist/esm/transports/dryModeRunner.d.ts +6 -2
  523. package/dist/esm/transports/dryModeRunner.d.ts.map +1 -1
  524. package/dist/esm/transports/dryModeRunner.js +2 -2
  525. package/dist/esm/transports/dryModeRunner.js.map +1 -1
  526. package/dist/esm/transports/interfaces/common.d.ts +80 -0
  527. package/dist/esm/transports/interfaces/common.d.ts.map +1 -0
  528. package/dist/esm/transports/interfaces/common.js +2 -0
  529. package/dist/esm/transports/interfaces/common.js.map +1 -0
  530. package/dist/esm/transports/interfaces/index.d.ts +4 -0
  531. package/dist/esm/transports/interfaces/index.d.ts.map +1 -0
  532. package/dist/esm/transports/interfaces/index.js +2 -0
  533. package/dist/esm/transports/interfaces/index.js.map +1 -0
  534. package/dist/esm/transports/interfaces/legacy.d.ts +100 -0
  535. package/dist/esm/transports/interfaces/legacy.d.ts.map +1 -0
  536. package/dist/esm/transports/interfaces/legacy.js +2 -0
  537. package/dist/esm/transports/interfaces/legacy.js.map +1 -0
  538. package/dist/esm/transports/interfaces/v1.d.ts +6 -0
  539. package/dist/esm/transports/interfaces/v1.d.ts.map +1 -0
  540. package/dist/esm/transports/interfaces/v1.js +2 -0
  541. package/dist/esm/transports/interfaces/v1.js.map +1 -0
  542. package/dist/esm/transports/runnerConfigs/commonConfig.d.ts +85 -0
  543. package/dist/esm/transports/runnerConfigs/commonConfig.d.ts.map +1 -0
  544. package/dist/esm/transports/runnerConfigs/commonConfig.js +2 -0
  545. package/dist/esm/transports/runnerConfigs/commonConfig.js.map +1 -0
  546. package/dist/esm/transports/runnerConfigs/index.d.ts +6 -0
  547. package/dist/esm/transports/runnerConfigs/index.d.ts.map +1 -0
  548. package/dist/esm/transports/runnerConfigs/index.js +2 -0
  549. package/dist/esm/transports/runnerConfigs/index.js.map +1 -0
  550. package/dist/esm/transports/runnerConfigs/legacy.d.ts +100 -0
  551. package/dist/esm/transports/runnerConfigs/legacy.d.ts.map +1 -0
  552. package/dist/esm/transports/runnerConfigs/legacy.js +2 -0
  553. package/dist/esm/transports/runnerConfigs/legacy.js.map +1 -0
  554. package/dist/esm/transports/runnerConfigs/v1.d.ts +22 -0
  555. package/dist/esm/transports/runnerConfigs/v1.d.ts.map +1 -0
  556. package/dist/esm/transports/runnerConfigs/v1.js +2 -0
  557. package/dist/esm/transports/runnerConfigs/v1.js.map +1 -0
  558. package/dist/esm/transports/stdio.d.ts +9 -3
  559. package/dist/esm/transports/stdio.d.ts.map +1 -1
  560. package/dist/esm/transports/stdio.js +2 -2
  561. package/dist/esm/transports/stdio.js.map +1 -1
  562. package/dist/esm/transports/streamableHttp.d.ts +26 -8
  563. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  564. package/dist/esm/transports/streamableHttp.js +205 -52
  565. package/dist/esm/transports/streamableHttp.js.map +1 -1
  566. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +1 -6
  567. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  568. package/dist/esm/ui/components/ListDatabases/ListDatabases.js +11 -25
  569. package/dist/esm/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  570. package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
  571. package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
  572. package/dist/esm/ui/lib/tools/list-databases.js +1 -1
  573. package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
  574. package/package.json +20 -19
@@ -1,5 +1,4 @@
1
- import type { z } from "zod";
2
- import { type ZodRawShape } from "zod";
1
+ import type { z, ZodRawShape, ZodTypeAny } from "zod";
3
2
  import type { CallToolResult, ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
4
3
  import type { Session } from "../common/session.js";
5
4
  import type { Telemetry } from "../telemetry/telemetry.js";
@@ -12,8 +11,30 @@ import type { UIRegistry } from "../ui/registry/index.js";
12
11
  export type ToolArgs<T extends ZodRawShape> = {
13
12
  [K in keyof T]: z.infer<T[K]>;
14
13
  };
15
- export type ToolExecutionContext = {
14
+ export interface ToolExecutionContext {
16
15
  signal: AbortSignal;
16
+ /**
17
+ * Request context object available only when running atop
18
+ * StreamableHttpTransport.
19
+ */
20
+ requestInfo?: {
21
+ headers?: Record<string, unknown>;
22
+ };
23
+ }
24
+ export type ToolResult<OutputSchema extends ZodRawShape | undefined = undefined> = OutputSchema extends ZodRawShape ? StructuredToolResult<OutputSchema> : {
25
+ content: {
26
+ type: "text";
27
+ text: string;
28
+ }[];
29
+ isError?: boolean;
30
+ };
31
+ type StructuredToolResult<OutputSchema extends ZodRawShape> = {
32
+ content: {
33
+ type: "text";
34
+ text: string;
35
+ }[];
36
+ isError?: boolean;
37
+ structuredContent: z.objectOutputType<OutputSchema, ZodTypeAny>;
17
38
  };
18
39
  /**
19
40
  * The type of operation the tool performs. This is used when evaluating if a tool is allowed to run based on
@@ -35,8 +56,9 @@ export type OperationType = "metadata" | "read" | "create" | "delete" | "update"
35
56
  * aggregating data, listing databases/collections/indexes, creating indexes, etc.
36
57
  * - `atlas` is used for tools that interact with MongoDB Atlas, such as listing clusters, creating clusters, etc.
37
58
  * - `atlas-local` is used for tools that interact with local Atlas deployments.
59
+ * - `assistant` is used for tools that interact with the Assistant, such as searching the public knowledge base.
38
60
  */
39
- export type ToolCategory = "mongodb" | "atlas" | "atlas-local";
61
+ export type ToolCategory = "mongodb" | "atlas" | "atlas-local" | "assistant";
40
62
  /**
41
63
  * Parameters passed to the constructor of all tools that extends `ToolBase`.
42
64
  *
@@ -45,7 +67,12 @@ export type ToolCategory = "mongodb" | "atlas" | "atlas-local";
45
67
  *
46
68
  * See `Server.registerTools` method in `src/server.ts` for further reference.
47
69
  */
48
- export type ToolConstructorParams = {
70
+ export type ToolConstructorParams<TUserConfig extends UserConfig = UserConfig, TContext = unknown> = {
71
+ /**
72
+ * The unique name of this tool (injected from the static
73
+ * `toolName` property on the Tool class).
74
+ */
75
+ name: string;
49
76
  /**
50
77
  * The category that the tool belongs to (injected from the static
51
78
  * `category` property on the Tool class).
@@ -68,7 +95,7 @@ export type ToolConstructorParams = {
68
95
  *
69
96
  * See `src/common/config/userConfig.ts` for further reference.
70
97
  */
71
- config: UserConfig;
98
+ config: TUserConfig;
72
99
  /**
73
100
  * The telemetry service for tracking tool usage.
74
101
  *
@@ -82,13 +109,32 @@ export type ToolConstructorParams = {
82
109
  */
83
110
  elicitation: Elicitation;
84
111
  uiRegistry?: UIRegistry;
112
+ /**
113
+ * Optional custom context object that will be available to tools.
114
+ *
115
+ * Library consumers can provide custom context data that will be
116
+ * available during tool execution. This is useful for passing shared
117
+ * services used by multiple tools.
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const runner = new StreamableHttpRunner({
122
+ * userConfig: { ... },
123
+ * toolContext: {
124
+ * tenantId: "my-tenant",
125
+ * userId: "user-123",
126
+ * },
127
+ * });
128
+ * ```
129
+ */
130
+ context?: TContext;
85
131
  };
86
132
  /**
87
133
  * The type that all tool classes must conform to when implementing custom tools
88
134
  * for the MongoDB MCP Server.
89
135
  *
90
- * This type enforces that tool classes have static properties `category` and
91
- * `operationType` which are injected during instantiation of tool classes.
136
+ * This type enforces that tool classes have static properties `toolName`, `category`,
137
+ * and `operationType` which are injected during instantiation of tool classes.
92
138
  *
93
139
  * @example
94
140
  * ```typescript
@@ -98,11 +144,11 @@ export type ToolConstructorParams = {
98
144
  *
99
145
  * class MyCustomTool extends ToolBase {
100
146
  * // Required static properties for ToolClass conformance
147
+ * static toolName = "my-custom-tool";
101
148
  * static category: ToolCategory = "mongodb";
102
149
  * static operationType: OperationType = "read";
103
150
  *
104
151
  * // Required abstract properties
105
- * override name = "my-custom-tool";
106
152
  * public description = "My custom tool description";
107
153
  * public argsShape = {
108
154
  * query: z.string().describe("The query parameter"),
@@ -129,9 +175,15 @@ export type ToolConstructorParams = {
129
175
  * });
130
176
  * ```
131
177
  */
132
- export type ToolClass = {
178
+ export type ToolClass<TUserConfig extends UserConfig = UserConfig, TContext = unknown> = {
133
179
  /** Constructor signature for the tool class */
134
- new (params: ToolConstructorParams): ToolBase;
180
+ new (params: ToolConstructorParams<TUserConfig, TContext>): ToolBase<TUserConfig, TContext>;
181
+ /**
182
+ * The unique name of this tool.
183
+ *
184
+ * Must be unique across all tools in the server.
185
+ */
186
+ toolName: string;
135
187
  /** The category that the tool belongs to */
136
188
  category: ToolCategory;
137
189
  /** The type of operation the tool performs */
@@ -147,9 +199,9 @@ export type ToolClass = {
147
199
  *
148
200
  * To create a custom tool, you must:
149
201
  * 1. Extend the `ToolBase` class
150
- * 2. Define static properties: `category` and `operationType`
151
- * 3. Implement required abstract members: `name`, `description`,
152
- * `argsShape`, `execute()`, `resolveTelemetryMetadata()`
202
+ * 2. Define static properties: `toolName`, `category`, and `operationType`
203
+ * 3. Implement required abstract members: `description`, `argsShape`,
204
+ * `execute()`, `resolveTelemetryMetadata()`
153
205
  *
154
206
  * @example Basic Custom Tool
155
207
  * ```typescript
@@ -158,12 +210,12 @@ export type ToolClass = {
158
210
  * import { z } from "zod";
159
211
  *
160
212
  * class MyCustomTool extends ToolBase {
161
- * // Required static property for ToolClass conformance
213
+ * // Required static properties for ToolClass conformance
214
+ * static toolName = "my-custom-tool";
162
215
  * static category: ToolCategory = "mongodb";
163
216
  * static operationType: OperationType = "read";
164
217
  *
165
218
  * // Required abstract properties
166
- * override name = "my-custom-tool";
167
219
  * public description = "My custom tool description";
168
220
  * public argsShape = {
169
221
  * query: z.string().describe("The query parameter"),
@@ -202,6 +254,7 @@ export type ToolClass = {
202
254
  *
203
255
  * The following properties are automatically set when the tool is instantiated
204
256
  * by the server (derived from the static properties):
257
+ * - `name` - The tool's unique name (from static `toolName`)
205
258
  * - `category` - The tool's category (from static `category`)
206
259
  * - `operationType` - The tool's operation type (from static `operationType`)
207
260
  *
@@ -215,19 +268,19 @@ export type ToolClass = {
215
268
  * @see {@link ToolConstructorParams} for the parameters passed to the
216
269
  * constructor
217
270
  */
218
- export declare abstract class ToolBase {
271
+ export declare abstract class ToolBase<TUserConfig extends UserConfig = UserConfig, TContext = unknown> {
219
272
  /**
220
273
  * The unique name of this tool.
221
274
  *
222
275
  * Must be unique across all tools in the server.
223
276
  */
224
- abstract name: string;
277
+ readonly name: string;
225
278
  /**
226
279
  * The category of this tool.
227
280
  *
228
281
  * @see {@link ToolCategory} for the available tool categories.
229
282
  */
230
- category: ToolCategory;
283
+ readonly category: ToolCategory;
231
284
  /**
232
285
  * The type of operation this tool performs.
233
286
  *
@@ -236,7 +289,7 @@ export declare abstract class ToolBase {
236
289
  *
237
290
  * @see {@link OperationType} for the available tool operations.
238
291
  */
239
- operationType: OperationType;
292
+ readonly operationType: OperationType;
240
293
  /**
241
294
  * Human-readable description of what the tool does.
242
295
  *
@@ -316,11 +369,12 @@ export declare abstract class ToolBase {
316
369
  * result conforming to the MCP protocol.
317
370
  *
318
371
  * @param args - The validated arguments passed to the tool
372
+ * @param context - The execution context containing signal and optional request info
319
373
  * @returns A promise resolving to the tool execution result
320
374
  *
321
375
  * @example
322
376
  * ```typescript
323
- * protected async execute(args: { query: string }): Promise<CallToolResult> {
377
+ * protected async execute(args: { query: string }, context): Promise<CallToolResult> {
324
378
  * const results = await this.session.db.collection('items').find({
325
379
  * name: { $regex: args.query, $options: 'i' }
326
380
  * }).toArray();
@@ -334,9 +388,9 @@ export declare abstract class ToolBase {
334
388
  * }
335
389
  * ```
336
390
  */
337
- protected abstract execute(args: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<CallToolResult>;
391
+ protected abstract execute(args: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<CallToolResult>;
338
392
  /** 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>;
393
+ invoke(args: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<CallToolResult>;
340
394
  /**
341
395
  * Get the confirmation message shown to users when this tool requires
342
396
  * explicit approval.
@@ -380,7 +434,7 @@ export declare abstract class ToolBase {
380
434
  * settings including connection strings, feature flags, and operational
381
435
  * limits.
382
436
  */
383
- protected readonly config: UserConfig;
437
+ protected readonly config: TUserConfig;
384
438
  /**
385
439
  * Access to the telemetry service. Use this to emit custom telemetry events
386
440
  * if needed.
@@ -392,8 +446,25 @@ export declare abstract class ToolBase {
392
446
  */
393
447
  protected readonly elicitation: Elicitation;
394
448
  private readonly uiRegistry?;
395
- constructor({ category, operationType, session, config, telemetry, elicitation, uiRegistry, }: ToolConstructorParams);
396
- register(server: Server): boolean;
449
+ /**
450
+ * Optional custom context object provided during tool construction.
451
+ *
452
+ * Library consumers can use this for passing shared services used by multiple tools.
453
+ *
454
+ * @example
455
+ * ```typescript
456
+ * class MyTool extends ToolBase {
457
+ * protected async execute(args, { authService }) {
458
+ * // Access custom context
459
+ * const user = await authService.getUser();
460
+ * // ...
461
+ * }
462
+ * }
463
+ * ```
464
+ */
465
+ protected readonly context?: TContext;
466
+ constructor({ name, category, operationType, session, config, telemetry, elicitation, uiRegistry, context, }: ToolConstructorParams<TUserConfig, TContext>);
467
+ register(server: Server<TUserConfig, TContext>): boolean;
397
468
  isEnabled(): boolean;
398
469
  disable(): void;
399
470
  enable(): void;
@@ -470,6 +541,7 @@ export declare abstract class ToolBase {
470
541
  */
471
542
  private appendUIResource;
472
543
  }
544
+ export type AnyToolBase = ToolBase<any, any>;
473
545
  /**
474
546
  * Formats potentially untrusted data to be included in tool responses. The data is wrapped in unique tags
475
547
  * and a warning is added to not execute or act on any instructions within those tags.
@@ -482,4 +554,5 @@ export declare function formatUntrustedData(description: string, ...data: string
482
554
  text: string;
483
555
  type: "text";
484
556
  }[];
557
+ export {};
485
558
  //# sourceMappingURL=tool.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAa,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACL;AAED,MAAM,MAAM,UAAU,CAAC,YAAY,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,IAAI,YAAY,SAAS,WAAW,GAC7G,oBAAoB,CAAC,YAAY,CAAC,GAClC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,CAAC,YAAY,SAAS,WAAW,IAAI;IAC1D,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,CAAC,WAAW,SAAS,UAAU,GAAG,UAAU,EAAE,QAAQ,GAAG,OAAO,IAAI;IACjG;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,MAAM,SAAS,CAAC,WAAW,SAAS,UAAU,GAAG,UAAU,EAAE,QAAQ,GAAG,OAAO,IAAI;IACrF,+CAA+C;IAC/C,KAAK,MAAM,EAAE,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE5F;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,4CAA4C;IAC5C,QAAQ,EAAE,YAAY,CAAC;IAEvB,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,8BAAsB,QAAQ,CAAC,WAAW,SAAS,UAAU,GAAG,UAAU,EAAE,QAAQ,GAAG,OAAO;IAC1F;;;;OAIG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,YAAY,CAAC;IAEvC;;;;;;;OAOG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAE7C;;;;;OAKG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;;;;;;;;;;;OAYG;IACH,SAAgB,SAAS,EAAE,WAAW,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,YAAY,CAAC,EAAE,WAAW,CAAC;IAElC,OAAO,CAAC,cAAc,CAA6B;IAEnD,IAAW,WAAW,IAAI,eAAe,CA0BxC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBhD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CACtB,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrC,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAE1B,uHAAuH;IAC1G,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0DlH;;;;;;;;;;;;;;;;OAgBG;IAEH,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;IAI/E,8CAA8C;IACvC,oBAAoB,IAAI,OAAO;IAItC;;;;;;;;;;;OAWG;IACU,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAEpC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAEvC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;IAEzC;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;gBAE1B,EACR,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,GACV,EAAE,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC;IAYxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,OAAO;IAoCxD,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;IAYf,MAAM,IAAI,IAAI;IAarB,SAAS,CAAC,aAAa,IAAI,OAAO;IA4BlC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IAEH,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EAEd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAClD,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAY3C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CACvC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GACvC,qBAAqB;IAExB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAyBrB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAI5D,SAAS,CAAC,yBAAyB,IAAI,kBAAkB;IAqBzD;;;;;OAKG;YACW,gBAAgB;CAgCjC;AAGD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CA2B5G"}
@@ -12,9 +12,9 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
12
12
  *
13
13
  * To create a custom tool, you must:
14
14
  * 1. Extend the `ToolBase` class
15
- * 2. Define static properties: `category` and `operationType`
16
- * 3. Implement required abstract members: `name`, `description`,
17
- * `argsShape`, `execute()`, `resolveTelemetryMetadata()`
15
+ * 2. Define static properties: `toolName`, `category`, and `operationType`
16
+ * 3. Implement required abstract members: `description`, `argsShape`,
17
+ * `execute()`, `resolveTelemetryMetadata()`
18
18
  *
19
19
  * @example Basic Custom Tool
20
20
  * ```typescript
@@ -23,12 +23,12 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
23
23
  * import { z } from "zod";
24
24
  *
25
25
  * class MyCustomTool extends ToolBase {
26
- * // Required static property for ToolClass conformance
26
+ * // Required static properties for ToolClass conformance
27
+ * static toolName = "my-custom-tool";
27
28
  * static category: ToolCategory = "mongodb";
28
29
  * static operationType: OperationType = "read";
29
30
  *
30
31
  * // Required abstract properties
31
- * override name = "my-custom-tool";
32
32
  * public description = "My custom tool description";
33
33
  * public argsShape = {
34
34
  * query: z.string().describe("The query parameter"),
@@ -67,6 +67,7 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
67
67
  *
68
68
  * The following properties are automatically set when the tool is instantiated
69
69
  * by the server (derived from the static properties):
70
+ * - `name` - The tool's unique name (from static `toolName`)
70
71
  * - `category` - The tool's category (from static `category`)
71
72
  * - `operationType` - The tool's operation type (from static `operationType`)
72
73
  *
@@ -144,7 +145,7 @@ export class ToolBase {
144
145
  };
145
146
  }
146
147
  /** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
147
- async invoke(args, { signal }) {
148
+ async invoke(args, context) {
148
149
  let startTime = Date.now();
149
150
  try {
150
151
  if (this.requiresConfirmation()) {
@@ -162,6 +163,7 @@ export class ToolBase {
162
163
  text: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
163
164
  },
164
165
  ],
166
+ isError: true,
165
167
  };
166
168
  }
167
169
  // We do not want to include the elicitation time in the tool execution time
@@ -175,7 +177,7 @@ export class ToolBase {
175
177
  message: `Executing tool ${this.name}`,
176
178
  noRedaction: true,
177
179
  });
178
- const toolCallResult = await this.execute(args, { signal });
180
+ const toolCallResult = await this.execute(args, context);
179
181
  const result = await this.appendUIResource(toolCallResult);
180
182
  this.emitToolEvent(args, { startTime, result });
181
183
  this.session.logger.debug({
@@ -240,7 +242,8 @@ export class ToolBase {
240
242
  }
241
243
  return this.elicitation.requestConfirmation(this.getConfirmationMessage(args));
242
244
  }
243
- constructor({ category, operationType, session, config, telemetry, elicitation, uiRegistry, }) {
245
+ constructor({ name, category, operationType, session, config, telemetry, elicitation, uiRegistry, context, }) {
246
+ this.name = name;
244
247
  this.category = category;
245
248
  this.operationType = operationType;
246
249
  this.session = session;
@@ -248,6 +251,7 @@ export class ToolBase {
248
251
  this.telemetry = telemetry;
249
252
  this.elicitation = elicitation;
250
253
  this.uiRegistry = uiRegistry;
254
+ this.context = context;
251
255
  }
252
256
  register(server) {
253
257
  if (!this.verifyAllowed()) {
@@ -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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"}