@loop_ouroboros/mcp-hub-lite 1.0.1 → 1.1.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.
- package/CHANGELOG.md +47 -0
- package/dist/client/assets/{HomeView-Cr1jX73N.js → HomeView-Bu2joUvW.js} +1 -1
- package/dist/client/assets/ResourceDetailView-BvrhDCD1.js +1 -0
- package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
- package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
- package/dist/client/assets/ResourcesView-LjqioF_s.js +1 -0
- package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
- package/dist/client/assets/ServerDashboard-FhHJFvUi.js +1 -0
- package/dist/client/assets/ServerDetail-BKV-M4qT.js +2 -0
- package/dist/client/assets/ServerDetail-CtnNKJGx.css +1 -0
- package/dist/client/assets/{ServerListView-Bws09jNR.css → ServerListView-B-bPljsO.css} +1 -1
- package/dist/client/assets/ServerListView-BXgtDyt3.js +36 -0
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-D-ooYNdN.js +1 -0
- package/dist/client/assets/SettingsView-CMFG91Z4.js +1 -0
- package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
- package/dist/client/assets/ToolCallDialog-Bf4Xe4gH.js +1 -0
- package/dist/client/assets/ToolsView-DFpha1z0.js +1 -0
- package/dist/client/assets/_baseClone-Bp9Rjwd7.js +1 -0
- package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
- package/dist/client/assets/el-form-item-DdSUWYsl.js +12 -0
- package/dist/client/assets/el-input-99gMrutP.js +1 -0
- package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
- package/dist/client/assets/{el-loading-Csv24uBk.js → el-loading-CIQ5pD5u.js} +1 -1
- package/dist/client/assets/el-overlay-BVM6msGX.js +1 -0
- package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
- package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
- package/dist/client/assets/el-radio-group-DhXWy7ry.js +1 -0
- package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
- package/dist/client/assets/el-skeleton-item-DJz-Us12.js +1 -0
- package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
- package/dist/client/assets/el-switch-Bu8AQ5uM.js +1 -0
- package/dist/client/assets/el-tab-pane-BnGMaV56.js +1 -0
- package/dist/client/assets/el-table-column-BMWOaLS_.js +1 -0
- package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
- package/dist/client/assets/index-C2V-ZGji.js +1 -0
- package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
- package/dist/client/assets/index-vhkqgpmN.js +2 -0
- package/dist/client/assets/omit-CqPQN3XP.js +1 -0
- package/dist/client/assets/{raf-DDfJOMYh.js → raf-C2wXzaVU.js} +1 -1
- package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-BLHLXXJK.js} +1 -1
- package/dist/client/index.html +3 -3
- package/dist/server/shared/models/resource.model.d.ts +2 -1
- package/dist/server/shared/models/resource.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.d.ts +363 -5
- package/dist/server/shared/models/server.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.js +220 -1
- package/dist/server/shared/models/session.model.d.ts +2 -56
- package/dist/server/shared/models/session.model.d.ts.map +1 -1
- package/dist/server/shared/models/session.model.js +2 -55
- package/dist/server/shared/models/tool.model.d.ts +4 -2
- package/dist/server/shared/models/tool.model.d.ts.map +1 -1
- package/dist/server/shared/types/client.types.d.ts +4 -32
- package/dist/server/shared/types/client.types.d.ts.map +1 -1
- package/dist/server/shared/types/client.types.js +3 -2
- package/dist/server/shared/types/index.d.ts +3 -3
- package/dist/server/shared/types/index.d.ts.map +1 -1
- package/dist/server/shared/types/index.js +3 -3
- package/dist/server/shared/types/session-context.types.d.ts +35 -0
- package/dist/server/shared/types/session-context.types.d.ts.map +1 -0
- package/dist/server/shared/types/session-context.types.js +5 -0
- package/dist/server/shared/types/websocket.types.d.ts +17 -10
- package/dist/server/shared/types/websocket.types.d.ts.map +1 -1
- package/dist/server/src/api/mcp/debug-response-wrapper.d.ts.map +1 -1
- package/dist/server/src/api/mcp/debug-response-wrapper.js +26 -1
- package/dist/server/src/api/mcp/gateway.d.ts +1 -3
- package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
- package/dist/server/src/api/mcp/gateway.js +34 -61
- package/dist/server/src/api/mcp/session-context-extractor.d.ts +5 -5
- package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -1
- package/dist/server/src/api/mcp/session-context-extractor.js +15 -39
- package/dist/server/src/api/web/clients.js +2 -2
- package/dist/server/src/api/web/hub-tools.d.ts +2 -2
- package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
- package/dist/server/src/api/web/hub-tools.js +3 -54
- package/dist/server/src/api/web/mcp-status.d.ts +1 -1
- package/dist/server/src/api/web/mcp-status.d.ts.map +1 -1
- package/dist/server/src/api/web/mcp-status.js +71 -30
- package/dist/server/src/api/web/resources.d.ts.map +1 -1
- package/dist/server/src/api/web/resources.js +28 -22
- package/dist/server/src/api/web/search.d.ts +2 -16
- package/dist/server/src/api/web/search.d.ts.map +1 -1
- package/dist/server/src/api/web/search.js +24 -45
- package/dist/server/src/api/web/servers.d.ts +3 -3
- package/dist/server/src/api/web/servers.d.ts.map +1 -1
- package/dist/server/src/api/web/servers.js +70 -25
- package/dist/server/src/api/web/sessions.js +1 -1
- package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -1
- package/dist/server/src/api/ws/ws-handler.js +4 -2
- package/dist/server/src/app.d.ts.map +1 -1
- package/dist/server/src/app.js +0 -4
- package/dist/server/src/cli/commands/list.js +2 -2
- package/dist/server/src/cli/commands/status.d.ts.map +1 -1
- package/dist/server/src/cli/commands/status.js +41 -30
- package/dist/server/src/cli/index.d.ts.map +1 -1
- package/dist/server/src/cli/index.js +2 -1
- package/dist/server/src/cli/server.d.ts +11 -2
- package/dist/server/src/cli/server.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.d.ts +22 -0
- package/dist/server/src/config/config-change-logger.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.js +135 -11
- package/dist/server/src/config/config-loader.d.ts +6 -5
- package/dist/server/src/config/config-loader.d.ts.map +1 -1
- package/dist/server/src/config/config-loader.js +54 -16
- package/dist/server/src/config/config-manager.d.ts +51 -43
- package/dist/server/src/config/config-manager.d.ts.map +1 -1
- package/dist/server/src/config/config-manager.js +84 -66
- package/dist/server/src/config/config-migrator.d.ts +82 -0
- package/dist/server/src/config/config-migrator.d.ts.map +1 -0
- package/dist/server/src/config/config-migrator.js +348 -0
- package/dist/server/src/config/config-saver.d.ts +2 -0
- package/dist/server/src/config/config-saver.d.ts.map +1 -1
- package/dist/server/src/config/config-saver.js +8 -2
- package/dist/server/src/config/config.schema.d.ts +10 -102
- package/dist/server/src/config/config.schema.d.ts.map +1 -1
- package/dist/server/src/config/config.schema.js +15 -98
- package/dist/server/src/config/path-validator.d.ts +27 -0
- package/dist/server/src/config/path-validator.d.ts.map +1 -0
- package/dist/server/src/config/path-validator.js +53 -0
- package/dist/server/src/config/server-config-manager.d.ts +37 -31
- package/dist/server/src/config/server-config-manager.d.ts.map +1 -1
- package/dist/server/src/config/server-config-manager.js +222 -66
- package/dist/server/src/config/type-converter.d.ts.map +1 -1
- package/dist/server/src/config/type-converter.js +3 -2
- package/dist/server/src/index.js +1 -1
- package/dist/server/src/models/event.model.d.ts +17 -10
- package/dist/server/src/models/event.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.d.ts +17 -3
- package/dist/server/src/models/server.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.js +2 -1
- package/dist/server/src/models/system-tools.constants.d.ts +10 -27
- package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
- package/dist/server/src/models/system-tools.constants.js +4 -8
- package/dist/server/src/pid/manager.d.ts.map +1 -1
- package/dist/server/src/pid/manager.js +2 -1
- package/dist/server/src/server/dev-server.js +34 -20
- package/dist/server/src/server/runner.d.ts.map +1 -1
- package/dist/server/src/server/runner.js +41 -26
- package/dist/server/src/services/client-tracker.service.d.ts +3 -128
- package/dist/server/src/services/client-tracker.service.d.ts.map +1 -1
- package/dist/server/src/services/client-tracker.service.js +4 -200
- package/dist/server/src/services/connection/connection-manager.d.ts +85 -103
- package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
- package/dist/server/src/services/connection/connection-manager.js +286 -241
- package/dist/server/src/services/connection/tool-cache.d.ts +27 -25
- package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
- package/dist/server/src/services/connection/tool-cache.js +50 -55
- package/dist/server/src/services/gateway/gateway.service.d.ts +2 -0
- package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
- package/dist/server/src/services/gateway/gateway.service.js +15 -19
- package/dist/server/src/services/gateway/global-transport.d.ts +10 -0
- package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
- package/dist/server/src/services/gateway/global-transport.js +42 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +67 -65
- package/dist/server/src/services/gateway/request-handlers/index.d.ts +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.js +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +1 -4
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +16 -55
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts +35 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.js +44 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/resources-handler.js +5 -4
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +32 -77
- package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/tools-handler.js +4 -3
- package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
- package/dist/server/src/services/gateway/tool-list-generator.js +37 -16
- package/dist/server/src/services/gateway/types.d.ts +2 -1
- package/dist/server/src/services/gateway/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.d.ts +32 -238
- package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.js +89 -267
- package/dist/server/src/services/hub-tools/index.d.ts +1 -3
- package/dist/server/src/services/hub-tools/index.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/index.js +1 -2
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts +62 -0
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-matcher.js +132 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts +29 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-selector.js +103 -0
- package/dist/server/src/services/hub-tools/resource-generator.d.ts +25 -5
- package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/resource-generator.js +259 -64
- package/dist/server/src/services/hub-tools/server-selector.d.ts +26 -13
- package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/server-selector.js +44 -37
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +1 -4
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/system-tool-definitions.js +17 -80
- package/dist/server/src/services/hub-tools/tool-search.d.ts +7 -7
- package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/tool-search.js +10 -4
- package/dist/server/src/services/hub-tools/types.d.ts +2 -2
- package/dist/server/src/services/hub-tools/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.d.ts +43 -72
- package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.js +185 -110
- package/dist/server/src/services/search/search-cache.d.ts +0 -19
- package/dist/server/src/services/search/search-cache.d.ts.map +1 -1
- package/dist/server/src/services/search/search-cache.js +0 -24
- package/dist/server/src/services/search/search-core.service.d.ts +5 -5
- package/dist/server/src/services/search/search-core.service.js +11 -11
- package/dist/server/src/services/session/session-manager.d.ts +12 -256
- package/dist/server/src/services/session/session-manager.d.ts.map +1 -1
- package/dist/server/src/services/session/session-manager.js +23 -583
- package/dist/server/src/services/session-tracker.service.d.ts +124 -0
- package/dist/server/src/services/session-tracker.service.d.ts.map +1 -0
- package/dist/server/src/services/session-tracker.service.js +176 -0
- package/dist/server/src/services/system-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/system-tool-handler.js +7 -17
- package/dist/server/src/utils/composite-key.d.ts +29 -0
- package/dist/server/src/utils/composite-key.d.ts.map +1 -0
- package/dist/server/src/utils/composite-key.js +39 -0
- package/dist/server/src/utils/error-handler.d.ts.map +1 -1
- package/dist/server/src/utils/error-handler.js +3 -2
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/utils/index.js +2 -0
- package/dist/server/src/utils/instance-id.d.ts +22 -0
- package/dist/server/src/utils/instance-id.d.ts.map +1 -0
- package/dist/server/src/utils/instance-id.js +59 -0
- package/dist/server/src/utils/json-utils.d.ts +4 -4
- package/dist/server/src/utils/json-utils.d.ts.map +1 -1
- package/dist/server/src/utils/json-utils.js +10 -4
- package/dist/server/src/utils/logger/dev-logger.d.ts +2 -1
- package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-colors.d.ts +1 -0
- package/dist/server/src/utils/logger/log-colors.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-colors.js +2 -1
- package/dist/server/src/utils/logger/log-context.d.ts +1 -0
- package/dist/server/src/utils/logger/log-context.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.d.ts +28 -0
- package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.js +287 -5
- package/dist/server/src/utils/logger/log-modules.d.ts +15 -12
- package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-modules.js +8 -8
- package/dist/server/src/utils/logger/log-output.d.ts +2 -2
- package/dist/server/src/utils/logger/log-output.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-output.js +27 -6
- package/dist/server/src/utils/logger/logger.d.ts +13 -0
- package/dist/server/src/utils/logger/logger.d.ts.map +1 -1
- package/dist/server/src/utils/logger/logger.js +42 -7
- package/dist/server/src/utils/parameter-validator.d.ts +10 -0
- package/dist/server/src/utils/parameter-validator.d.ts.map +1 -0
- package/dist/server/src/utils/parameter-validator.js +53 -0
- package/dist/server/src/utils/process-tree.d.ts +49 -0
- package/dist/server/src/utils/process-tree.d.ts.map +1 -0
- package/dist/server/src/utils/process-tree.js +285 -0
- package/dist/server/src/utils/request-context.d.ts +12 -30
- package/dist/server/src/utils/request-context.d.ts.map +1 -1
- package/dist/server/src/utils/request-context.js +10 -30
- package/dist/server/src/utils/sort-utils.d.ts +40 -0
- package/dist/server/src/utils/sort-utils.d.ts.map +1 -0
- package/dist/server/src/utils/sort-utils.js +131 -0
- package/dist/server/src/utils/tool-args-parser.d.ts +0 -4
- package/dist/server/src/utils/tool-args-parser.d.ts.map +1 -1
- package/dist/server/src/utils/tool-args-parser.js +0 -7
- package/dist/server/src/utils/transports/sse-transport.d.ts +16 -1
- package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/sse-transport.js +55 -9
- package/dist/server/src/utils/transports/stdio-transport.d.ts +24 -53
- package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/stdio-transport.js +66 -247
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts +24 -1
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/streamable-http-transport.js +68 -8
- package/dist/server/src/utils/transports/transport-factory.d.ts +9 -4
- package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
- package/dist/server/src/utils/transports/transport-factory.js +33 -13
- package/dist/server/src/utils/transports/transport.interface.d.ts +6 -0
- package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -1
- package/dist/server/src/utils/version.d.ts +11 -0
- package/dist/server/src/utils/version.d.ts.map +1 -0
- package/dist/server/src/utils/version.js +57 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.js +24 -24
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +49 -45
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +35 -36
- package/dist/server/tests/evaluation/evaluation.test.js +10 -9
- package/dist/server/tests/integration/api/gateway.test.js +24 -39
- package/dist/server/tests/integration/gateway/fault-tolerance.test.js +65 -25
- package/dist/server/tests/integration/gateway/mcp-connection.test.js +53 -61
- package/dist/server/tests/server.test.js +27 -16
- package/dist/server/tests/temp/temp-run-docling.d.ts +2 -0
- package/dist/server/tests/temp/temp-run-docling.d.ts.map +1 -0
- package/dist/server/tests/temp/temp-run-docling.js +53 -0
- package/dist/server/tests/temp/test-stack.d.ts +6 -0
- package/dist/server/tests/temp/test-stack.d.ts.map +1 -0
- package/dist/server/tests/temp/test-stack.js +40 -0
- package/dist/server/tests/types/test-helpers.d.ts +1 -2
- package/dist/server/tests/types/test-helpers.d.ts.map +1 -1
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.js +199 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-migrator.test.js +316 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-saver.test.js +200 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config.schema.test.js +347 -0
- package/dist/server/tests/unit/server/runner.test.js +86 -62
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts +2 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.js +112 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.js +112 -46
- package/dist/server/tests/unit/services/hub-manager.test.js +25 -15
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.js +195 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.js +190 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.js +560 -334
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts +2 -0
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/instance-matcher.test.js +256 -0
- package/dist/server/tests/unit/services/session-manager.test.js +26 -436
- package/dist/server/tests/unit/utils/config.test.js +88 -186
- package/dist/server/tests/unit/utils/json-utils.test.js +107 -13
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.js +66 -0
- package/dist/server/tests/unit/utils/logger.test.js +101 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.js +63 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/process-tree.test.js +129 -0
- package/dist/server/tests/unit/utils/request-context.test.js +9 -28
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/sort-utils.test.js +220 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/transport-factory.test.js +55 -0
- package/package.json +1 -1
- package/dist/client/assets/ResourceDetailView-BQ49hk0c.js +0 -1
- package/dist/client/assets/ResourcesView-BYZfWtia.js +0 -1
- package/dist/client/assets/ResourcesView-CjMklkyv.css +0 -1
- package/dist/client/assets/ServerDashboard-7_8Og9JJ.css +0 -1
- package/dist/client/assets/ServerDashboard-DHcxwKeh.js +0 -2
- package/dist/client/assets/ServerListView-DralUL71.js +0 -30
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +0 -1
- package/dist/client/assets/SessionsView-BCGRTqem.js +0 -1
- package/dist/client/assets/SettingsView-BLfxa6PZ.js +0 -1
- package/dist/client/assets/ToolCallDialog-DQ0OQ1mD.js +0 -1
- package/dist/client/assets/ToolsView-BLB6x3tC.js +0 -1
- package/dist/client/assets/_baseClone-Bo5mBgsT.js +0 -1
- package/dist/client/assets/el-form-item-BVMLpmVC.css +0 -1
- package/dist/client/assets/el-form-item-BmeJKVSi.js +0 -12
- package/dist/client/assets/el-input-CeZiq23m.js +0 -1
- package/dist/client/assets/el-input-CmuHb8HS.css +0 -1
- package/dist/client/assets/el-overlay-B2ZKM6Up.css +0 -1
- package/dist/client/assets/el-overlay-iw_hrrlC.js +0 -1
- package/dist/client/assets/el-select-B73uRP_Y.js +0 -1
- package/dist/client/assets/el-tab-pane-BgOTBn4X.js +0 -1
- package/dist/client/assets/el-table-column-Ld4GSD3x.js +0 -1
- package/dist/client/assets/el-table-column-T_mV9jNw.css +0 -1
- package/dist/client/assets/el-tag-DYmSo8Bx.js +0 -1
- package/dist/client/assets/el-tag-DjxZVOpb.css +0 -1
- package/dist/client/assets/index-COYaYRbH.js +0 -1
- package/dist/client/assets/index-Cfcvxyee.js +0 -2
- package/dist/client/assets/index-PhuI36Zi.js +0 -1
- package/dist/client/assets/omit-7EL6VJO4.js +0 -1
- package/dist/client/assets/vnode-upjuIlvm.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL,
|
|
1
|
+
import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL, LIST_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, UPDATE_SERVER_DESCRIPTION_TOOL } from '../../models/system-tools.constants.js';
|
|
2
2
|
/**
|
|
3
3
|
* Retrieves the complete list of system tools provided by this service.
|
|
4
4
|
*
|
|
@@ -8,12 +8,9 @@ import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL, FIND_SERVERS_TOOL, LIST_ALL_TOOLS
|
|
|
8
8
|
*
|
|
9
9
|
* The method implements all standard system tools:
|
|
10
10
|
* - list-servers: List all connected servers
|
|
11
|
-
* -
|
|
12
|
-
* - list-all-tools-in-server: List tools from a specific server
|
|
13
|
-
* - find-tools-in-server: Find tools in a specific server
|
|
11
|
+
* - list-tools-in-server: List tools from a specific server
|
|
14
12
|
* - get-tool: Get complete tool schema
|
|
15
13
|
* - call-tool: Call a specific tool from a specific server
|
|
16
|
-
* - find-tools: Find tools across all servers
|
|
17
14
|
*
|
|
18
15
|
* @returns {Array<{ name: string; description: string; inputSchema: JsonSchema; annotations?: ToolAnnotations }>}
|
|
19
16
|
* Array of system tool configurations
|
|
@@ -46,33 +43,7 @@ export function getSystemTools() {
|
|
|
46
43
|
}
|
|
47
44
|
});
|
|
48
45
|
break;
|
|
49
|
-
case
|
|
50
|
-
systemTools.push({
|
|
51
|
-
name: toolName,
|
|
52
|
-
description: 'Find servers matching a pattern',
|
|
53
|
-
inputSchema: {
|
|
54
|
-
type: 'object',
|
|
55
|
-
properties: {
|
|
56
|
-
pattern: { type: 'string', description: 'Regex pattern to search for' },
|
|
57
|
-
searchIn: {
|
|
58
|
-
type: 'string',
|
|
59
|
-
enum: ['name', 'description', 'both'],
|
|
60
|
-
default: 'both'
|
|
61
|
-
},
|
|
62
|
-
caseSensitive: { type: 'boolean', default: false }
|
|
63
|
-
},
|
|
64
|
-
required: ['pattern']
|
|
65
|
-
},
|
|
66
|
-
annotations: {
|
|
67
|
-
title: 'Find Servers',
|
|
68
|
-
readOnlyHint: true,
|
|
69
|
-
destructiveHint: false,
|
|
70
|
-
idempotentHint: true,
|
|
71
|
-
openWorldHint: false
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
break;
|
|
75
|
-
case LIST_ALL_TOOLS_IN_SERVER_TOOL:
|
|
46
|
+
case LIST_TOOLS_IN_SERVER_TOOL:
|
|
76
47
|
systemTools.push({
|
|
77
48
|
name: toolName,
|
|
78
49
|
description: 'List all tools from a specific server',
|
|
@@ -99,40 +70,6 @@ export function getSystemTools() {
|
|
|
99
70
|
}
|
|
100
71
|
});
|
|
101
72
|
break;
|
|
102
|
-
case FIND_TOOLS_IN_SERVER_TOOL:
|
|
103
|
-
systemTools.push({
|
|
104
|
-
name: toolName,
|
|
105
|
-
description: 'Find tools matching a pattern in a specific server',
|
|
106
|
-
inputSchema: {
|
|
107
|
-
type: 'object',
|
|
108
|
-
properties: {
|
|
109
|
-
serverName: { type: 'string', description: 'Name of the MCP server' },
|
|
110
|
-
pattern: { type: 'string', description: 'Regex pattern to search for' },
|
|
111
|
-
searchIn: {
|
|
112
|
-
type: 'string',
|
|
113
|
-
enum: ['name', 'description', 'both'],
|
|
114
|
-
default: 'both'
|
|
115
|
-
},
|
|
116
|
-
caseSensitive: { type: 'boolean', default: false },
|
|
117
|
-
requestOptions: {
|
|
118
|
-
type: 'object',
|
|
119
|
-
properties: {
|
|
120
|
-
sessionId: { type: 'string', description: 'Session ID for instance selection' },
|
|
121
|
-
tags: { type: 'object', description: 'Tags for instance selection' }
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
required: ['serverName', 'pattern']
|
|
126
|
-
},
|
|
127
|
-
annotations: {
|
|
128
|
-
title: 'Find Tools in Server',
|
|
129
|
-
readOnlyHint: true,
|
|
130
|
-
destructiveHint: false,
|
|
131
|
-
idempotentHint: true,
|
|
132
|
-
openWorldHint: false
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
break;
|
|
136
73
|
case GET_TOOL_TOOL:
|
|
137
74
|
systemTools.push({
|
|
138
75
|
name: toolName,
|
|
@@ -164,11 +101,16 @@ export function getSystemTools() {
|
|
|
164
101
|
case CALL_TOOL_TOOL:
|
|
165
102
|
systemTools.push({
|
|
166
103
|
name: toolName,
|
|
167
|
-
description: 'Call a specific tool from
|
|
104
|
+
description: 'Call a specific tool from an external MCP server. ' +
|
|
105
|
+
'System tools (list_servers, list_tools_in_server, get_tool, update_server_description) ' +
|
|
106
|
+
'must be called directly via tools/call, not through this tool.',
|
|
168
107
|
inputSchema: {
|
|
169
108
|
type: 'object',
|
|
170
109
|
properties: {
|
|
171
|
-
serverName: {
|
|
110
|
+
serverName: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
description: 'Name of the MCP server (must be an external server, not mcp-hub-lite)'
|
|
113
|
+
},
|
|
172
114
|
toolName: { type: 'string', description: 'Name of the tool to call' },
|
|
173
115
|
toolArgs: { type: 'object', description: 'Arguments to pass to the tool' },
|
|
174
116
|
requestOptions: {
|
|
@@ -190,26 +132,21 @@ export function getSystemTools() {
|
|
|
190
132
|
}
|
|
191
133
|
});
|
|
192
134
|
break;
|
|
193
|
-
case
|
|
135
|
+
case UPDATE_SERVER_DESCRIPTION_TOOL:
|
|
194
136
|
systemTools.push({
|
|
195
137
|
name: toolName,
|
|
196
|
-
description: '
|
|
138
|
+
description: 'Update the description of a specific MCP server',
|
|
197
139
|
inputSchema: {
|
|
198
140
|
type: 'object',
|
|
199
141
|
properties: {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
type: 'string',
|
|
203
|
-
enum: ['name', 'description', 'both'],
|
|
204
|
-
default: 'both'
|
|
205
|
-
},
|
|
206
|
-
caseSensitive: { type: 'boolean', default: false }
|
|
142
|
+
serverName: { type: 'string', description: 'Name of the MCP server to update' },
|
|
143
|
+
description: { type: 'string', description: 'New description text for the server' }
|
|
207
144
|
},
|
|
208
|
-
required: ['
|
|
145
|
+
required: ['serverName', 'description']
|
|
209
146
|
},
|
|
210
147
|
annotations: {
|
|
211
|
-
title: '
|
|
212
|
-
readOnlyHint:
|
|
148
|
+
title: 'Update Server Description',
|
|
149
|
+
readOnlyHint: false,
|
|
213
150
|
destructiveHint: false,
|
|
214
151
|
idempotentHint: true,
|
|
215
152
|
openWorldHint: false
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ToolSummary } from '../../../shared/models/tool.model.js';
|
|
2
2
|
import type { RequestOptions } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Search options for server searches.
|
|
@@ -42,7 +42,7 @@ export declare function findServers(pattern: string, searchIn?: 'name' | 'descri
|
|
|
42
42
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
43
43
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
44
44
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
45
|
-
* @returns {Promise<{ serverName: string; tools:
|
|
45
|
+
* @returns {Promise<{ serverName: string; tools: ToolSummary[] }>} Object containing server name and matching tools
|
|
46
46
|
* @throws {Error} If the specified server is not found or not connected
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
@@ -53,7 +53,7 @@ export declare function findServers(pattern: string, searchIn?: 'name' | 'descri
|
|
|
53
53
|
*/
|
|
54
54
|
export declare function findToolsInServer(serverName: string, pattern: string, searchIn?: 'name' | 'description' | 'both', caseSensitive?: boolean, requestOptions?: RequestOptions): Promise<{
|
|
55
55
|
serverName: string;
|
|
56
|
-
tools:
|
|
56
|
+
tools: ToolSummary[];
|
|
57
57
|
}>;
|
|
58
58
|
/**
|
|
59
59
|
* Finds tools matching a pattern across all connected MCP servers.
|
|
@@ -66,8 +66,8 @@ export declare function findToolsInServer(serverName: string, pattern: string, s
|
|
|
66
66
|
* @param {string} pattern - Regex pattern to search for in tool names and descriptions
|
|
67
67
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
68
68
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
69
|
-
* @param {() => Promise<Record<string, { tools:
|
|
70
|
-
* @returns {Promise<Record<string, { tools:
|
|
69
|
+
* @param {() => Promise<Record<string, { tools: ToolSummary[] }>>} listAllToolsFn - Function to list all tools
|
|
70
|
+
* @returns {Promise<Record<string, { tools: ToolSummary[] }>>} Object mapping server names to matching tools
|
|
71
71
|
*
|
|
72
72
|
* @example
|
|
73
73
|
* ```typescript
|
|
@@ -78,8 +78,8 @@ export declare function findToolsInServer(serverName: string, pattern: string, s
|
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
80
|
export declare function findTools(pattern: string, searchIn: "name" | "description" | "both" | undefined, caseSensitive: boolean | undefined, listAllToolsFn: () => Promise<Record<string, {
|
|
81
|
-
tools:
|
|
81
|
+
tools: ToolSummary[];
|
|
82
82
|
}>>): Promise<Record<string, {
|
|
83
|
-
tools:
|
|
83
|
+
tools: ToolSummary[];
|
|
84
84
|
}>>;
|
|
85
85
|
//# sourceMappingURL=tool-search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/tool-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/tool-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,GAAG,aAAa,GAAG,MAAe,EAClD,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,GAAG,aAAa,GAAG,MAAe,EAClD,aAAa,GAAE,OAAe,EAC9B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB,CAAC,CA4BD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,YAAS,EAClD,aAAa,EAAE,OAAO,YAAQ,EAC9B,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAAC,GACtE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAAC,CAsBnD"}
|
|
@@ -47,7 +47,7 @@ export async function findServers(pattern, searchIn = 'both', caseSensitive = fa
|
|
|
47
47
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
48
48
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
49
49
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
50
|
-
* @returns {Promise<{ serverName: string; tools:
|
|
50
|
+
* @returns {Promise<{ serverName: string; tools: ToolSummary[] }>} Object containing server name and matching tools
|
|
51
51
|
* @throws {Error} If the specified server is not found or not connected
|
|
52
52
|
*
|
|
53
53
|
* @example
|
|
@@ -68,9 +68,15 @@ export async function findToolsInServer(serverName, pattern, searchIn = 'both',
|
|
|
68
68
|
const matchDescription = searchIn !== 'name' && tool.description && regex.test(tool.description);
|
|
69
69
|
return matchName || matchDescription;
|
|
70
70
|
});
|
|
71
|
+
// Convert to ToolSummary format
|
|
72
|
+
const toolSummaries = matchingTools.map((tool) => ({
|
|
73
|
+
name: tool.name,
|
|
74
|
+
description: tool.description,
|
|
75
|
+
serverName: serverName
|
|
76
|
+
}));
|
|
71
77
|
return {
|
|
72
78
|
serverName: serverName,
|
|
73
|
-
tools:
|
|
79
|
+
tools: toolSummaries
|
|
74
80
|
};
|
|
75
81
|
}
|
|
76
82
|
/**
|
|
@@ -84,8 +90,8 @@ export async function findToolsInServer(serverName, pattern, searchIn = 'both',
|
|
|
84
90
|
* @param {string} pattern - Regex pattern to search for in tool names and descriptions
|
|
85
91
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
86
92
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
87
|
-
* @param {() => Promise<Record<string, { tools:
|
|
88
|
-
* @returns {Promise<Record<string, { tools:
|
|
93
|
+
* @param {() => Promise<Record<string, { tools: ToolSummary[] }>>} listAllToolsFn - Function to list all tools
|
|
94
|
+
* @returns {Promise<Record<string, { tools: ToolSummary[] }>>} Object mapping server names to matching tools
|
|
89
95
|
*
|
|
90
96
|
* @example
|
|
91
97
|
* ```typescript
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServerConfig
|
|
1
|
+
import type { ServerConfig } from '../../config/config.schema.js';
|
|
2
2
|
/**
|
|
3
3
|
* Configuration options for server instance selection in multi-instance scenarios.
|
|
4
4
|
*
|
|
@@ -30,7 +30,7 @@ export interface RequestOptions {
|
|
|
30
30
|
export type ServerInstanceInfo = {
|
|
31
31
|
name: string;
|
|
32
32
|
config: ServerConfig;
|
|
33
|
-
instance:
|
|
33
|
+
instance: Record<string, unknown>;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Type guard return type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAG/B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Tool } from '../../shared/models/tool.model.js';
|
|
1
|
+
import type { Tool, ToolSummary } from '../../shared/models/tool.model.js';
|
|
2
2
|
import type { Resource } from '../../shared/models/resource.model.js';
|
|
3
|
-
import { LIST_SERVERS_TOOL,
|
|
4
|
-
import type { SystemToolName, ListServersParams,
|
|
3
|
+
import { LIST_SERVERS_TOOL, LIST_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, UPDATE_SERVER_DESCRIPTION_TOOL } from '../models/system-tools.constants.js';
|
|
4
|
+
import type { SystemToolName, ListServersParams, ListToolsInServerParams, GetToolParams, CallToolParams, UpdateServerDescriptionParams } from '../models/system-tools.constants.js';
|
|
5
5
|
/**
|
|
6
6
|
* Central service for managing system tools and MCP server interactions in the MCP Hub Lite gateway.
|
|
7
7
|
*
|
|
@@ -13,7 +13,7 @@ import type { SystemToolName, ListServersParams, FindServersParams, ListAllTools
|
|
|
13
13
|
* ## Core Responsibilities
|
|
14
14
|
*
|
|
15
15
|
* - **System Tool Management**: Exposes a standardized set of system tools for server discovery and management
|
|
16
|
-
* - **Tool Discovery**: Enables
|
|
16
|
+
* - **Tool Discovery**: Enables listing tools across all connected MCP servers
|
|
17
17
|
* - **Tool Execution**: Provides safe, monitored execution of tools with comprehensive event tracking
|
|
18
18
|
* - **Resource Management**: Dynamically generates and serves virtual resources representing server state
|
|
19
19
|
* - **Instance Selection**: Handles intelligent server instance selection for multi-instance scenarios
|
|
@@ -23,12 +23,9 @@ import type { SystemToolName, ListServersParams, FindServersParams, ListAllTools
|
|
|
23
23
|
*
|
|
24
24
|
* The service exposes the following system tools through the `getSystemTools()` method:
|
|
25
25
|
* - `list-servers`: Retrieve all connected server names
|
|
26
|
-
* - `
|
|
27
|
-
* - `list-all-tools-in-server`: List all tools from a specific server
|
|
28
|
-
* - `find-tools-in-server`: Search tools within a specific server
|
|
26
|
+
* - `list-tools-in-server`: List all tools from a specific server
|
|
29
27
|
* - `get-tool`: Retrieve complete schema for a specific tool
|
|
30
28
|
* - `call-tool`: Execute a tool on a specific server
|
|
31
|
-
* - `find-tools`: Search tools across all connected servers
|
|
32
29
|
*
|
|
33
30
|
* ## Architecture Integration
|
|
34
31
|
*
|
|
@@ -50,9 +47,6 @@ import type { SystemToolName, ListServersParams, FindServersParams, ListAllTools
|
|
|
50
47
|
*
|
|
51
48
|
* // Call a tool on a specific server
|
|
52
49
|
* const result = await hubTools.callTool('file-system-server', 'list-files', { directory: '/home' });
|
|
53
|
-
*
|
|
54
|
-
* // Search for tools across all servers
|
|
55
|
-
* const matchingTools = await hubTools.findTools('search');
|
|
56
50
|
* ```
|
|
57
51
|
*/
|
|
58
52
|
export declare class HubToolsService {
|
|
@@ -73,26 +67,16 @@ export declare class HubToolsService {
|
|
|
73
67
|
*/
|
|
74
68
|
getSystemTools(): import("./hub-tools/system-tool-definitions.js").SystemToolDefinition[];
|
|
75
69
|
/**
|
|
76
|
-
* Lists all connected MCP servers
|
|
70
|
+
* Lists all connected MCP servers with their descriptions.
|
|
77
71
|
*
|
|
78
72
|
* This method retrieves all configured servers from the hub manager, filters out
|
|
79
|
-
* invalid entries using the hasValidId type guard, and returns
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* @returns {Promise<string[]>} Array of connected server names
|
|
83
|
-
*/
|
|
84
|
-
listServers(): Promise<string[]>;
|
|
85
|
-
/**
|
|
86
|
-
* Finds servers matching a specified regex pattern.
|
|
87
|
-
*
|
|
88
|
-
* This method searches through all configured servers using the provided regex pattern,
|
|
89
|
-
* supporting flexible search options including case sensitivity and search scope
|
|
90
|
-
* (name, description, or both). It returns an array of matching server names.
|
|
73
|
+
* invalid entries using the hasValidId type guard, and returns a Record mapping
|
|
74
|
+
* server names to their descriptions. If a server doesn't have a description,
|
|
75
|
+
* a default description is provided.
|
|
91
76
|
*
|
|
92
|
-
* @
|
|
93
|
-
* @returns {Promise<string[]>} Array of matching server names
|
|
77
|
+
* @returns {Promise<Record<string, string>>} Record mapping server names to descriptions
|
|
94
78
|
*/
|
|
95
|
-
|
|
79
|
+
listServers(): Promise<Record<string, string>>;
|
|
96
80
|
/**
|
|
97
81
|
* Lists all tools available from a specific MCP server.
|
|
98
82
|
*
|
|
@@ -101,29 +85,13 @@ export declare class HubToolsService {
|
|
|
101
85
|
* It uses the selectBestInstance function to resolve server names to instances
|
|
102
86
|
* and leverages the MCP connection manager for tool retrieval.
|
|
103
87
|
*
|
|
104
|
-
* @param {
|
|
105
|
-
* @returns {Promise<{ serverName: string; tools:
|
|
106
|
-
* @throws {Error} If the specified server is not found or not connected
|
|
107
|
-
*/
|
|
108
|
-
listAllToolsInServer(args: ListAllToolsInServerParams): Promise<{
|
|
109
|
-
serverName: string;
|
|
110
|
-
tools: Tool[];
|
|
111
|
-
}>;
|
|
112
|
-
/**
|
|
113
|
-
* Finds tools matching a pattern within a specific MCP server.
|
|
114
|
-
*
|
|
115
|
-
* This method searches through all tools available from the specified server using
|
|
116
|
-
* the provided regex pattern, supporting flexible search options including case
|
|
117
|
-
* sensitivity and search scope (name, description, or both). It returns matching
|
|
118
|
-
* tools grouped by server name.
|
|
119
|
-
*
|
|
120
|
-
* @param {FindToolsInServerParams} args - Search parameters
|
|
121
|
-
* @returns {Promise<{ serverName: string; tools: Tool[] }>} Object containing server name and matching tools
|
|
88
|
+
* @param {ListToolsInServerParams} args - Server name and request options
|
|
89
|
+
* @returns {Promise<{ serverName: string; tools: ToolSummary[] }>} Object containing server name and tools array
|
|
122
90
|
* @throws {Error} If the specified server is not found or not connected
|
|
123
91
|
*/
|
|
124
|
-
|
|
92
|
+
listToolsInServer(args: ListToolsInServerParams): Promise<{
|
|
125
93
|
serverName: string;
|
|
126
|
-
tools:
|
|
94
|
+
tools: ToolSummary[];
|
|
127
95
|
}>;
|
|
128
96
|
/**
|
|
129
97
|
* Retrieves the complete schema for a specific tool from a specific server.
|
|
@@ -137,6 +105,22 @@ export declare class HubToolsService {
|
|
|
137
105
|
* @throws {Error} If the specified server is not found or not connected
|
|
138
106
|
*/
|
|
139
107
|
getTool(args: GetToolParams): Promise<Tool | undefined>;
|
|
108
|
+
/**
|
|
109
|
+
* Updates the description of a specific MCP server.
|
|
110
|
+
*
|
|
111
|
+
* This method validates the server exists, updates its description in the configuration,
|
|
112
|
+
* and persists the change to disk. It leverages the existing hubManager.updateServer()
|
|
113
|
+
* method which handles configuration persistence and event publishing.
|
|
114
|
+
*
|
|
115
|
+
* @param {UpdateServerDescriptionParams} args - Server name and new description
|
|
116
|
+
* @returns {Promise<{ success: boolean; serverName: string; description: string }>} Confirmation of successful update
|
|
117
|
+
* @throws {Error} If the server is not found or update fails
|
|
118
|
+
*/
|
|
119
|
+
updateServerDescription(args: UpdateServerDescriptionParams): Promise<{
|
|
120
|
+
success: boolean;
|
|
121
|
+
serverName: string;
|
|
122
|
+
description: string;
|
|
123
|
+
}>;
|
|
140
124
|
/**
|
|
141
125
|
* Calls a specific system tool directly with type-safe conditional return types.
|
|
142
126
|
*
|
|
@@ -149,15 +133,14 @@ export declare class HubToolsService {
|
|
|
149
133
|
* @returns {Promise<ConditionalReturnType>} Tool execution result with accurate type safety matching actual method return types
|
|
150
134
|
* @throws {Error} If the system tool is not found or execution fails
|
|
151
135
|
*/
|
|
152
|
-
callSystemTool<T extends SystemToolName>(toolName: T, toolArgs: T extends typeof LIST_SERVERS_TOOL ? ListServersParams : T extends typeof
|
|
136
|
+
callSystemTool<T extends SystemToolName>(toolName: T, toolArgs: T extends typeof LIST_SERVERS_TOOL ? ListServersParams : T extends typeof LIST_TOOLS_IN_SERVER_TOOL ? ListToolsInServerParams : T extends typeof GET_TOOL_TOOL ? GetToolParams : T extends typeof CALL_TOOL_TOOL ? CallToolParams : T extends typeof UPDATE_SERVER_DESCRIPTION_TOOL ? UpdateServerDescriptionParams : never): Promise<T extends typeof LIST_SERVERS_TOOL ? Record<string, string> : T extends typeof LIST_TOOLS_IN_SERVER_TOOL ? {
|
|
153
137
|
serverName: string;
|
|
154
|
-
tools:
|
|
155
|
-
} : T extends typeof
|
|
138
|
+
tools: ToolSummary[];
|
|
139
|
+
} : T extends typeof GET_TOOL_TOOL ? Tool | undefined : T extends typeof CALL_TOOL_TOOL ? unknown : T extends typeof UPDATE_SERVER_DESCRIPTION_TOOL ? {
|
|
140
|
+
success: boolean;
|
|
156
141
|
serverName: string;
|
|
157
|
-
|
|
158
|
-
} :
|
|
159
|
-
tools: Tool[];
|
|
160
|
-
}> : never>;
|
|
142
|
+
description: string;
|
|
143
|
+
} : never>;
|
|
161
144
|
/**
|
|
162
145
|
* Calls a specific tool from a specific MCP server with comprehensive event tracking.
|
|
163
146
|
*
|
|
@@ -178,24 +161,10 @@ export declare class HubToolsService {
|
|
|
178
161
|
* the system tools provided by the MCP Hub Lite server itself. It returns a structured
|
|
179
162
|
* object mapping server names to their respective tool arrays.
|
|
180
163
|
*
|
|
181
|
-
* @returns {Promise<Record<string, { tools:
|
|
164
|
+
* @returns {Promise<Record<string, { tools: ToolSummary[] }>>} Object mapping server names to tool arrays
|
|
182
165
|
*/
|
|
183
166
|
listAllTools(): Promise<Record<string, {
|
|
184
|
-
tools:
|
|
185
|
-
}>>;
|
|
186
|
-
/**
|
|
187
|
-
* Finds tools matching a pattern across all connected MCP servers.
|
|
188
|
-
*
|
|
189
|
-
* This method searches through all available tools from all connected servers using the
|
|
190
|
-
* provided regex pattern, supporting flexible search options including case sensitivity
|
|
191
|
-
* and search scope (name, description, or both). It returns matching tools grouped by
|
|
192
|
-
* their originating server names.
|
|
193
|
-
*
|
|
194
|
-
* @param {FindToolsParams} args - Search parameters
|
|
195
|
-
* @returns {Promise<Record<string, { tools: Tool[] }>>} Object mapping server names to matching tools
|
|
196
|
-
*/
|
|
197
|
-
findTools(args: FindToolsParams): Promise<Record<string, {
|
|
198
|
-
tools: Tool[];
|
|
167
|
+
tools: ToolSummary[];
|
|
199
168
|
}>>;
|
|
200
169
|
/**
|
|
201
170
|
* Lists all dynamically generated Hub resources based on connected MCP servers.
|
|
@@ -218,18 +187,20 @@ export declare class HubToolsService {
|
|
|
218
187
|
* - Resources list: hub://servers/{serverName}/resources
|
|
219
188
|
*
|
|
220
189
|
* @param {string} uri - Resource URI to read (e.g., hub://servers/server-name)
|
|
221
|
-
* @returns {Promise<ServerMetadata | Tool[] | Resource[]>} Resource content based on URI type
|
|
190
|
+
* @returns {Promise<ServerMetadata | Tool[] | Resource[] | string>} Resource content based on URI type
|
|
222
191
|
* @throws {Error} If URI format is invalid, server not found, or resource type unknown
|
|
223
192
|
*/
|
|
224
193
|
readResource(uri: string): Promise<{
|
|
225
194
|
name: string;
|
|
226
195
|
status: unknown;
|
|
227
196
|
toolsCount: number;
|
|
197
|
+
tools: Record<string, string>;
|
|
228
198
|
resourcesCount: number;
|
|
229
199
|
tags: Record<string, string>;
|
|
230
200
|
lastHeartbeat: number;
|
|
231
201
|
uptime: number;
|
|
232
|
-
|
|
202
|
+
description: string;
|
|
203
|
+
} | Tool[] | Resource[] | string>;
|
|
233
204
|
}
|
|
234
205
|
export declare const hubToolsService: HubToolsService;
|
|
235
206
|
//# sourceMappingURL=hub-tools.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub-tools.service.d.ts","sourceRoot":"","sources":["../../../../src/services/hub-tools.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"hub-tools.service.d.ts","sourceRoot":"","sources":["../../../../src/services/hub-tools.service.ts"],"names":[],"mappings":"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"}
|