@eclipse-glsp/server-mcp 2.7.0-next.10 → 2.7.0-next.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -3
- package/browser.d.ts +16 -0
- package/browser.js +18 -0
- package/common.d.ts +16 -0
- package/common.js +18 -0
- package/lib/browser/index.d.ts +21 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +37 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/modules/browser-mcp-server-module.d.ts +42 -0
- package/lib/browser/modules/browser-mcp-server-module.d.ts.map +1 -0
- package/lib/browser/modules/browser-mcp-server-module.js +50 -0
- package/lib/browser/modules/browser-mcp-server-module.js.map +1 -0
- package/lib/browser/reexport.d.ts +17 -0
- package/lib/browser/reexport.d.ts.map +1 -0
- package/lib/browser/reexport.js +33 -0
- package/lib/browser/reexport.js.map +1 -0
- package/lib/browser/server/browser-mcp-request-context.d.ts +27 -0
- package/lib/browser/server/browser-mcp-request-context.d.ts.map +1 -0
- package/lib/browser/server/browser-mcp-request-context.js +67 -0
- package/lib/browser/server/browser-mcp-request-context.js.map +1 -0
- package/lib/browser/server/mcp-worker-bridge.d.ts +81 -0
- package/lib/browser/server/mcp-worker-bridge.d.ts.map +1 -0
- package/lib/browser/server/mcp-worker-bridge.js +159 -0
- package/lib/browser/server/mcp-worker-bridge.js.map +1 -0
- package/lib/browser/server/web-mcp-server-launcher.d.ts +34 -0
- package/lib/browser/server/web-mcp-server-launcher.d.ts.map +1 -0
- package/lib/browser/server/web-mcp-server-launcher.js +50 -0
- package/lib/browser/server/web-mcp-server-launcher.js.map +1 -0
- package/lib/{index.d.ts → common/index.d.ts} +3 -4
- package/lib/common/index.d.ts.map +1 -0
- package/lib/{index.js → common/index.js} +17 -18
- package/lib/common/index.js.map +1 -0
- package/lib/{modules/mcp-server-module.d.ts → common/modules/abstract-mcp-server-module.d.ts} +46 -37
- package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -0
- package/lib/{modules/mcp-server-module.js → common/modules/abstract-mcp-server-module.js} +43 -66
- package/lib/common/modules/abstract-mcp-server-module.js.map +1 -0
- package/lib/common/modules/mcp-diagram-module.d.ts.map +1 -0
- package/lib/common/modules/mcp-diagram-module.js.map +1 -0
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
- package/lib/common/resources/services/element-types-provider.d.ts.map +1 -0
- package/lib/common/resources/services/element-types-provider.js.map +1 -0
- package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -0
- package/lib/common/resources/services/mcp-model-serializer.js.map +1 -0
- package/lib/common/server/abstract-mcp-server-launcher.d.ts +168 -0
- package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -0
- package/lib/{server/mcp-server-launcher.js → common/server/abstract-mcp-server-launcher.js} +235 -121
- package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -0
- package/lib/{server → common/server}/glsp-mcp-server.d.ts +1 -1
- package/lib/common/server/glsp-mcp-server.d.ts.map +1 -0
- package/lib/{server → common/server}/glsp-mcp-server.js +6 -1
- package/lib/common/server/glsp-mcp-server.js.map +1 -0
- package/lib/{server → common/server}/lru-event-store.d.ts +1 -1
- package/lib/common/server/lru-event-store.d.ts.map +1 -0
- package/lib/common/server/lru-event-store.js.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.d.ts +3 -1
- package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.js +12 -6
- package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -0
- package/lib/common/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
- package/lib/common/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.js +4 -1
- package/lib/common/server/mcp-diagram-resource-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.js +3 -1
- package/lib/common/server/mcp-diagram-tool-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-handler-shared.d.ts.map +1 -0
- package/lib/common/server/mcp-handler-shared.js.map +1 -0
- package/lib/common/server/mcp-id-alias-service.d.ts.map +1 -0
- package/lib/common/server/mcp-id-alias-service.js.map +1 -0
- package/lib/{server → common/server}/mcp-input-schemas.d.ts +8 -0
- package/lib/common/server/mcp-input-schemas.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-input-schemas.js +13 -1
- package/lib/common/server/mcp-input-schemas.js.map +1 -0
- package/lib/common/server/mcp-label-provider.d.ts.map +1 -0
- package/lib/common/server/mcp-label-provider.js.map +1 -0
- package/lib/{server → common/server}/mcp-log-level-registry.d.ts +1 -1
- package/lib/common/server/mcp-log-level-registry.d.ts.map +1 -0
- package/lib/common/server/mcp-log-level-registry.js.map +1 -0
- package/lib/{server → common/server}/mcp-logger.d.ts +4 -2
- package/lib/common/server/mcp-logger.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-logger.js +11 -3
- package/lib/common/server/mcp-logger.js.map +1 -0
- package/lib/common/server/mcp-mime-types.d.ts.map +1 -0
- package/lib/common/server/mcp-mime-types.js.map +1 -0
- package/lib/{server → common/server}/mcp-options.d.ts +1 -1
- package/lib/common/server/mcp-options.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-options.js +1 -1
- package/lib/common/server/mcp-options.js.map +1 -0
- package/lib/{server → common/server}/mcp-progress-reporter.d.ts +4 -2
- package/lib/common/server/mcp-progress-reporter.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-progress-reporter.js +14 -3
- package/lib/common/server/mcp-progress-reporter.js.map +1 -0
- package/lib/{server → common/server}/mcp-prompt-handler.d.ts +3 -1
- package/lib/common/server/mcp-prompt-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-prompt-handler.js +10 -2
- package/lib/common/server/mcp-prompt-handler.js.map +1 -0
- package/lib/common/server/mcp-request-context.d.ts +35 -0
- package/lib/common/server/mcp-request-context.d.ts.map +1 -0
- package/lib/common/server/mcp-request-context.js +30 -0
- package/lib/common/server/mcp-request-context.js.map +1 -0
- package/lib/{server → common/server}/mcp-resource-handler.d.ts +3 -1
- package/lib/common/server/mcp-resource-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-resource-handler.js +13 -5
- package/lib/common/server/mcp-resource-handler.js.map +1 -0
- package/lib/common/server/mcp-session.d.ts.map +1 -0
- package/lib/common/server/mcp-session.js.map +1 -0
- package/lib/{server → common/server}/mcp-tool-handler.d.ts +3 -1
- package/lib/common/server/mcp-tool-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-tool-handler.js +7 -1
- package/lib/{server → common/server}/mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.d.ts +2 -0
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.js +2 -1
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.d.ts +2 -0
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.js +2 -1
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.d.ts +2 -0
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.js +4 -2
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.d.ts +2 -0
- package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.js +3 -2
- package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.js +1 -1
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.js +1 -1
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
- package/lib/common/util/markdown-util.d.ts.map +1 -0
- package/lib/common/util/markdown-util.js.map +1 -0
- package/lib/common/util/mcp-util.d.ts.map +1 -0
- package/lib/common/util/mcp-util.js.map +1 -0
- package/lib/node/index.d.ts +20 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +36 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/modules/node-mcp-server-module.d.ts +37 -0
- package/lib/node/modules/node-mcp-server-module.d.ts.map +1 -0
- package/lib/node/modules/node-mcp-server-module.js +52 -0
- package/lib/node/modules/node-mcp-server-module.js.map +1 -0
- package/lib/node/reexport.d.ts +17 -0
- package/lib/node/reexport.d.ts.map +1 -0
- package/lib/node/reexport.js +33 -0
- package/lib/node/reexport.js.map +1 -0
- package/lib/node/server/node-mcp-request-context.d.ts +24 -0
- package/lib/node/server/node-mcp-request-context.d.ts.map +1 -0
- package/lib/node/server/node-mcp-request-context.js +43 -0
- package/lib/node/server/node-mcp-request-context.js.map +1 -0
- package/lib/node/server/node-mcp-server-launcher.d.ts +55 -0
- package/lib/node/server/node-mcp-server-launcher.d.ts.map +1 -0
- package/lib/node/server/node-mcp-server-launcher.js +123 -0
- package/lib/node/server/node-mcp-server-launcher.js.map +1 -0
- package/node.d.ts +16 -0
- package/node.js +18 -0
- package/package.json +19 -13
- package/src/browser/index.ts +21 -0
- package/src/browser/modules/browser-mcp-server-module.ts +54 -0
- package/src/browser/reexport.ts +16 -0
- package/src/browser/server/browser-mcp-request-context.ts +59 -0
- package/src/browser/server/mcp-worker-bridge.ts +200 -0
- package/src/browser/server/web-mcp-server-launcher.ts +39 -0
- package/src/{index.ts → common/index.ts} +4 -4
- package/src/{modules/mcp-server-module.ts → common/modules/abstract-mcp-server-module.ts} +54 -68
- package/src/common/server/abstract-mcp-server-launcher.spec.ts +458 -0
- package/src/common/server/abstract-mcp-server-launcher.ts +524 -0
- package/src/{server → common/server}/glsp-mcp-server.ts +7 -2
- package/src/{server → common/server}/lru-event-store.ts +1 -1
- package/src/{server → common/server}/mcp-diagram-handler-dispatcher.ts +13 -9
- package/src/{server → common/server}/mcp-diagram-resource-handler-registry.ts +4 -1
- package/src/{server → common/server}/mcp-diagram-tool-handler-registry.ts +3 -1
- package/src/{server → common/server}/mcp-input-schemas.ts +13 -0
- package/src/{server → common/server}/mcp-log-level-registry.ts +1 -1
- package/src/{server → common/server}/mcp-logger.spec.ts +26 -18
- package/src/{server → common/server}/mcp-logger.ts +9 -5
- package/src/{server → common/server}/mcp-options.ts +1 -1
- package/src/{server → common/server}/mcp-progress-reporter.spec.ts +19 -9
- package/src/{server → common/server}/mcp-progress-reporter.ts +9 -5
- package/src/{server → common/server}/mcp-prompt-handler.ts +8 -4
- package/src/{server → common/server}/mcp-request-context.ts +20 -16
- package/src/{server → common/server}/mcp-resource-handler.ts +11 -7
- package/src/{server → common/server}/mcp-tool-handler.spec.ts +4 -4
- package/src/{server → common/server}/mcp-tool-handler.ts +8 -4
- package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.ts +9 -2
- package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.ts +9 -2
- package/src/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.ts +5 -3
- package/src/{tools → common/tools}/handlers/layout-mcp-tool-handler.ts +4 -3
- package/src/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.ts +8 -2
- package/src/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.ts +8 -2
- package/src/node/index.ts +20 -0
- package/src/node/modules/node-mcp-server-module.ts +56 -0
- package/src/node/reexport.ts +16 -0
- package/src/node/server/mcp-http-transport-e2e.spec.ts +297 -0
- package/src/node/server/node-mcp-request-context.ts +33 -0
- package/src/{server/mcp-server-launcher.spec.ts → node/server/node-mcp-server-launcher.spec.ts} +19 -8
- package/src/node/server/node-mcp-server-launcher.ts +130 -0
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/modules/mcp-diagram-module.d.ts.map +0 -1
- package/lib/modules/mcp-diagram-module.js.map +0 -1
- package/lib/modules/mcp-server-module.d.ts.map +0 -1
- package/lib/modules/mcp-server-module.js.map +0 -1
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +0 -1
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +0 -1
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +0 -1
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +0 -1
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +0 -1
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +0 -1
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +0 -1
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +0 -1
- package/lib/resources/services/element-types-provider.d.ts.map +0 -1
- package/lib/resources/services/element-types-provider.js.map +0 -1
- package/lib/resources/services/mcp-model-serializer.d.ts.map +0 -1
- package/lib/resources/services/mcp-model-serializer.js.map +0 -1
- package/lib/server/glsp-mcp-server.d.ts.map +0 -1
- package/lib/server/glsp-mcp-server.js.map +0 -1
- package/lib/server/lru-event-store.d.ts.map +0 -1
- package/lib/server/lru-event-store.js.map +0 -1
- package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +0 -1
- package/lib/server/mcp-diagram-handler-dispatcher.js.map +0 -1
- package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-prompt-handler-registry.js.map +0 -1
- package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-resource-handler-registry.js.map +0 -1
- package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-tool-handler-registry.js.map +0 -1
- package/lib/server/mcp-handler-shared.d.ts.map +0 -1
- package/lib/server/mcp-handler-shared.js.map +0 -1
- package/lib/server/mcp-http-transport.d.ts +0 -93
- package/lib/server/mcp-http-transport.d.ts.map +0 -1
- package/lib/server/mcp-http-transport.js +0 -350
- package/lib/server/mcp-http-transport.js.map +0 -1
- package/lib/server/mcp-id-alias-service.d.ts.map +0 -1
- package/lib/server/mcp-id-alias-service.js.map +0 -1
- package/lib/server/mcp-input-schemas.d.ts.map +0 -1
- package/lib/server/mcp-input-schemas.js.map +0 -1
- package/lib/server/mcp-label-provider.d.ts.map +0 -1
- package/lib/server/mcp-label-provider.js.map +0 -1
- package/lib/server/mcp-log-level-registry.d.ts.map +0 -1
- package/lib/server/mcp-log-level-registry.js.map +0 -1
- package/lib/server/mcp-logger.d.ts.map +0 -1
- package/lib/server/mcp-logger.js.map +0 -1
- package/lib/server/mcp-mime-types.d.ts.map +0 -1
- package/lib/server/mcp-mime-types.js.map +0 -1
- package/lib/server/mcp-options.d.ts.map +0 -1
- package/lib/server/mcp-options.js.map +0 -1
- package/lib/server/mcp-progress-reporter.d.ts.map +0 -1
- package/lib/server/mcp-progress-reporter.js.map +0 -1
- package/lib/server/mcp-prompt-handler.d.ts.map +0 -1
- package/lib/server/mcp-prompt-handler.js.map +0 -1
- package/lib/server/mcp-request-context.d.ts +0 -37
- package/lib/server/mcp-request-context.d.ts.map +0 -1
- package/lib/server/mcp-request-context.js +0 -37
- package/lib/server/mcp-request-context.js.map +0 -1
- package/lib/server/mcp-resource-handler.d.ts.map +0 -1
- package/lib/server/mcp-resource-handler.js.map +0 -1
- package/lib/server/mcp-server-launcher.d.ts +0 -143
- package/lib/server/mcp-server-launcher.d.ts.map +0 -1
- package/lib/server/mcp-server-launcher.js.map +0 -1
- package/lib/server/mcp-session.d.ts.map +0 -1
- package/lib/server/mcp-session.js.map +0 -1
- package/lib/server/mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/layout-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/redo-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/undo-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +0 -1
- package/lib/util/markdown-util.d.ts.map +0 -1
- package/lib/util/markdown-util.js.map +0 -1
- package/lib/util/mcp-util.d.ts.map +0 -1
- package/lib/util/mcp-util.js.map +0 -1
- package/src/server/mcp-http-transport-e2e.spec.ts +0 -151
- package/src/server/mcp-http-transport.spec.ts +0 -385
- package/src/server/mcp-http-transport.ts +0 -368
- package/src/server/mcp-server-launcher.ts +0 -369
- /package/lib/{modules → common/modules}/mcp-diagram-module.d.ts +0 -0
- /package/lib/{modules → common/modules}/mcp-diagram-module.js +0 -0
- /package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.d.ts +0 -0
- /package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.js +0 -0
- /package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.d.ts +0 -0
- /package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.js +0 -0
- /package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.d.ts +0 -0
- /package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.js +0 -0
- /package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.d.ts +0 -0
- /package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.js +0 -0
- /package/lib/{resources → common/resources}/services/element-types-provider.d.ts +0 -0
- /package/lib/{resources → common/resources}/services/element-types-provider.js +0 -0
- /package/lib/{resources → common/resources}/services/mcp-model-serializer.d.ts +0 -0
- /package/lib/{resources → common/resources}/services/mcp-model-serializer.js +0 -0
- /package/lib/{server → common/server}/lru-event-store.js +0 -0
- /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.js +0 -0
- /package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-handler-shared.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-handler-shared.js +0 -0
- /package/lib/{server → common/server}/mcp-id-alias-service.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-id-alias-service.js +0 -0
- /package/lib/{server → common/server}/mcp-label-provider.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-label-provider.js +0 -0
- /package/lib/{server → common/server}/mcp-log-level-registry.js +0 -0
- /package/lib/{server → common/server}/mcp-mime-types.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-mime-types.js +0 -0
- /package/lib/{server → common/server}/mcp-session.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-session.js +0 -0
- /package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.js +0 -0
- /package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.d.ts +0 -0
- /package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.js +0 -0
- /package/lib/{util → common/util}/markdown-util.d.ts +0 -0
- /package/lib/{util → common/util}/markdown-util.js +0 -0
- /package/lib/{util → common/util}/mcp-util.d.ts +0 -0
- /package/lib/{util → common/util}/mcp-util.js +0 -0
- /package/src/{modules → common/modules}/mcp-diagram-module.ts +0 -0
- /package/src/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.ts +0 -0
- /package/src/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.ts +0 -0
- /package/src/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.ts +0 -0
- /package/src/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.ts +0 -0
- /package/src/{resources → common/resources}/services/element-types-provider.ts +0 -0
- /package/src/{resources → common/resources}/services/mcp-model-serializer.ts +0 -0
- /package/src/{server → common/server}/glsp-mcp-server.spec.ts +0 -0
- /package/src/{server → common/server}/lru-event-store.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-diagram-handler-dispatcher.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-diagram-prompt-handler-registry.ts +0 -0
- /package/src/{server → common/server}/mcp-handler-shared.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-handler-shared.ts +0 -0
- /package/src/{server → common/server}/mcp-id-alias-service.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-id-alias-service.ts +0 -0
- /package/src/{server → common/server}/mcp-label-provider.ts +0 -0
- /package/src/{server → common/server}/mcp-log-level-registry.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-mime-types.ts +0 -0
- /package/src/{server → common/server}/mcp-session.ts +0 -0
- /package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/element-types-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/redo-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/save-model-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.spec.ts +0 -0
- /package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/set-view-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/undo-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
- /package/src/{tools → common/tools}/tool-annotations.spec.ts +0 -0
- /package/src/{util → common/util}/markdown-util.ts +0 -0
- /package/src/{util → common/util}/mcp-util.ts +0 -0
- /package/src/{server → node/server}/raw-http.spec.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,14 +13,16 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
|
|
17
|
+
export * from './modules/abstract-mcp-server-module';
|
|
16
18
|
export * from './modules/mcp-diagram-module';
|
|
17
|
-
export * from './modules/mcp-server-module';
|
|
18
19
|
export * from './prompts/handlers/describe-diagram-mcp-prompt-handler';
|
|
19
20
|
export * from './prompts/handlers/suggest-improvements-mcp-prompt-handler';
|
|
20
21
|
export * from './resources/handlers/diagram-png-mcp-resource-handler';
|
|
21
22
|
export * from './resources/handlers/diagram-svg-mcp-resource-handler';
|
|
22
23
|
export * from './resources/services/element-types-provider';
|
|
23
24
|
export * from './resources/services/mcp-model-serializer';
|
|
25
|
+
export * from './server/abstract-mcp-server-launcher';
|
|
24
26
|
export * from './server/glsp-mcp-server';
|
|
25
27
|
export * from './server/lru-event-store';
|
|
26
28
|
export * from './server/mcp-diagram-handler-dispatcher';
|
|
@@ -28,7 +30,6 @@ export * from './server/mcp-diagram-prompt-handler-registry';
|
|
|
28
30
|
export * from './server/mcp-diagram-resource-handler-registry';
|
|
29
31
|
export * from './server/mcp-diagram-tool-handler-registry';
|
|
30
32
|
export * from './server/mcp-handler-shared';
|
|
31
|
-
export * from './server/mcp-http-transport';
|
|
32
33
|
export * from './server/mcp-id-alias-service';
|
|
33
34
|
export * from './server/mcp-input-schemas';
|
|
34
35
|
export * from './server/mcp-label-provider';
|
|
@@ -40,7 +41,6 @@ export * from './server/mcp-progress-reporter';
|
|
|
40
41
|
export * from './server/mcp-prompt-handler';
|
|
41
42
|
export * from './server/mcp-request-context';
|
|
42
43
|
export * from './server/mcp-resource-handler';
|
|
43
|
-
export * from './server/mcp-server-launcher';
|
|
44
44
|
export * from './server/mcp-session';
|
|
45
45
|
export * from './server/mcp-tool-handler';
|
|
46
46
|
export * from './tools/handlers/count-elements-mcp-tool-handler';
|
|
@@ -29,24 +29,24 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
29
29
|
import { interfaces } from 'inversify';
|
|
30
30
|
import { DescribeDiagramMcpPromptHandler } from '../prompts/handlers/describe-diagram-mcp-prompt-handler';
|
|
31
31
|
import { SuggestImprovementsMcpPromptHandler } from '../prompts/handlers/suggest-improvements-mcp-prompt-handler';
|
|
32
|
-
import {
|
|
33
|
-
import { SessionInfoMcpToolHandler } from '../tools/handlers/session-info-mcp-tool-handler';
|
|
32
|
+
import { AbstractMcpServerLauncher } from '../server/abstract-mcp-server-launcher';
|
|
34
33
|
import { DefaultGLSPMcpServer, GLSPMcpServerFactory } from '../server/glsp-mcp-server';
|
|
34
|
+
import { LruEventStore } from '../server/lru-event-store';
|
|
35
35
|
import { DefaultMcpDiagramHandlerDispatcher, McpDiagramHandlerDispatcher } from '../server/mcp-diagram-handler-dispatcher';
|
|
36
36
|
import { DefaultMcpLogLevelRegistry, McpLogLevelRegistry } from '../server/mcp-log-level-registry';
|
|
37
|
-
import { LruEventStore } from '../server/lru-event-store';
|
|
38
|
-
import { McpHttpTransport } from '../server/mcp-http-transport';
|
|
39
37
|
import { McpLogger } from '../server/mcp-logger';
|
|
40
38
|
import { McpServerDefaults, McpServerOptions } from '../server/mcp-options';
|
|
41
39
|
import { McpProgressReporter } from '../server/mcp-progress-reporter';
|
|
42
40
|
import { McpPromptHandler } from '../server/mcp-prompt-handler';
|
|
41
|
+
import { McpRequestContext } from '../server/mcp-request-context';
|
|
43
42
|
import { McpResourceHandler } from '../server/mcp-resource-handler';
|
|
44
|
-
import { McpServerLauncher } from '../server/mcp-server-launcher';
|
|
45
43
|
import { McpToolHandler } from '../server/mcp-tool-handler';
|
|
44
|
+
import { ElementTypesMcpToolHandler } from '../tools/handlers/element-types-mcp-tool-handler';
|
|
45
|
+
import { SessionInfoMcpToolHandler } from '../tools/handlers/session-info-mcp-tool-handler';
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* GLSP-generic default agent persona — adopters typically pass a product-specific persona to
|
|
49
|
-
* the
|
|
49
|
+
* the concrete server module's constructor (e.g. workflow-server might say "You are the
|
|
50
50
|
* Workflow Modeling Agent...").
|
|
51
51
|
*
|
|
52
52
|
* **Spec note.** This is wired to the MCP `instructions` field, which the spec describes as
|
|
@@ -55,7 +55,7 @@ import { McpToolHandler } from '../server/mcp-tool-handler';
|
|
|
55
55
|
* via `mcpDefaults.agentPersona`. Don't trim on autopilot if a "concise" interpretation drifts
|
|
56
56
|
* back: the verbose form materially improves LLM tool-use compliance for graphical modelling.
|
|
57
57
|
*/
|
|
58
|
-
const DEFAULT_AGENT_PERSONA = `
|
|
58
|
+
export const DEFAULT_AGENT_PERSONA = `
|
|
59
59
|
You are the GLSP Modeling Agent. Your primary goal is to assist in the creation and modification of graphical models using the
|
|
60
60
|
GLSP MCP server. You have to adhere to the following principles:
|
|
61
61
|
- MCP-Interaction: Any modeling related activity has to occur using the MCP server.
|
|
@@ -73,6 +73,17 @@ GLSP MCP server. You have to adhere to the following principles:
|
|
|
73
73
|
\`action: "center-on-elements"\` — to point the user at the elements you reference.
|
|
74
74
|
`;
|
|
75
75
|
|
|
76
|
+
/**
|
|
77
|
+
* Target-neutral default option values shared by every {@link AbstractMcpServerModule} subclass.
|
|
78
|
+
* Node and Browser concrete modules spread this and add their own target-specific fields
|
|
79
|
+
* (e.g. `host`/`allowedHosts` on Node).
|
|
80
|
+
*/
|
|
81
|
+
export const DEFAULT_MCP_OPTIONS: McpServerDefaults = {
|
|
82
|
+
dataMode: 'tools',
|
|
83
|
+
agentPersona: DEFAULT_AGENT_PERSONA,
|
|
84
|
+
eventStoreLimit: LruEventStore.DEFAULT_LIMIT
|
|
85
|
+
};
|
|
86
|
+
|
|
76
87
|
/**
|
|
77
88
|
* Multi-binding helper for MCP handler classes. Singleton-scoped sibling of core's
|
|
78
89
|
* `MultiBinding<T>` — same `binding.add(...)` / `binding.rebind(old, new)` adopter shape, but
|
|
@@ -91,9 +102,11 @@ export class McpHandlerMultiBinding<T> extends AbstractMultiBinding<interfaces.N
|
|
|
91
102
|
}
|
|
92
103
|
|
|
93
104
|
/**
|
|
94
|
-
* Server-scope DI module for the MCP server.
|
|
95
|
-
*
|
|
96
|
-
*
|
|
105
|
+
* Server-scope DI module for the MCP server. Target-neutral: concrete subclasses (Node, Browser)
|
|
106
|
+
* supply the launcher + request-context bindings via {@link bindMcpServerLauncher} and
|
|
107
|
+
* {@link bindMcpRequestContext}. Adopters subclass the concrete module and override the `bind*`
|
|
108
|
+
* hooks to swap single-instance services or the `configure*` hooks to add/replace handlers in
|
|
109
|
+
* the multi-bindings. Mirrors the `DiagramModule` pattern from core
|
|
97
110
|
* (`bindGModelSerializer()`, `configureActionHandlers(binding)`, etc.).
|
|
98
111
|
*
|
|
99
112
|
* Adopter-provided default option values flow through the constructor — pass a
|
|
@@ -103,13 +116,13 @@ export class McpHandlerMultiBinding<T> extends AbstractMultiBinding<interfaces.N
|
|
|
103
116
|
* @example
|
|
104
117
|
* ```ts
|
|
105
118
|
* // Drop-in: GLSP defaults.
|
|
106
|
-
* launcher.configure(serverModule, new
|
|
119
|
+
* launcher.configure(serverModule, new NodeMcpServerModule());
|
|
107
120
|
*
|
|
108
121
|
* // Drop-in with a product-specific override.
|
|
109
|
-
* launcher.configure(serverModule, new
|
|
122
|
+
* launcher.configure(serverModule, new NodeMcpServerModule({ dataMode: 'resources' }));
|
|
110
123
|
*
|
|
111
124
|
* // Subclass when handler customization is needed.
|
|
112
|
-
* class WorkflowMcpServerModule extends
|
|
125
|
+
* class WorkflowMcpServerModule extends NodeMcpServerModule {
|
|
113
126
|
* constructor() { super({ agentPersona: WORKFLOW_PERSONA }); }
|
|
114
127
|
* protected override configureToolHandlers(binding) {
|
|
115
128
|
* super.configureToolHandlers(binding);
|
|
@@ -119,9 +132,6 @@ export class McpHandlerMultiBinding<T> extends AbstractMultiBinding<interfaces.N
|
|
|
119
132
|
* ```
|
|
120
133
|
*/
|
|
121
134
|
export abstract class AbstractMcpServerModule extends GLSPModule {
|
|
122
|
-
protected bind!: interfaces.Bind;
|
|
123
|
-
protected rebind!: interfaces.Rebind;
|
|
124
|
-
|
|
125
135
|
constructor(protected readonly defaultOptions: McpServerDefaults = {}) {
|
|
126
136
|
super();
|
|
127
137
|
}
|
|
@@ -130,23 +140,26 @@ export abstract class AbstractMcpServerModule extends GLSPModule {
|
|
|
130
140
|
bind: interfaces.Bind,
|
|
131
141
|
_unbind: interfaces.Unbind,
|
|
132
142
|
isBound: interfaces.IsBound,
|
|
133
|
-
|
|
143
|
+
_rebind: interfaces.Rebind
|
|
134
144
|
): void {
|
|
135
|
-
this.bind = bind;
|
|
136
|
-
this.rebind = rebind;
|
|
137
145
|
const context = { bind, isBound };
|
|
138
|
-
applyBindingTarget(context,
|
|
139
|
-
|
|
146
|
+
applyBindingTarget(context, AbstractMcpServerLauncher, this.bindMcpServerLauncher())
|
|
147
|
+
.inSingletonScope()
|
|
148
|
+
.onActivation((_, launcher) => {
|
|
149
|
+
this.onMcpServerLauncherActivated(launcher);
|
|
150
|
+
return launcher;
|
|
151
|
+
});
|
|
152
|
+
// The launcher is aliased under two additional service identifiers so core's existing
|
|
140
153
|
// multi-bindings pick it up alongside the rest of the server's contributions/listeners.
|
|
141
|
-
bind(GLSPServerInitializer).toService(
|
|
142
|
-
bind(GLSPServerListener).toService(
|
|
143
|
-
applyBindingTarget(context, McpHttpTransport, this.bindMcpHttpTransport()).inSingletonScope();
|
|
154
|
+
bind(GLSPServerInitializer).toService(AbstractMcpServerLauncher);
|
|
155
|
+
bind(GLSPServerListener).toService(AbstractMcpServerLauncher);
|
|
144
156
|
applyBindingTarget(context, McpDiagramHandlerDispatcher, this.bindMcpDiagramHandlerDispatcher()).inSingletonScope();
|
|
145
157
|
applyBindingTarget(context, McpServerOptions, this.bindMcpServerOptions()).inSingletonScope();
|
|
146
158
|
applyBindingTarget(context, McpServerDefaults, this.bindMcpServerDefaults());
|
|
147
159
|
applyBindingTarget(context, McpLogger, this.bindMcpLogger()).inSingletonScope();
|
|
148
160
|
applyBindingTarget(context, McpLogLevelRegistry, this.bindMcpLogLevelRegistry()).inSingletonScope();
|
|
149
161
|
applyBindingTarget(context, McpProgressReporter, this.bindMcpProgressReporter()).inSingletonScope();
|
|
162
|
+
applyBindingTarget(context, McpRequestContext, this.bindMcpRequestContext()).inSingletonScope();
|
|
150
163
|
applyBindingTarget(context, GLSPMcpServerFactory, this.bindGLSPMcpServerFactory());
|
|
151
164
|
this.configureMultiBinding(new McpHandlerMultiBinding<McpToolHandler>(McpToolHandler), binding =>
|
|
152
165
|
this.configureToolHandlers(binding as McpHandlerMultiBinding<McpToolHandler>)
|
|
@@ -160,18 +173,23 @@ export abstract class AbstractMcpServerModule extends GLSPModule {
|
|
|
160
173
|
}
|
|
161
174
|
|
|
162
175
|
/**
|
|
163
|
-
* {@link
|
|
164
|
-
* `GLSPServerInitializer` + `GLSPServerListener` (the launcher implements both).
|
|
165
|
-
*
|
|
176
|
+
* {@link AbstractMcpServerLauncher} binding. Bound as a singleton AND aliased to
|
|
177
|
+
* `GLSPServerInitializer` + `GLSPServerListener` (the launcher implements both). Concrete
|
|
178
|
+
* modules return the target-specific launcher class (Node, Web, ...).
|
|
166
179
|
*/
|
|
167
|
-
protected bindMcpServerLauncher(): BindingTarget<
|
|
168
|
-
return McpServerLauncher;
|
|
169
|
-
}
|
|
180
|
+
protected abstract bindMcpServerLauncher(): BindingTarget<AbstractMcpServerLauncher>;
|
|
170
181
|
|
|
171
|
-
/**
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Hook fired once when the {@link AbstractMcpServerLauncher} singleton is first resolved by
|
|
184
|
+
* the DI container — lets adopters obtain the instance without subclassing it. No-op by default.
|
|
185
|
+
*/
|
|
186
|
+
protected onMcpServerLauncherActivated(_launcher: AbstractMcpServerLauncher): void {}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* {@link McpRequestContext} binding. Concrete modules return the target-specific async-context
|
|
190
|
+
* implementation (e.g. Node's `AsyncLocalStorage`-backed variant or a browser-friendly one).
|
|
191
|
+
*/
|
|
192
|
+
protected abstract bindMcpRequestContext(): BindingTarget<McpRequestContext>;
|
|
175
193
|
|
|
176
194
|
/**
|
|
177
195
|
* {@link McpDiagramHandlerDispatcher} binding. Owns diagram-scope handler discovery,
|
|
@@ -196,16 +214,12 @@ export abstract class AbstractMcpServerModule extends GLSPModule {
|
|
|
196
214
|
return { constantValue: this.defaultOptions };
|
|
197
215
|
}
|
|
198
216
|
|
|
199
|
-
/**
|
|
200
|
-
* {@link McpLogger} binding. Bound on the server container; per-session containers inherit
|
|
201
|
-
* it, so handlers at any scope can inject it; routes through the active MCP request via
|
|
202
|
-
* {@link mcpRequestContext}.
|
|
203
|
-
*/
|
|
217
|
+
/** {@link McpLogger} binding — routes through the active MCP request via {@link McpRequestContext}. */
|
|
204
218
|
protected bindMcpLogger(): BindingTarget<McpLogger> {
|
|
205
219
|
return McpLogger;
|
|
206
220
|
}
|
|
207
221
|
|
|
208
|
-
/** {@link McpProgressReporter} binding.
|
|
222
|
+
/** {@link McpProgressReporter} binding. */
|
|
209
223
|
protected bindMcpProgressReporter(): BindingTarget<McpProgressReporter> {
|
|
210
224
|
return McpProgressReporter;
|
|
211
225
|
}
|
|
@@ -259,31 +273,3 @@ export abstract class AbstractMcpServerModule extends GLSPModule {
|
|
|
259
273
|
binding.add(SuggestImprovementsMcpPromptHandler);
|
|
260
274
|
}
|
|
261
275
|
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Default {@link AbstractMcpServerModule} entry point. Ships GLSP-default option values (see
|
|
265
|
-
* {@link DEFAULT_OPTIONS}) on top of the abstract module's hook defaults. Adopter-provided
|
|
266
|
-
* overrides via the constructor merge on top.
|
|
267
|
-
*
|
|
268
|
-
* @experimental The MCP integration is under active development. Option names, schema shapes,
|
|
269
|
-
* and handler contracts MAY change in minor releases until the feature graduates from
|
|
270
|
-
* experimental status.
|
|
271
|
-
*/
|
|
272
|
-
export class DefaultMcpServerModule extends AbstractMcpServerModule {
|
|
273
|
-
static readonly DEFAULT_OPTIONS: McpServerDefaults = {
|
|
274
|
-
host: '127.0.0.1',
|
|
275
|
-
allowedHosts: ['127.0.0.1', 'localhost'],
|
|
276
|
-
// `allowedOrigins` deliberately undefined: accept absent Origin (typical for desktop-IDE
|
|
277
|
-
// MCP clients) and rely on Host validation to gate DNS-rebinding. Adopters whose
|
|
278
|
-
// deployment is browser-fronted set this explicitly to their frontend's origin.
|
|
279
|
-
dataMode: 'tools',
|
|
280
|
-
agentPersona: DEFAULT_AGENT_PERSONA,
|
|
281
|
-
// 10K events per session is generous for typical workloads (a few MB) and large enough
|
|
282
|
-
// that disconnects within seconds recover via `Last-Event-ID` resumability.
|
|
283
|
-
eventStoreLimit: LruEventStore.DEFAULT_LIMIT
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
constructor(overrides: McpServerDefaults = {}) {
|
|
287
|
-
super({ ...DefaultMcpServerModule.DEFAULT_OPTIONS, ...overrides });
|
|
288
|
-
}
|
|
289
|
-
}
|