@eclipse-glsp/server-mcp 2.7.0-next.9 → 2.8.0-next.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 (461) hide show
  1. package/README.md +17 -3
  2. package/{lib/util/index.d.ts → browser.d.ts} +1 -3
  3. package/browser.js +18 -0
  4. package/common.d.ts +16 -0
  5. package/common.js +18 -0
  6. package/lib/{resources → browser}/index.d.ts +5 -4
  7. package/lib/browser/index.d.ts.map +1 -0
  8. package/lib/{index.js → browser/index.js} +20 -24
  9. package/lib/browser/index.js.map +1 -0
  10. package/lib/browser/modules/browser-mcp-server-module.d.ts +42 -0
  11. package/lib/browser/modules/browser-mcp-server-module.d.ts.map +1 -0
  12. package/lib/browser/modules/browser-mcp-server-module.js +50 -0
  13. package/lib/browser/modules/browser-mcp-server-module.js.map +1 -0
  14. package/lib/browser/reexport.d.ts +17 -0
  15. package/lib/browser/reexport.d.ts.map +1 -0
  16. package/lib/{util/index.js → browser/reexport.js} +17 -18
  17. package/lib/browser/reexport.js.map +1 -0
  18. package/lib/browser/server/browser-mcp-request-context.d.ts +27 -0
  19. package/lib/browser/server/browser-mcp-request-context.d.ts.map +1 -0
  20. package/lib/browser/server/browser-mcp-request-context.js +67 -0
  21. package/lib/browser/server/browser-mcp-request-context.js.map +1 -0
  22. package/lib/browser/server/mcp-worker-bridge.d.ts +81 -0
  23. package/lib/browser/server/mcp-worker-bridge.d.ts.map +1 -0
  24. package/lib/browser/server/mcp-worker-bridge.js +159 -0
  25. package/lib/browser/server/mcp-worker-bridge.js.map +1 -0
  26. package/lib/browser/server/web-mcp-server-launcher.d.ts +34 -0
  27. package/lib/browser/server/web-mcp-server-launcher.d.ts.map +1 -0
  28. package/lib/browser/server/web-mcp-server-launcher.js +50 -0
  29. package/lib/browser/server/web-mcp-server-launcher.js.map +1 -0
  30. package/lib/common/index.d.ts +65 -0
  31. package/lib/common/index.d.ts.map +1 -0
  32. package/lib/common/index.js +81 -0
  33. package/lib/common/index.js.map +1 -0
  34. package/lib/{server/mcp-server-module.d.ts → common/modules/abstract-mcp-server-module.d.ts} +55 -46
  35. package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -0
  36. package/lib/{server/mcp-server-module.js → common/modules/abstract-mcp-server-module.js} +58 -79
  37. package/lib/common/modules/abstract-mcp-server-module.js.map +1 -0
  38. package/lib/{server → common/modules}/mcp-diagram-module.d.ts +5 -5
  39. package/lib/common/modules/mcp-diagram-module.d.ts.map +1 -0
  40. package/lib/{server → common/modules}/mcp-diagram-module.js +44 -28
  41. package/lib/common/modules/mcp-diagram-module.js.map +1 -0
  42. package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.d.ts +2 -1
  43. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
  44. package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.js +21 -15
  45. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
  46. package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.d.ts +2 -1
  47. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
  48. package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.js +16 -12
  49. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
  50. package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.d.ts +4 -1
  51. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
  52. package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.js +10 -7
  53. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
  54. package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.d.ts +4 -1
  55. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
  56. package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.js +9 -6
  57. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
  58. package/lib/common/resources/services/element-types-provider.d.ts.map +1 -0
  59. package/lib/common/resources/services/element-types-provider.js.map +1 -0
  60. package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -0
  61. package/lib/{resources → common/resources}/services/mcp-model-serializer.js +2 -2
  62. package/lib/common/resources/services/mcp-model-serializer.js.map +1 -0
  63. package/lib/common/server/abstract-mcp-server-launcher.d.ts +168 -0
  64. package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -0
  65. package/lib/{server/mcp-server-launcher.js → common/server/abstract-mcp-server-launcher.js} +235 -121
  66. package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -0
  67. package/lib/{server → common/server}/glsp-mcp-server.d.ts +1 -1
  68. package/lib/common/server/glsp-mcp-server.d.ts.map +1 -0
  69. package/lib/{server → common/server}/glsp-mcp-server.js +6 -1
  70. package/lib/common/server/glsp-mcp-server.js.map +1 -0
  71. package/lib/{server → common/server}/lru-event-store.d.ts +1 -1
  72. package/lib/common/server/lru-event-store.d.ts.map +1 -0
  73. package/lib/common/server/lru-event-store.js.map +1 -0
  74. package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.d.ts +3 -1
  75. package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
  76. package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.js +12 -6
  77. package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -0
  78. package/lib/common/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
  79. package/lib/common/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
  80. package/lib/common/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
  81. package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.js +4 -1
  82. package/lib/common/server/mcp-diagram-resource-handler-registry.js.map +1 -0
  83. package/lib/common/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
  84. package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.js +3 -1
  85. package/lib/common/server/mcp-diagram-tool-handler-registry.js.map +1 -0
  86. package/lib/common/server/mcp-handler-shared.d.ts.map +1 -0
  87. package/lib/common/server/mcp-handler-shared.js.map +1 -0
  88. package/lib/common/server/mcp-id-alias-service.d.ts.map +1 -0
  89. package/lib/common/server/mcp-id-alias-service.js.map +1 -0
  90. package/lib/{server → common/server}/mcp-input-schemas.d.ts +8 -0
  91. package/lib/common/server/mcp-input-schemas.d.ts.map +1 -0
  92. package/lib/{server → common/server}/mcp-input-schemas.js +13 -1
  93. package/lib/common/server/mcp-input-schemas.js.map +1 -0
  94. package/lib/common/server/mcp-label-provider.d.ts.map +1 -0
  95. package/lib/common/server/mcp-label-provider.js.map +1 -0
  96. package/lib/{server → common/server}/mcp-log-level-registry.d.ts +1 -1
  97. package/lib/common/server/mcp-log-level-registry.d.ts.map +1 -0
  98. package/lib/common/server/mcp-log-level-registry.js.map +1 -0
  99. package/lib/{server → common/server}/mcp-logger.d.ts +4 -2
  100. package/lib/common/server/mcp-logger.d.ts.map +1 -0
  101. package/lib/{server → common/server}/mcp-logger.js +11 -3
  102. package/lib/common/server/mcp-logger.js.map +1 -0
  103. package/lib/common/server/mcp-mime-types.d.ts.map +1 -0
  104. package/lib/common/server/mcp-mime-types.js.map +1 -0
  105. package/lib/{server → common/server}/mcp-options.d.ts +1 -1
  106. package/lib/common/server/mcp-options.d.ts.map +1 -0
  107. package/lib/{server → common/server}/mcp-options.js +1 -1
  108. package/lib/common/server/mcp-options.js.map +1 -0
  109. package/lib/{server → common/server}/mcp-progress-reporter.d.ts +4 -2
  110. package/lib/common/server/mcp-progress-reporter.d.ts.map +1 -0
  111. package/lib/{server → common/server}/mcp-progress-reporter.js +14 -3
  112. package/lib/common/server/mcp-progress-reporter.js.map +1 -0
  113. package/lib/{server → common/server}/mcp-prompt-handler.d.ts +3 -1
  114. package/lib/common/server/mcp-prompt-handler.d.ts.map +1 -0
  115. package/lib/{server → common/server}/mcp-prompt-handler.js +10 -2
  116. package/lib/common/server/mcp-prompt-handler.js.map +1 -0
  117. package/lib/common/server/mcp-request-context.d.ts +35 -0
  118. package/lib/common/server/mcp-request-context.d.ts.map +1 -0
  119. package/lib/common/server/mcp-request-context.js +30 -0
  120. package/lib/common/server/mcp-request-context.js.map +1 -0
  121. package/lib/{server → common/server}/mcp-resource-handler.d.ts +3 -1
  122. package/lib/common/server/mcp-resource-handler.d.ts.map +1 -0
  123. package/lib/{server → common/server}/mcp-resource-handler.js +13 -5
  124. package/lib/common/server/mcp-resource-handler.js.map +1 -0
  125. package/lib/common/server/mcp-session.d.ts.map +1 -0
  126. package/lib/common/server/mcp-session.js.map +1 -0
  127. package/lib/{server → common/server}/mcp-tool-handler.d.ts +3 -1
  128. package/lib/common/server/mcp-tool-handler.d.ts.map +1 -0
  129. package/lib/{server → common/server}/mcp-tool-handler.js +7 -1
  130. package/lib/{server → common/server}/mcp-tool-handler.js.map +1 -1
  131. package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.d.ts +2 -1
  132. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
  133. package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.js +4 -3
  134. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
  135. package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.d.ts +4 -1
  136. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
  137. package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.js +9 -7
  138. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
  139. package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.d.ts +4 -1
  140. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
  141. package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.js +10 -8
  142. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
  143. package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.d.ts +4 -1
  144. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
  145. package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.js +9 -6
  146. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
  147. package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.d.ts +2 -1
  148. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
  149. package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.js +4 -3
  150. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
  151. package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.d.ts +2 -1
  152. package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
  153. package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.js +6 -5
  154. package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
  155. package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.d.ts +2 -1
  156. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
  157. package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.js +6 -4
  158. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
  159. package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.d.ts +4 -1
  160. package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
  161. package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.js +7 -5
  162. package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
  163. package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.d.ts +2 -1
  164. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
  165. package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.js +12 -10
  166. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
  167. package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.d.ts +2 -1
  168. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
  169. package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.js +13 -11
  170. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
  171. package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.d.ts +2 -1
  172. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
  173. package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.js +7 -5
  174. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
  175. package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.d.ts +2 -1
  176. package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
  177. package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.js +6 -4
  178. package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
  179. package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.d.ts +3 -1
  180. package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
  181. package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.js +7 -5
  182. package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
  183. package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.d.ts +2 -1
  184. package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
  185. package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.js +4 -3
  186. package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
  187. package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.d.ts +2 -1
  188. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
  189. package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.js +6 -5
  190. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
  191. package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.d.ts +2 -1
  192. package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
  193. package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.js +10 -8
  194. package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
  195. package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.d.ts +2 -1
  196. package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
  197. package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.js +6 -4
  198. package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
  199. package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.d.ts +2 -1
  200. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
  201. package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.js +0 -0
  202. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
  203. package/lib/common/util/markdown-util.d.ts.map +1 -0
  204. package/lib/common/util/markdown-util.js.map +1 -0
  205. package/lib/common/util/mcp-util.d.ts.map +1 -0
  206. package/lib/common/util/mcp-util.js.map +1 -0
  207. package/lib/{prompts → node}/index.d.ts +4 -2
  208. package/lib/node/index.d.ts.map +1 -0
  209. package/lib/{resources → node}/index.js +4 -4
  210. package/lib/node/index.js.map +1 -0
  211. package/lib/node/modules/node-mcp-server-module.d.ts +37 -0
  212. package/lib/node/modules/node-mcp-server-module.d.ts.map +1 -0
  213. package/lib/node/modules/node-mcp-server-module.js +52 -0
  214. package/lib/node/modules/node-mcp-server-module.js.map +1 -0
  215. package/lib/node/reexport.d.ts +17 -0
  216. package/lib/node/reexport.d.ts.map +1 -0
  217. package/lib/{prompts/index.js → node/reexport.js} +17 -18
  218. package/lib/node/reexport.js.map +1 -0
  219. package/lib/node/server/node-mcp-request-context.d.ts +24 -0
  220. package/lib/node/server/node-mcp-request-context.d.ts.map +1 -0
  221. package/lib/node/server/node-mcp-request-context.js +43 -0
  222. package/lib/node/server/node-mcp-request-context.js.map +1 -0
  223. package/lib/node/server/node-mcp-server-launcher.d.ts +55 -0
  224. package/lib/node/server/node-mcp-server-launcher.d.ts.map +1 -0
  225. package/lib/node/server/node-mcp-server-launcher.js +123 -0
  226. package/lib/node/server/node-mcp-server-launcher.js.map +1 -0
  227. package/node.d.ts +16 -0
  228. package/{src/util/index.ts → node.js} +2 -2
  229. package/package.json +19 -13
  230. package/src/{resources → browser}/index.ts +5 -4
  231. package/src/browser/modules/browser-mcp-server-module.ts +54 -0
  232. package/src/browser/reexport.ts +16 -0
  233. package/src/browser/server/browser-mcp-request-context.ts +59 -0
  234. package/src/browser/server/mcp-worker-bridge.ts +200 -0
  235. package/src/browser/server/web-mcp-server-launcher.ts +39 -0
  236. package/src/common/index.ts +65 -0
  237. package/src/{server/mcp-server-module.ts → common/modules/abstract-mcp-server-module.ts} +65 -77
  238. package/src/{server → common/modules}/mcp-diagram-module.ts +27 -28
  239. package/src/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.ts +8 -9
  240. package/src/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.ts +6 -7
  241. package/src/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.ts +5 -9
  242. package/src/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.ts +5 -9
  243. package/src/{resources → common/resources}/services/mcp-model-serializer.ts +1 -1
  244. package/src/common/server/abstract-mcp-server-launcher.spec.ts +458 -0
  245. package/src/common/server/abstract-mcp-server-launcher.ts +524 -0
  246. package/src/{server → common/server}/glsp-mcp-server.ts +7 -2
  247. package/src/{server → common/server}/lru-event-store.ts +1 -1
  248. package/src/{server → common/server}/mcp-diagram-handler-dispatcher.ts +13 -9
  249. package/src/{server → common/server}/mcp-diagram-resource-handler-registry.ts +4 -1
  250. package/src/{server → common/server}/mcp-diagram-tool-handler-registry.ts +3 -1
  251. package/src/{server → common/server}/mcp-input-schemas.ts +13 -0
  252. package/src/{server → common/server}/mcp-log-level-registry.ts +1 -1
  253. package/src/{server → common/server}/mcp-logger.spec.ts +26 -18
  254. package/src/{server → common/server}/mcp-logger.ts +9 -5
  255. package/src/{server → common/server}/mcp-options.ts +1 -1
  256. package/src/{server → common/server}/mcp-progress-reporter.spec.ts +19 -9
  257. package/src/{server → common/server}/mcp-progress-reporter.ts +9 -5
  258. package/src/{server → common/server}/mcp-prompt-handler.ts +8 -4
  259. package/src/{server → common/server}/mcp-request-context.ts +20 -16
  260. package/src/{server → common/server}/mcp-resource-handler.ts +11 -7
  261. package/src/{server → common/server}/mcp-tool-handler.spec.ts +4 -4
  262. package/src/{server → common/server}/mcp-tool-handler.ts +8 -4
  263. package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.spec.ts +3 -1
  264. package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.ts +3 -1
  265. package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.spec.ts +3 -1
  266. package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.ts +7 -5
  267. package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.spec.ts +3 -1
  268. package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.ts +7 -5
  269. package/src/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.ts +7 -9
  270. package/src/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.ts +3 -1
  271. package/src/{tools → common/tools}/handlers/element-types-mcp-tool-handler.ts +2 -1
  272. package/src/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.ts +3 -1
  273. package/src/{tools → common/tools}/handlers/layout-mcp-tool-handler.ts +6 -3
  274. package/src/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.ts +6 -6
  275. package/src/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.ts +6 -6
  276. package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.spec.ts +3 -1
  277. package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.ts +3 -7
  278. package/src/{tools → common/tools}/handlers/redo-mcp-tool-handler.ts +3 -1
  279. package/src/{tools → common/tools}/handlers/save-model-mcp-tool-handler.ts +4 -1
  280. package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.spec.ts +1 -1
  281. package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.ts +2 -1
  282. package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.spec.ts +3 -1
  283. package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.ts +3 -1
  284. package/src/{tools → common/tools}/handlers/set-view-mcp-tool-handler.ts +3 -9
  285. package/src/{tools → common/tools}/handlers/undo-mcp-tool-handler.ts +3 -1
  286. package/src/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
  287. package/src/{prompts → node}/index.ts +4 -2
  288. package/src/node/modules/node-mcp-server-module.ts +56 -0
  289. package/src/node/reexport.ts +16 -0
  290. package/src/node/server/mcp-http-transport-e2e.spec.ts +297 -0
  291. package/src/node/server/node-mcp-request-context.ts +33 -0
  292. package/src/{server/mcp-server-launcher.spec.ts → node/server/node-mcp-server-launcher.spec.ts} +19 -8
  293. package/src/node/server/node-mcp-server-launcher.ts +130 -0
  294. package/lib/index.d.ts +0 -23
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/index.js.map +0 -1
  297. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +0 -1
  298. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +0 -1
  299. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +0 -1
  300. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +0 -1
  301. package/lib/prompts/index.d.ts.map +0 -1
  302. package/lib/prompts/index.js.map +0 -1
  303. package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +0 -1
  304. package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +0 -1
  305. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +0 -1
  306. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +0 -1
  307. package/lib/resources/index.d.ts.map +0 -1
  308. package/lib/resources/index.js.map +0 -1
  309. package/lib/resources/services/element-types-provider.d.ts.map +0 -1
  310. package/lib/resources/services/element-types-provider.js.map +0 -1
  311. package/lib/resources/services/mcp-model-serializer.d.ts.map +0 -1
  312. package/lib/resources/services/mcp-model-serializer.js.map +0 -1
  313. package/lib/server/glsp-mcp-server.d.ts.map +0 -1
  314. package/lib/server/glsp-mcp-server.js.map +0 -1
  315. package/lib/server/index.d.ts +0 -37
  316. package/lib/server/index.d.ts.map +0 -1
  317. package/lib/server/index.js +0 -57
  318. package/lib/server/index.js.map +0 -1
  319. package/lib/server/lru-event-store.d.ts.map +0 -1
  320. package/lib/server/lru-event-store.js.map +0 -1
  321. package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +0 -1
  322. package/lib/server/mcp-diagram-handler-dispatcher.js.map +0 -1
  323. package/lib/server/mcp-diagram-module.d.ts.map +0 -1
  324. package/lib/server/mcp-diagram-module.js.map +0 -1
  325. package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +0 -1
  326. package/lib/server/mcp-diagram-prompt-handler-registry.js.map +0 -1
  327. package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +0 -1
  328. package/lib/server/mcp-diagram-resource-handler-registry.js.map +0 -1
  329. package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +0 -1
  330. package/lib/server/mcp-diagram-tool-handler-registry.js.map +0 -1
  331. package/lib/server/mcp-handler-shared.d.ts.map +0 -1
  332. package/lib/server/mcp-handler-shared.js.map +0 -1
  333. package/lib/server/mcp-http-transport.d.ts +0 -93
  334. package/lib/server/mcp-http-transport.d.ts.map +0 -1
  335. package/lib/server/mcp-http-transport.js +0 -350
  336. package/lib/server/mcp-http-transport.js.map +0 -1
  337. package/lib/server/mcp-id-alias-service.d.ts.map +0 -1
  338. package/lib/server/mcp-id-alias-service.js.map +0 -1
  339. package/lib/server/mcp-input-schemas.d.ts.map +0 -1
  340. package/lib/server/mcp-input-schemas.js.map +0 -1
  341. package/lib/server/mcp-label-provider.d.ts.map +0 -1
  342. package/lib/server/mcp-label-provider.js.map +0 -1
  343. package/lib/server/mcp-log-level-registry.d.ts.map +0 -1
  344. package/lib/server/mcp-log-level-registry.js.map +0 -1
  345. package/lib/server/mcp-logger.d.ts.map +0 -1
  346. package/lib/server/mcp-logger.js.map +0 -1
  347. package/lib/server/mcp-mime-types.d.ts.map +0 -1
  348. package/lib/server/mcp-mime-types.js.map +0 -1
  349. package/lib/server/mcp-options.d.ts.map +0 -1
  350. package/lib/server/mcp-options.js.map +0 -1
  351. package/lib/server/mcp-progress-reporter.d.ts.map +0 -1
  352. package/lib/server/mcp-progress-reporter.js.map +0 -1
  353. package/lib/server/mcp-prompt-handler.d.ts.map +0 -1
  354. package/lib/server/mcp-prompt-handler.js.map +0 -1
  355. package/lib/server/mcp-request-context.d.ts +0 -37
  356. package/lib/server/mcp-request-context.d.ts.map +0 -1
  357. package/lib/server/mcp-request-context.js +0 -37
  358. package/lib/server/mcp-request-context.js.map +0 -1
  359. package/lib/server/mcp-resource-handler.d.ts.map +0 -1
  360. package/lib/server/mcp-resource-handler.js.map +0 -1
  361. package/lib/server/mcp-server-launcher.d.ts +0 -143
  362. package/lib/server/mcp-server-launcher.d.ts.map +0 -1
  363. package/lib/server/mcp-server-launcher.js.map +0 -1
  364. package/lib/server/mcp-server-module.d.ts.map +0 -1
  365. package/lib/server/mcp-server-module.js.map +0 -1
  366. package/lib/server/mcp-session.d.ts.map +0 -1
  367. package/lib/server/mcp-session.js.map +0 -1
  368. package/lib/server/mcp-tool-handler.d.ts.map +0 -1
  369. package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +0 -1
  370. package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +0 -1
  371. package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +0 -1
  372. package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +0 -1
  373. package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +0 -1
  374. package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +0 -1
  375. package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +0 -1
  376. package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +0 -1
  377. package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +0 -1
  378. package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +0 -1
  379. package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +0 -1
  380. package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +0 -1
  381. package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +0 -1
  382. package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +0 -1
  383. package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +0 -1
  384. package/lib/tools/handlers/layout-mcp-tool-handler.js.map +0 -1
  385. package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +0 -1
  386. package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +0 -1
  387. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +0 -1
  388. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +0 -1
  389. package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +0 -1
  390. package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +0 -1
  391. package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +0 -1
  392. package/lib/tools/handlers/redo-mcp-tool-handler.js.map +0 -1
  393. package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +0 -1
  394. package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +0 -1
  395. package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +0 -1
  396. package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +0 -1
  397. package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +0 -1
  398. package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +0 -1
  399. package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +0 -1
  400. package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +0 -1
  401. package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +0 -1
  402. package/lib/tools/handlers/undo-mcp-tool-handler.js.map +0 -1
  403. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +0 -1
  404. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +0 -1
  405. package/lib/tools/index.d.ts +0 -34
  406. package/lib/tools/index.d.ts.map +0 -1
  407. package/lib/tools/index.js +0 -50
  408. package/lib/tools/index.js.map +0 -1
  409. package/lib/util/index.d.ts.map +0 -1
  410. package/lib/util/index.js.map +0 -1
  411. package/lib/util/markdown-util.d.ts.map +0 -1
  412. package/lib/util/markdown-util.js.map +0 -1
  413. package/lib/util/mcp-util.d.ts.map +0 -1
  414. package/lib/util/mcp-util.js.map +0 -1
  415. package/src/index.ts +0 -24
  416. package/src/server/index.ts +0 -42
  417. package/src/server/mcp-http-transport-e2e.spec.ts +0 -151
  418. package/src/server/mcp-http-transport.spec.ts +0 -385
  419. package/src/server/mcp-http-transport.ts +0 -368
  420. package/src/server/mcp-server-launcher.ts +0 -369
  421. package/src/tools/index.ts +0 -34
  422. /package/lib/{resources → common/resources}/services/element-types-provider.d.ts +0 -0
  423. /package/lib/{resources → common/resources}/services/element-types-provider.js +0 -0
  424. /package/lib/{resources → common/resources}/services/mcp-model-serializer.d.ts +0 -0
  425. /package/lib/{server → common/server}/lru-event-store.js +0 -0
  426. /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.d.ts +0 -0
  427. /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.js +0 -0
  428. /package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.d.ts +0 -0
  429. /package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.d.ts +0 -0
  430. /package/lib/{server → common/server}/mcp-handler-shared.d.ts +0 -0
  431. /package/lib/{server → common/server}/mcp-handler-shared.js +0 -0
  432. /package/lib/{server → common/server}/mcp-id-alias-service.d.ts +0 -0
  433. /package/lib/{server → common/server}/mcp-id-alias-service.js +0 -0
  434. /package/lib/{server → common/server}/mcp-label-provider.d.ts +0 -0
  435. /package/lib/{server → common/server}/mcp-label-provider.js +0 -0
  436. /package/lib/{server → common/server}/mcp-log-level-registry.js +0 -0
  437. /package/lib/{server → common/server}/mcp-mime-types.d.ts +0 -0
  438. /package/lib/{server → common/server}/mcp-mime-types.js +0 -0
  439. /package/lib/{server → common/server}/mcp-session.d.ts +0 -0
  440. /package/lib/{server → common/server}/mcp-session.js +0 -0
  441. /package/lib/{util → common/util}/markdown-util.d.ts +0 -0
  442. /package/lib/{util → common/util}/markdown-util.js +0 -0
  443. /package/lib/{util → common/util}/mcp-util.d.ts +0 -0
  444. /package/lib/{util → common/util}/mcp-util.js +0 -0
  445. /package/src/{resources → common/resources}/services/element-types-provider.ts +0 -0
  446. /package/src/{server → common/server}/glsp-mcp-server.spec.ts +0 -0
  447. /package/src/{server → common/server}/lru-event-store.spec.ts +0 -0
  448. /package/src/{server → common/server}/mcp-diagram-handler-dispatcher.spec.ts +0 -0
  449. /package/src/{server → common/server}/mcp-diagram-prompt-handler-registry.ts +0 -0
  450. /package/src/{server → common/server}/mcp-handler-shared.spec.ts +0 -0
  451. /package/src/{server → common/server}/mcp-handler-shared.ts +0 -0
  452. /package/src/{server → common/server}/mcp-id-alias-service.spec.ts +0 -0
  453. /package/src/{server → common/server}/mcp-id-alias-service.ts +0 -0
  454. /package/src/{server → common/server}/mcp-label-provider.ts +0 -0
  455. /package/src/{server → common/server}/mcp-log-level-registry.spec.ts +0 -0
  456. /package/src/{server → common/server}/mcp-mime-types.ts +0 -0
  457. /package/src/{server → common/server}/mcp-session.ts +0 -0
  458. /package/src/{tools → common/tools}/tool-annotations.spec.ts +0 -0
  459. /package/src/{util → common/util}/markdown-util.ts +0 -0
  460. /package/src/{util → common/util}/mcp-util.ts +0 -0
  461. /package/src/{server → node/server}/raw-http.spec.ts +0 -0
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2026 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.McpWorkerBridge = exports.MCP_INIT_PORT_MESSAGE_TYPE = exports.MCP_RESPONSE_MESSAGE_TYPE = exports.MCP_REQUEST_MESSAGE_TYPE = void 0;
19
+ exports.isMcpRequestMessage = isMcpRequestMessage;
20
+ exports.isMcpInitPortMessage = isMcpInitPortMessage;
21
+ exports.canTransferReadableStream = canTransferReadableStream;
22
+ const browser_mcp_server_module_1 = require("../modules/browser-mcp-server-module");
23
+ exports.MCP_REQUEST_MESSAGE_TYPE = 'mcp-request';
24
+ exports.MCP_RESPONSE_MESSAGE_TYPE = 'mcp-response';
25
+ exports.MCP_INIT_PORT_MESSAGE_TYPE = 'mcp-init-port';
26
+ function isMcpRequestMessage(value) {
27
+ return Object(value) === value && value.type === exports.MCP_REQUEST_MESSAGE_TYPE;
28
+ }
29
+ function isMcpInitPortMessage(value) {
30
+ return Object(value) === value && value.type === exports.MCP_INIT_PORT_MESSAGE_TYPE;
31
+ }
32
+ /** Probes whether the current realm can transfer `ReadableStream` via `postMessage` (Chromium yes; Firefox / Safari no). */
33
+ function canTransferReadableStream() {
34
+ try {
35
+ const probe = new ReadableStream();
36
+ structuredClone(probe, { transfer: [probe] });
37
+ return true;
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
43
+ /**
44
+ * Bridges `postMessage` traffic to an {@link AbstractMcpServerLauncher} for browser / Web Worker
45
+ * adopters that proxy MCP requests via Service-Worker → Web-Worker plumbing.
46
+ * See `ARCHITECTURE.md` (Portable handler) for the message protocol and queueing semantics.
47
+ */
48
+ class McpWorkerBridge {
49
+ constructor(scope = self) {
50
+ this.scope = scope;
51
+ this.listener = (event) => this.onMessage(event);
52
+ /** Serialise dispatches — `BrowserMcpRequestContext` is a single-slot store, not concurrency-safe. */
53
+ this.dispatchChain = Promise.resolve();
54
+ this.streamTransferable = canTransferReadableStream();
55
+ this.bufferingWarned = false;
56
+ this.launcherReady = new Promise(resolve => {
57
+ this.resolveLauncher = resolve;
58
+ });
59
+ this.scope.addEventListener('message', this.listener);
60
+ }
61
+ dispose() {
62
+ this.scope.removeEventListener('message', this.listener);
63
+ }
64
+ /** Returns a {@link BrowserMcpServerModule} that registers its launcher with this bridge on DI activation. */
65
+ createServerModule(overrides) {
66
+ const bridge = this;
67
+ class BridgedBrowserMcpServerModule extends browser_mcp_server_module_1.BrowserMcpServerModule {
68
+ onMcpServerLauncherActivated(launcher) {
69
+ bridge.bindLauncher(launcher);
70
+ }
71
+ }
72
+ return new BridgedBrowserMcpServerModule(overrides);
73
+ }
74
+ /** First call binds; subsequent calls are no-ops. */
75
+ bindLauncher(launcher) {
76
+ this.resolveLauncher(launcher);
77
+ }
78
+ onMessage(event) {
79
+ const data = event.data;
80
+ if (isMcpRequestMessage(data)) {
81
+ this.enqueueDispatch(data, event.ports[0]);
82
+ return;
83
+ }
84
+ if (isMcpInitPortMessage(data)) {
85
+ const port = event.ports[0];
86
+ if (!port) {
87
+ return;
88
+ }
89
+ port.onmessage = portEvent => {
90
+ const portData = portEvent.data;
91
+ if (isMcpRequestMessage(portData)) {
92
+ this.enqueueDispatch(portData, port);
93
+ }
94
+ };
95
+ port.start();
96
+ }
97
+ }
98
+ enqueueDispatch(request, port) {
99
+ this.dispatchChain = this.dispatchChain
100
+ .then(() => this.dispatch(request, port))
101
+ .catch(err => console.error('MCP worker bridge failed:', err));
102
+ }
103
+ async dispatch(request, port) {
104
+ try {
105
+ const launcher = await this.launcherReady;
106
+ const init = { method: request.method, headers: request.headers };
107
+ if (typeof request.body === 'string') {
108
+ init.body = request.body;
109
+ }
110
+ const response = await launcher.handleRequest(new Request(request.url, init));
111
+ const headers = {};
112
+ response.headers.forEach((value, key) => {
113
+ headers[key] = value;
114
+ });
115
+ this.reply(port, {
116
+ type: exports.MCP_RESPONSE_MESSAGE_TYPE,
117
+ id: request.id,
118
+ status: response.status,
119
+ statusText: response.statusText,
120
+ headers,
121
+ body: await this.encodeBody(response)
122
+ });
123
+ }
124
+ catch (err) {
125
+ const message = err instanceof Error ? err.message : String(err);
126
+ this.reply(port, {
127
+ type: exports.MCP_RESPONSE_MESSAGE_TYPE,
128
+ id: request.id,
129
+ status: 500,
130
+ statusText: 'Internal Server Error',
131
+ headers: { 'content-type': 'text/plain' },
132
+ body: await this.encodeBody(new Response(`MCP worker bridge error: ${message}`))
133
+ });
134
+ }
135
+ }
136
+ /** Stream on Chromium; buffer to `ArrayBuffer` (still transferable) on browsers without transferable streams. */
137
+ async encodeBody(response) {
138
+ if (this.streamTransferable) {
139
+ return response.body;
140
+ }
141
+ if (!this.bufferingWarned) {
142
+ this.bufferingWarned = true;
143
+ console.warn('McpWorkerBridge: ReadableStream is not transferable in this browser — buffering MCP response bodies. ' +
144
+ 'Chunked / SSE streaming will deliver as a single chunk; non-streaming MCP calls are unaffected.');
145
+ }
146
+ return response.arrayBuffer();
147
+ }
148
+ reply(port, message) {
149
+ const transfer = message.body ? [message.body] : [];
150
+ if (port) {
151
+ port.postMessage(message, transfer);
152
+ }
153
+ else {
154
+ this.scope.postMessage(message, transfer);
155
+ }
156
+ }
157
+ }
158
+ exports.McpWorkerBridge = McpWorkerBridge;
159
+ //# sourceMappingURL=mcp-worker-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-worker-bridge.js","sourceRoot":"","sources":["../../../src/browser/server/mcp-worker-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { AbstractMcpServerLauncher, FullMcpServerConfiguration, TransportEndpoint } from '../../common/server/abstract-mcp-server-launcher';
17
+ /**
18
+ * Web target for {@link AbstractMcpServerLauncher}. Web targets (Cloudflare Worker, Deno Deploy,
19
+ * Bun, Service Worker, in-page Worker) have no socket to bind; the adopter plugs the inherited
20
+ * {@link AbstractMcpServerLauncher.getRequestHandler} into their own listener. `bindTransport`
21
+ * is therefore a no-op.
22
+ *
23
+ * **Adopter responsibilities.** Authentication is the adopter's job. The MCP server has no
24
+ * built-in auth — wrap `getRequestHandler()` with whatever middleware your deployment requires
25
+ * (bearer token, mTLS at proxy, Cloudflare Access, OAuth, etc.). Session state lives in memory
26
+ * inside the launcher; multi-isolate / multi-region deployments that need shared session state
27
+ * must subclass and override the session store.
28
+ *
29
+ * @see `examples/workflow-server-bundled-web/smoke.html` for a Web Worker-based example.
30
+ */
31
+ export declare class WebMcpServerLauncher extends AbstractMcpServerLauncher {
32
+ protected bindTransport(_config: FullMcpServerConfiguration): Promise<TransportEndpoint>;
33
+ }
34
+ //# sourceMappingURL=web-mcp-server-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-mcp-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/browser/server/web-mcp-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAE5I;;;;;;;;;;;;;GAaG;AACH,qBACa,oBAAqB,SAAQ,yBAAyB;cAC/C,aAAa,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGjG"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2026 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.WebMcpServerLauncher = void 0;
25
+ const inversify_1 = require("inversify");
26
+ const abstract_mcp_server_launcher_1 = require("../../common/server/abstract-mcp-server-launcher");
27
+ /**
28
+ * Web target for {@link AbstractMcpServerLauncher}. Web targets (Cloudflare Worker, Deno Deploy,
29
+ * Bun, Service Worker, in-page Worker) have no socket to bind; the adopter plugs the inherited
30
+ * {@link AbstractMcpServerLauncher.getRequestHandler} into their own listener. `bindTransport`
31
+ * is therefore a no-op.
32
+ *
33
+ * **Adopter responsibilities.** Authentication is the adopter's job. The MCP server has no
34
+ * built-in auth — wrap `getRequestHandler()` with whatever middleware your deployment requires
35
+ * (bearer token, mTLS at proxy, Cloudflare Access, OAuth, etc.). Session state lives in memory
36
+ * inside the launcher; multi-isolate / multi-region deployments that need shared session state
37
+ * must subclass and override the session store.
38
+ *
39
+ * @see `examples/workflow-server-bundled-web/smoke.html` for a Web Worker-based example.
40
+ */
41
+ let WebMcpServerLauncher = class WebMcpServerLauncher extends abstract_mcp_server_launcher_1.AbstractMcpServerLauncher {
42
+ async bindTransport(_config) {
43
+ return {};
44
+ }
45
+ };
46
+ exports.WebMcpServerLauncher = WebMcpServerLauncher;
47
+ exports.WebMcpServerLauncher = WebMcpServerLauncher = __decorate([
48
+ (0, inversify_1.injectable)()
49
+ ], WebMcpServerLauncher);
50
+ //# sourceMappingURL=web-mcp-server-launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-mcp-server-launcher.js","sourceRoot":"","sources":["../../../src/browser/server/web-mcp-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAElF,yCAAuC;AACvC,mGAA4I;AAE5I;;;;;;;;;;;;;GAaG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wDAAyB;IACrD,KAAK,CAAC,aAAa,CAAC,OAAmC;QAC7D,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAJY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAIhC"}
@@ -0,0 +1,65 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ export * from './modules/abstract-mcp-server-module';
17
+ export * from './modules/mcp-diagram-module';
18
+ export * from './prompts/handlers/describe-diagram-mcp-prompt-handler';
19
+ export * from './prompts/handlers/suggest-improvements-mcp-prompt-handler';
20
+ export * from './resources/handlers/diagram-png-mcp-resource-handler';
21
+ export * from './resources/handlers/diagram-svg-mcp-resource-handler';
22
+ export * from './resources/services/element-types-provider';
23
+ export * from './resources/services/mcp-model-serializer';
24
+ export * from './server/abstract-mcp-server-launcher';
25
+ export * from './server/glsp-mcp-server';
26
+ export * from './server/lru-event-store';
27
+ export * from './server/mcp-diagram-handler-dispatcher';
28
+ export * from './server/mcp-diagram-prompt-handler-registry';
29
+ export * from './server/mcp-diagram-resource-handler-registry';
30
+ export * from './server/mcp-diagram-tool-handler-registry';
31
+ export * from './server/mcp-handler-shared';
32
+ export * from './server/mcp-id-alias-service';
33
+ export * from './server/mcp-input-schemas';
34
+ export * from './server/mcp-label-provider';
35
+ export * from './server/mcp-log-level-registry';
36
+ export * from './server/mcp-logger';
37
+ export * from './server/mcp-mime-types';
38
+ export * from './server/mcp-options';
39
+ export * from './server/mcp-progress-reporter';
40
+ export * from './server/mcp-prompt-handler';
41
+ export * from './server/mcp-request-context';
42
+ export * from './server/mcp-resource-handler';
43
+ export * from './server/mcp-session';
44
+ export * from './server/mcp-tool-handler';
45
+ export * from './tools/handlers/count-elements-mcp-tool-handler';
46
+ export * from './tools/handlers/create-edges-mcp-tool-handler';
47
+ export * from './tools/handlers/create-nodes-mcp-tool-handler';
48
+ export * from './tools/handlers/delete-elements-mcp-tool-handler';
49
+ export * from './tools/handlers/diagram-model-mcp-tool-handler';
50
+ export * from './tools/handlers/element-types-mcp-tool-handler';
51
+ export * from './tools/handlers/get-selection-mcp-tool-handler';
52
+ export * from './tools/handlers/layout-mcp-tool-handler';
53
+ export * from './tools/handlers/modify-edges-mcp-tool-handler';
54
+ export * from './tools/handlers/modify-nodes-mcp-tool-handler';
55
+ export * from './tools/handlers/query-elements-mcp-tool-handler';
56
+ export * from './tools/handlers/redo-mcp-tool-handler';
57
+ export * from './tools/handlers/save-model-mcp-tool-handler';
58
+ export * from './tools/handlers/session-info-mcp-tool-handler';
59
+ export * from './tools/handlers/set-selection-mcp-tool-handler';
60
+ export * from './tools/handlers/set-view-mcp-tool-handler';
61
+ export * from './tools/handlers/undo-mcp-tool-handler';
62
+ export * from './tools/handlers/validate-diagram-mcp-tool-handler';
63
+ export * from './util/markdown-util';
64
+ export * from './util/mcp-util';
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wDAAwD,CAAC;AACvE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,iDAAiD,CAAC;AAChE,cAAc,iDAAiD,CAAC;AAChE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2026 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ __exportStar(require("./modules/abstract-mcp-server-module"), exports);
33
+ __exportStar(require("./modules/mcp-diagram-module"), exports);
34
+ __exportStar(require("./prompts/handlers/describe-diagram-mcp-prompt-handler"), exports);
35
+ __exportStar(require("./prompts/handlers/suggest-improvements-mcp-prompt-handler"), exports);
36
+ __exportStar(require("./resources/handlers/diagram-png-mcp-resource-handler"), exports);
37
+ __exportStar(require("./resources/handlers/diagram-svg-mcp-resource-handler"), exports);
38
+ __exportStar(require("./resources/services/element-types-provider"), exports);
39
+ __exportStar(require("./resources/services/mcp-model-serializer"), exports);
40
+ __exportStar(require("./server/abstract-mcp-server-launcher"), exports);
41
+ __exportStar(require("./server/glsp-mcp-server"), exports);
42
+ __exportStar(require("./server/lru-event-store"), exports);
43
+ __exportStar(require("./server/mcp-diagram-handler-dispatcher"), exports);
44
+ __exportStar(require("./server/mcp-diagram-prompt-handler-registry"), exports);
45
+ __exportStar(require("./server/mcp-diagram-resource-handler-registry"), exports);
46
+ __exportStar(require("./server/mcp-diagram-tool-handler-registry"), exports);
47
+ __exportStar(require("./server/mcp-handler-shared"), exports);
48
+ __exportStar(require("./server/mcp-id-alias-service"), exports);
49
+ __exportStar(require("./server/mcp-input-schemas"), exports);
50
+ __exportStar(require("./server/mcp-label-provider"), exports);
51
+ __exportStar(require("./server/mcp-log-level-registry"), exports);
52
+ __exportStar(require("./server/mcp-logger"), exports);
53
+ __exportStar(require("./server/mcp-mime-types"), exports);
54
+ __exportStar(require("./server/mcp-options"), exports);
55
+ __exportStar(require("./server/mcp-progress-reporter"), exports);
56
+ __exportStar(require("./server/mcp-prompt-handler"), exports);
57
+ __exportStar(require("./server/mcp-request-context"), exports);
58
+ __exportStar(require("./server/mcp-resource-handler"), exports);
59
+ __exportStar(require("./server/mcp-session"), exports);
60
+ __exportStar(require("./server/mcp-tool-handler"), exports);
61
+ __exportStar(require("./tools/handlers/count-elements-mcp-tool-handler"), exports);
62
+ __exportStar(require("./tools/handlers/create-edges-mcp-tool-handler"), exports);
63
+ __exportStar(require("./tools/handlers/create-nodes-mcp-tool-handler"), exports);
64
+ __exportStar(require("./tools/handlers/delete-elements-mcp-tool-handler"), exports);
65
+ __exportStar(require("./tools/handlers/diagram-model-mcp-tool-handler"), exports);
66
+ __exportStar(require("./tools/handlers/element-types-mcp-tool-handler"), exports);
67
+ __exportStar(require("./tools/handlers/get-selection-mcp-tool-handler"), exports);
68
+ __exportStar(require("./tools/handlers/layout-mcp-tool-handler"), exports);
69
+ __exportStar(require("./tools/handlers/modify-edges-mcp-tool-handler"), exports);
70
+ __exportStar(require("./tools/handlers/modify-nodes-mcp-tool-handler"), exports);
71
+ __exportStar(require("./tools/handlers/query-elements-mcp-tool-handler"), exports);
72
+ __exportStar(require("./tools/handlers/redo-mcp-tool-handler"), exports);
73
+ __exportStar(require("./tools/handlers/save-model-mcp-tool-handler"), exports);
74
+ __exportStar(require("./tools/handlers/session-info-mcp-tool-handler"), exports);
75
+ __exportStar(require("./tools/handlers/set-selection-mcp-tool-handler"), exports);
76
+ __exportStar(require("./tools/handlers/set-view-mcp-tool-handler"), exports);
77
+ __exportStar(require("./tools/handlers/undo-mcp-tool-handler"), exports);
78
+ __exportStar(require("./tools/handlers/validate-diagram-mcp-tool-handler"), exports);
79
+ __exportStar(require("./util/markdown-util"), exports);
80
+ __exportStar(require("./util/mcp-util"), exports);
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;;AAElF,uEAAqD;AACrD,+DAA6C;AAC7C,yFAAuE;AACvE,6FAA2E;AAC3E,wFAAsE;AACtE,wFAAsE;AACtE,8EAA4D;AAC5D,4EAA0D;AAC1D,wEAAsD;AACtD,2DAAyC;AACzC,2DAAyC;AACzC,0EAAwD;AACxD,+EAA6D;AAC7D,iFAA+D;AAC/D,6EAA2D;AAC3D,8DAA4C;AAC5C,gEAA8C;AAC9C,6DAA2C;AAC3C,8DAA4C;AAC5C,kEAAgD;AAChD,sDAAoC;AACpC,0DAAwC;AACxC,uDAAqC;AACrC,iEAA+C;AAC/C,8DAA4C;AAC5C,+DAA6C;AAC7C,gEAA8C;AAC9C,uDAAqC;AACrC,4DAA0C;AAC1C,mFAAiE;AACjE,iFAA+D;AAC/D,iFAA+D;AAC/D,oFAAkE;AAClE,kFAAgE;AAChE,kFAAgE;AAChE,kFAAgE;AAChE,2EAAyD;AACzD,iFAA+D;AAC/D,iFAA+D;AAC/D,mFAAiE;AACjE,yEAAuD;AACvD,+EAA6D;AAC7D,iFAA+D;AAC/D,kFAAgE;AAChE,6EAA2D;AAC3D,yEAAuD;AACvD,qFAAmE;AACnE,uDAAqC;AACrC,kDAAgC"}
@@ -16,17 +16,35 @@
16
16
  import { BindingContext } from '@eclipse-glsp/protocol/lib/di';
17
17
  import { AbstractMultiBinding, BindingTarget, GLSPModule } from '@eclipse-glsp/server';
18
18
  import { interfaces } from 'inversify';
19
- import { GLSPMcpServerFactory } from './glsp-mcp-server';
20
- import { McpDiagramHandlerDispatcher } from './mcp-diagram-handler-dispatcher';
21
- import { McpLogLevelRegistry } from './mcp-log-level-registry';
22
- import { McpHttpTransport } from './mcp-http-transport';
23
- import { McpLogger } from './mcp-logger';
24
- import { McpServerDefaults, McpServerOptions } from './mcp-options';
25
- import { McpProgressReporter } from './mcp-progress-reporter';
26
- import { McpPromptHandler } from './mcp-prompt-handler';
27
- import { McpResourceHandler } from './mcp-resource-handler';
28
- import { McpServerLauncher } from './mcp-server-launcher';
29
- import { McpToolHandler } from './mcp-tool-handler';
19
+ import { AbstractMcpServerLauncher } from '../server/abstract-mcp-server-launcher';
20
+ import { GLSPMcpServerFactory } from '../server/glsp-mcp-server';
21
+ import { McpDiagramHandlerDispatcher } from '../server/mcp-diagram-handler-dispatcher';
22
+ import { McpLogLevelRegistry } from '../server/mcp-log-level-registry';
23
+ import { McpLogger } from '../server/mcp-logger';
24
+ import { McpServerDefaults, McpServerOptions } from '../server/mcp-options';
25
+ import { McpProgressReporter } from '../server/mcp-progress-reporter';
26
+ import { McpPromptHandler } from '../server/mcp-prompt-handler';
27
+ import { McpRequestContext } from '../server/mcp-request-context';
28
+ import { McpResourceHandler } from '../server/mcp-resource-handler';
29
+ import { McpToolHandler } from '../server/mcp-tool-handler';
30
+ /**
31
+ * GLSP-generic default agent persona — adopters typically pass a product-specific persona to
32
+ * the concrete server module's constructor (e.g. workflow-server might say "You are the
33
+ * Workflow Modeling Agent...").
34
+ *
35
+ * **Spec note.** This is wired to the MCP `instructions` field, which the spec describes as
36
+ * "concise instructions". This persona is intentionally verbose (~700 chars of behavior rules)
37
+ * — within the spec's "free-form server-supplied instructions" allowance and adopter-overridable
38
+ * via `mcpDefaults.agentPersona`. Don't trim on autopilot if a "concise" interpretation drifts
39
+ * back: the verbose form materially improves LLM tool-use compliance for graphical modelling.
40
+ */
41
+ export declare const DEFAULT_AGENT_PERSONA = "\nYou are the GLSP Modeling Agent. Your primary goal is to assist in the creation and modification of graphical models using the\nGLSP MCP server. You have to adhere to the following principles:\n- MCP-Interaction: Any modeling related activity has to occur using the MCP server.\n- Real Data: The diagram model is the ground truth regarding the existing graphical model. Always query it before modifying the diagram.\n- Real Creation: Consult the available element types before creating elements.\n- Visual Proof: An image of the graphical model can be created, if you deem it useful for calculating or verifying layout decisions.\n- Precision: All IDs and types must be exact.\n- Visualization: When creating nodes, suggest sensible default positions and avoid visual overlapping.\n- Careful: Under no circumstances save the model without explicit instruction. If you deem it sensible, you may ask the user for permission.\n The same goes for Undo/Redo operations.\n- Layouting: If available, make use of automatic layouting when not given explicit custom layouting requirements.\n- Human-friendly references: When mentioning an element in user-visible prose, prefer its label, then its element type\n (the bare ids returned by the tools are internal aliases that mean nothing to the user). Append the alias in parentheses\n so the user can correlate it with follow-up tools. Use the `set-selection` tool \u2014 or the `set-view` tool with\n `action: \"center-on-elements\"` \u2014 to point the user at the elements you reference.\n";
42
+ /**
43
+ * Target-neutral default option values shared by every {@link AbstractMcpServerModule} subclass.
44
+ * Node and Browser concrete modules spread this and add their own target-specific fields
45
+ * (e.g. `host`/`allowedHosts` on Node).
46
+ */
47
+ export declare const DEFAULT_MCP_OPTIONS: McpServerDefaults;
30
48
  /**
31
49
  * Multi-binding helper for MCP handler classes. Singleton-scoped sibling of core's
32
50
  * `MultiBinding<T>` — same `binding.add(...)` / `binding.rebind(old, new)` adopter shape, but
@@ -37,9 +55,11 @@ export declare class McpHandlerMultiBinding<T> extends AbstractMultiBinding<inte
37
55
  applyBindings(context: BindingContext): void;
38
56
  }
39
57
  /**
40
- * Server-scope DI module for the MCP server. Adopters subclass {@link DefaultMcpServerModule}
41
- * and override the `bind*` hooks to swap single-instance services or the `configure*` hooks to
42
- * add/replace handlers in the multi-bindings. Mirrors the `DiagramModule` pattern from core
58
+ * Server-scope DI module for the MCP server. Target-neutral: concrete subclasses (Node, Browser)
59
+ * supply the launcher + request-context bindings via {@link bindMcpServerLauncher} and
60
+ * {@link bindMcpRequestContext}. Adopters subclass the concrete module and override the `bind*`
61
+ * hooks to swap single-instance services or the `configure*` hooks to add/replace handlers in
62
+ * the multi-bindings. Mirrors the `DiagramModule` pattern from core
43
63
  * (`bindGModelSerializer()`, `configureActionHandlers(binding)`, etc.).
44
64
  *
45
65
  * Adopter-provided default option values flow through the constructor — pass a
@@ -49,13 +69,13 @@ export declare class McpHandlerMultiBinding<T> extends AbstractMultiBinding<inte
49
69
  * @example
50
70
  * ```ts
51
71
  * // Drop-in: GLSP defaults.
52
- * launcher.configure(serverModule, new DefaultMcpServerModule());
72
+ * launcher.configure(serverModule, new NodeMcpServerModule());
53
73
  *
54
74
  * // Drop-in with a product-specific override.
55
- * launcher.configure(serverModule, new DefaultMcpServerModule({ dataMode: 'resources' }));
75
+ * launcher.configure(serverModule, new NodeMcpServerModule({ dataMode: 'resources' }));
56
76
  *
57
77
  * // Subclass when handler customization is needed.
58
- * class WorkflowMcpServerModule extends DefaultMcpServerModule {
78
+ * class WorkflowMcpServerModule extends NodeMcpServerModule {
59
79
  * constructor() { super({ agentPersona: WORKFLOW_PERSONA }); }
60
80
  * protected override configureToolHandlers(binding) {
61
81
  * super.configureToolHandlers(binding);
@@ -66,18 +86,24 @@ export declare class McpHandlerMultiBinding<T> extends AbstractMultiBinding<inte
66
86
  */
67
87
  export declare abstract class AbstractMcpServerModule extends GLSPModule {
68
88
  protected readonly defaultOptions: McpServerDefaults;
69
- protected bind: interfaces.Bind;
70
- protected rebind: interfaces.Rebind;
71
89
  constructor(defaultOptions?: McpServerDefaults);
72
- protected configure(bind: interfaces.Bind, _unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void;
90
+ protected configure(bind: interfaces.Bind, _unbind: interfaces.Unbind, isBound: interfaces.IsBound, _rebind: interfaces.Rebind): void;
91
+ /**
92
+ * {@link AbstractMcpServerLauncher} binding. Bound as a singleton AND aliased to
93
+ * `GLSPServerInitializer` + `GLSPServerListener` (the launcher implements both). Concrete
94
+ * modules return the target-specific launcher class (Node, Web, ...).
95
+ */
96
+ protected abstract bindMcpServerLauncher(): BindingTarget<AbstractMcpServerLauncher>;
73
97
  /**
74
- * {@link McpServerLauncher} binding. Bound as a singleton AND aliased to
75
- * `GLSPServerInitializer` + `GLSPServerListener` (the launcher implements both).
76
- * Override to swap in a custom launcher impl.
98
+ * Hook fired once when the {@link AbstractMcpServerLauncher} singleton is first resolved by
99
+ * the DI container — lets adopters obtain the instance without subclassing it. No-op by default.
77
100
  */
78
- protected bindMcpServerLauncher(): BindingTarget<McpServerLauncher>;
79
- /** {@link McpHttpTransport} binding. Override to swap to a different transport implementation. */
80
- protected bindMcpHttpTransport(): BindingTarget<McpHttpTransport>;
101
+ protected onMcpServerLauncherActivated(_launcher: AbstractMcpServerLauncher): void;
102
+ /**
103
+ * {@link McpRequestContext} binding. Concrete modules return the target-specific async-context
104
+ * implementation (e.g. Node's `AsyncLocalStorage`-backed variant or a browser-friendly one).
105
+ */
106
+ protected abstract bindMcpRequestContext(): BindingTarget<McpRequestContext>;
81
107
  /**
82
108
  * {@link McpDiagramHandlerDispatcher} binding. Owns diagram-scope handler discovery,
83
109
  * SDK registration, and per-call dispatch routing. Override (or `rebind` to a subclass)
@@ -92,13 +118,9 @@ export declare abstract class AbstractMcpServerModule extends GLSPModule {
92
118
  * init-time options at server init (init-time wins per field).
93
119
  */
94
120
  protected bindMcpServerDefaults(): BindingTarget<McpServerDefaults>;
95
- /**
96
- * {@link McpLogger} binding. Bound on the server container; per-session containers inherit
97
- * it, so handlers at any scope can inject it; routes through the active MCP request via
98
- * {@link mcpRequestContext}.
99
- */
121
+ /** {@link McpLogger} binding — routes through the active MCP request via {@link McpRequestContext}. */
100
122
  protected bindMcpLogger(): BindingTarget<McpLogger>;
101
- /** {@link McpProgressReporter} binding. Same scope/lifecycle story as {@link bindMcpLogger}. */
123
+ /** {@link McpProgressReporter} binding. */
102
124
  protected bindMcpProgressReporter(): BindingTarget<McpProgressReporter>;
103
125
  /**
104
126
  * {@link McpLogLevelRegistry} binding — holds per-MCP-session `logging/setLevel` thresholds
@@ -127,17 +149,4 @@ export declare abstract class AbstractMcpServerModule extends GLSPModule {
127
149
  */
128
150
  protected configurePromptHandlers(binding: McpHandlerMultiBinding<McpPromptHandler>): void;
129
151
  }
130
- /**
131
- * Default {@link AbstractMcpServerModule} entry point. Ships GLSP-default option values (see
132
- * {@link DEFAULT_OPTIONS}) on top of the abstract module's hook defaults. Adopter-provided
133
- * overrides via the constructor merge on top.
134
- *
135
- * @experimental The MCP integration is under active development. Option names, schema shapes,
136
- * and handler contracts MAY change in minor releases until the feature graduates from
137
- * experimental status.
138
- */
139
- export declare class DefaultMcpServerModule extends AbstractMcpServerModule {
140
- static readonly DEFAULT_OPTIONS: McpServerDefaults;
141
- constructor(overrides?: McpServerDefaults);
142
- }
143
- //# sourceMappingURL=mcp-server-module.d.ts.map
152
+ //# sourceMappingURL=abstract-mcp-server-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-mcp-server-module.d.ts","sourceRoot":"","sources":["../../../src/common/modules/abstract-mcp-server-module.ts"],"names":[],"mappings":"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"}