@theia/ai-mcp-server 1.67.0-next.13 → 1.67.0-next.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +37 -9
  2. package/package.json +4 -4
  3. package/lib/browser/index.d.ts +0 -3
  4. package/lib/browser/index.d.ts.map +0 -1
  5. package/lib/browser/index.js +0 -21
  6. package/lib/browser/index.js.map +0 -1
  7. package/lib/browser/mcp-frontend-bootstrap.d.ts +0 -17
  8. package/lib/browser/mcp-frontend-bootstrap.d.ts.map +0 -1
  9. package/lib/browser/mcp-frontend-bootstrap.js +0 -47
  10. package/lib/browser/mcp-frontend-bootstrap.js.map +0 -1
  11. package/lib/browser/mcp-frontend-contribution.d.ts +0 -44
  12. package/lib/browser/mcp-frontend-contribution.d.ts.map +0 -1
  13. package/lib/browser/mcp-frontend-contribution.js +0 -21
  14. package/lib/browser/mcp-frontend-contribution.js.map +0 -1
  15. package/lib/browser/mcp-frontend-module.d.ts +0 -4
  16. package/lib/browser/mcp-frontend-module.d.ts.map +0 -1
  17. package/lib/browser/mcp-frontend-module.js +0 -37
  18. package/lib/browser/mcp-frontend-module.js.map +0 -1
  19. package/lib/browser/mcp-tool-delegate-client.d.ts +0 -27
  20. package/lib/browser/mcp-tool-delegate-client.d.ts.map +0 -1
  21. package/lib/browser/mcp-tool-delegate-client.js +0 -128
  22. package/lib/browser/mcp-tool-delegate-client.js.map +0 -1
  23. package/lib/common/index.d.ts +0 -2
  24. package/lib/common/index.d.ts.map +0 -1
  25. package/lib/common/index.js +0 -20
  26. package/lib/common/index.js.map +0 -1
  27. package/lib/common/mcp-tool-delegate.d.ts +0 -25
  28. package/lib/common/mcp-tool-delegate.d.ts.map +0 -1
  29. package/lib/common/mcp-tool-delegate.js +0 -22
  30. package/lib/common/mcp-tool-delegate.js.map +0 -1
  31. package/lib/node/index.d.ts +0 -5
  32. package/lib/node/index.d.ts.map +0 -1
  33. package/lib/node/index.js +0 -23
  34. package/lib/node/index.js.map +0 -1
  35. package/lib/node/mcp-backend-contribution-manager.d.ts +0 -16
  36. package/lib/node/mcp-backend-contribution-manager.d.ts.map +0 -1
  37. package/lib/node/mcp-backend-contribution-manager.js +0 -61
  38. package/lib/node/mcp-backend-contribution-manager.js.map +0 -1
  39. package/lib/node/mcp-backend-module.d.ts +0 -4
  40. package/lib/node/mcp-backend-module.d.ts.map +0 -1
  41. package/lib/node/mcp-backend-module.js +0 -56
  42. package/lib/node/mcp-backend-module.js.map +0 -1
  43. package/lib/node/mcp-frontend-contribution-manager.d.ts +0 -55
  44. package/lib/node/mcp-frontend-contribution-manager.d.ts.map +0 -1
  45. package/lib/node/mcp-frontend-contribution-manager.js +0 -242
  46. package/lib/node/mcp-frontend-contribution-manager.js.map +0 -1
  47. package/lib/node/mcp-theia-server-impl.d.ts +0 -32
  48. package/lib/node/mcp-theia-server-impl.d.ts.map +0 -1
  49. package/lib/node/mcp-theia-server-impl.js +0 -220
  50. package/lib/node/mcp-theia-server-impl.js.map +0 -1
  51. package/lib/node/mcp-theia-server.d.ts +0 -43
  52. package/lib/node/mcp-theia-server.d.ts.map +0 -1
  53. package/lib/node/mcp-theia-server.js +0 -22
  54. package/lib/node/mcp-theia-server.js.map +0 -1
  55. package/lib/node/mcp-tool-frontend-delegate.d.ts +0 -13
  56. package/lib/node/mcp-tool-frontend-delegate.d.ts.map +0 -1
  57. package/lib/node/mcp-tool-frontend-delegate.js +0 -66
  58. package/lib/node/mcp-tool-frontend-delegate.js.map +0 -1
  59. package/lib/package.spec.d.ts +0 -1
  60. package/lib/package.spec.d.ts.map +0 -1
  61. package/lib/package.spec.js +0 -26
  62. package/lib/package.spec.js.map +0 -1
package/lib/node/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const tslib_1 = require("tslib");
19
- tslib_1.__exportStar(require("./mcp-theia-server"), exports);
20
- tslib_1.__exportStar(require("./mcp-theia-server-impl"), exports);
21
- tslib_1.__exportStar(require("./mcp-backend-contribution-manager"), exports);
22
- tslib_1.__exportStar(require("./mcp-frontend-contribution-manager"), exports);
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,6DAAmC;AACnC,kEAAwC;AACxC,6EAAmD;AACnD,8EAAoD"}
@@ -1,16 +0,0 @@
1
- import { ILogger } from '@theia/core/lib/common/logger';
2
- import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
3
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
- import { MCPBackendContribution } from './mcp-theia-server';
5
- /**
6
- * Manages the registration of backend MCP contributions
7
- */
8
- export declare class MCPBackendContributionManager {
9
- protected readonly logger: ILogger;
10
- protected readonly contributions: ContributionProvider<MCPBackendContribution>;
11
- /**
12
- * Register all backend contributions with the MCP server
13
- */
14
- registerBackendContributions(server: McpServer): Promise<void>;
15
- }
16
- //# sourceMappingURL=mcp-backend-contribution-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-backend-contribution-manager.d.ts","sourceRoot":"","sources":["../../src/node/mcp-backend-contribution-manager.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,qBACa,6BAA6B;IAGtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAE/E;;OAEG;IACG,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBvE"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MCPBackendContributionManager = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const logger_1 = require("@theia/core/lib/common/logger");
22
- const contribution_provider_1 = require("@theia/core/lib/common/contribution-provider");
23
- const mcp_theia_server_1 = require("./mcp-theia-server");
24
- /**
25
- * Manages the registration of backend MCP contributions
26
- */
27
- let MCPBackendContributionManager = class MCPBackendContributionManager {
28
- /**
29
- * Register all backend contributions with the MCP server
30
- */
31
- async registerBackendContributions(server) {
32
- const contributions = this.contributions.getContributions();
33
- this.logger.debug(`Found ${contributions.length} backend MCP contributions to register`);
34
- for (const contribution of contributions) {
35
- try {
36
- this.logger.debug(`Configuring backend MCP contribution: ${contribution.constructor.name}`);
37
- await contribution.configure(server);
38
- this.logger.debug(`Successfully registered backend MCP contribution: ${contribution.constructor.name}`);
39
- }
40
- catch (error) {
41
- this.logger.error(`Failed to register backend MCP contribution ${contribution.constructor.name}:`, error);
42
- throw error;
43
- }
44
- }
45
- this.logger.debug(`Finished registering all ${contributions.length} backend MCP contributions`);
46
- }
47
- };
48
- exports.MCPBackendContributionManager = MCPBackendContributionManager;
49
- tslib_1.__decorate([
50
- (0, inversify_1.inject)(logger_1.ILogger),
51
- tslib_1.__metadata("design:type", Object)
52
- ], MCPBackendContributionManager.prototype, "logger", void 0);
53
- tslib_1.__decorate([
54
- (0, inversify_1.inject)(contribution_provider_1.ContributionProvider),
55
- (0, inversify_1.named)(mcp_theia_server_1.MCPBackendContribution),
56
- tslib_1.__metadata("design:type", Object)
57
- ], MCPBackendContributionManager.prototype, "contributions", void 0);
58
- exports.MCPBackendContributionManager = MCPBackendContributionManager = tslib_1.__decorate([
59
- (0, inversify_1.injectable)()
60
- ], MCPBackendContributionManager);
61
- //# sourceMappingURL=mcp-backend-contribution-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-backend-contribution-manager.js","sourceRoot":"","sources":["../../src/node/mcp-backend-contribution-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AACzE,0DAAwD;AACxD,wFAAoF;AAEpF,yDAA4D;AAE5D;;GAEG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAStC;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,MAAiB;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,MAAM,wCAAwC,CAAC,CAAC;QAEzF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1G,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,aAAa,CAAC,MAAM,4BAA4B,CAAC,CAAC;IACpG,CAAC;CACJ,CAAA;AA7BY,sEAA6B;AAGnB;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;;6DACmB;AAIhB;IAFlB,IAAA,kBAAM,EAAC,4CAAoB,CAAC;IAC5B,IAAA,iBAAK,EAAC,yCAAsB,CAAC;;oEACiD;wCAPtE,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CA6BzC"}
@@ -1,4 +0,0 @@
1
- import { ContainerModule } from '@theia/core/shared/inversify';
2
- declare const _default: ContainerModule;
3
- export default _default;
4
- //# sourceMappingURL=mcp-backend-module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/mcp-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA6C/D,wBAaG"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const inversify_1 = require("@theia/core/shared/inversify");
19
- const backend_application_1 = require("@theia/core/lib/node/backend-application");
20
- const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
21
- const core_1 = require("@theia/core");
22
- const mcp_theia_server_1 = require("./mcp-theia-server");
23
- const mcp_tool_delegate_1 = require("../common/mcp-tool-delegate");
24
- const mcp_theia_server_impl_1 = require("./mcp-theia-server-impl");
25
- const mcp_backend_contribution_manager_1 = require("./mcp-backend-contribution-manager");
26
- const mcp_frontend_contribution_manager_1 = require("./mcp-frontend-contribution-manager");
27
- const mcp_tool_frontend_delegate_1 = require("./mcp-tool-frontend-delegate");
28
- const mcpConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind }) => {
29
- bind(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl).toSelf().inSingletonScope();
30
- bind(mcp_tool_delegate_1.MCPToolFrontendDelegate).toService(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl);
31
- bind(core_1.ConnectionHandler)
32
- .toDynamicValue(({ container }) => new core_1.RpcConnectionHandler(mcp_tool_delegate_1.mcpToolDelegatePath, client => {
33
- const service = container.get(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl);
34
- const contributionManager = container.get(mcp_frontend_contribution_manager_1.MCPFrontendContributionManager);
35
- service.setClient(client);
36
- // Generate unique delegate ID and register with contribution manager
37
- const delegateId = (0, core_1.generateUuid)();
38
- contributionManager.addFrontendDelegate(delegateId, service);
39
- // Setup cleanup when connection closes
40
- client.onDidCloseConnection(() => {
41
- contributionManager.removeFrontendDelegate(delegateId);
42
- });
43
- return service;
44
- }))
45
- .inSingletonScope();
46
- });
47
- exports.default = new inversify_1.ContainerModule(bind => {
48
- bind(mcp_theia_server_impl_1.MCPTheiaServerImpl).toSelf().inSingletonScope();
49
- bind(mcp_theia_server_1.MCPTheiaServer).toService(mcp_theia_server_impl_1.MCPTheiaServerImpl);
50
- bind(backend_application_1.BackendApplicationContribution).toService(mcp_theia_server_impl_1.MCPTheiaServerImpl);
51
- bind(mcp_backend_contribution_manager_1.MCPBackendContributionManager).toSelf().inSingletonScope();
52
- bind(mcp_frontend_contribution_manager_1.MCPFrontendContributionManager).toSelf().inSingletonScope();
53
- (0, core_1.bindContributionProvider)(bind, mcp_theia_server_1.MCPBackendContribution);
54
- bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(mcpConnectionModule);
55
- });
56
- //# sourceMappingURL=mcp-backend-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-backend-module.js","sourceRoot":"","sources":["../../src/node/mcp-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,kFAA0F;AAC1F,4GAAuG;AACvG,sCAA8G;AAC9G,yDAG4B;AAC5B,mEAAkH;AAClH,mEAA6D;AAC7D,yFAAmF;AACnF,2FAAqF;AACrF,6EAA2E;AAE3E,MAAM,mBAAmB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtE,IAAI,CAAC,wDAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,2CAAuB,CAAC,CAAC,SAAS,CAAC,wDAA2B,CAAC,CAAC;IAErE,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACd,IAAI,2BAAoB,CACpB,uCAAmB,EACnB,MAAM,CAAC,EAAE;QACL,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAA8B,wDAA2B,CAAC,CAAC;QACxF,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAiC,kEAA8B,CAAC,CAAC;QAE1G,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,qEAAqE;QACrE,MAAM,UAAU,GAAG,IAAA,mBAAY,GAAE,CAAC;QAClC,mBAAmB,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7D,uCAAuC;QACvC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE;YAC7B,mBAAmB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IAEtC,IAAI,CAAC,0CAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,iCAAc,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,oDAA8B,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IAEnE,IAAI,CAAC,gEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEhE,IAAI,CAAC,kEAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEjE,IAAA,+BAAwB,EAAC,IAAI,EAAE,yCAAsB,CAAC,CAAC;IAEvD,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"}
@@ -1,55 +0,0 @@
1
- import { ILogger } from '@theia/core/lib/common/logger';
2
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { MCPToolFrontendDelegate } from '../common/mcp-tool-delegate';
4
- /**
5
- * Manages the registration and delegation of frontend MCP contributions
6
- */
7
- export declare class MCPFrontendContributionManager {
8
- protected readonly logger: ILogger;
9
- private frontendDelegates;
10
- private mcpServer?;
11
- private serverId?;
12
- private registeredElements;
13
- /**
14
- * Set the MCP server instance and setup frontend delegate notifications
15
- */
16
- setMCPServer(server: McpServer, serverId: string): Promise<void>;
17
- /**
18
- * Add a frontend delegate (called when a frontend connection is established)
19
- */
20
- addFrontendDelegate(delegateId: string, delegate: MCPToolFrontendDelegate): void;
21
- /**
22
- * Remove a frontend delegate (called when a frontend connection is closed)
23
- */
24
- removeFrontendDelegate(delegateId: string): void;
25
- /**
26
- * Unregister frontend contributions from a specific delegate
27
- */
28
- private unregisterFrontendContributionsFromDelegate;
29
- /**
30
- * Register frontend contributions from existing delegates
31
- */
32
- private registerExistingFrontendContributions;
33
- /**
34
- * Register frontend contributions from a specific delegate
35
- */
36
- private registerFrontendContributionsFromDelegate;
37
- /**
38
- * Unregister frontend contributions for a server
39
- * @param serverId Unique identifier for the server instance
40
- */
41
- unregisterFrontendContributions(serverId: string): Promise<void>;
42
- /**
43
- * Register tools from frontend contributions
44
- */
45
- protected registerFrontendToolsFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
46
- /**
47
- * Register resources from frontend contributions
48
- */
49
- protected registerFrontendResourcesFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
50
- /**
51
- * Register prompts from frontend contributions
52
- */
53
- protected registerFrontendPromptsFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
54
- }
55
- //# sourceMappingURL=mcp-frontend-contribution-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-frontend-contribution-manager.d.ts","sourceRoot":"","sources":["../../src/node/mcp-frontend-contribution-manager.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAwD,MAAM,yCAAyC,CAAC;AAE1H,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;GAEG;AACH,qBACa,8BAA8B;IAGvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,OAAO,CAAC,kBAAkB,CAAsF;IAEhH;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAUhF;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,OAAO,CAAC,2CAA2C;IAwBnD;;OAEG;YACW,qCAAqC;IAUnD;;OAEG;YACW,yCAAyC;IAuBvD;;;OAGG;IACG,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE;;OAEG;cACa,iCAAiC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CvH;;OAEG;cACa,qCAAqC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3H;;OAEG;cACa,mCAAmC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkC5H"}
@@ -1,242 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MCPFrontendContributionManager = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const logger_1 = require("@theia/core/lib/common/logger");
22
- /**
23
- * Manages the registration and delegation of frontend MCP contributions
24
- */
25
- let MCPFrontendContributionManager = class MCPFrontendContributionManager {
26
- constructor() {
27
- // Frontend delegates are set dynamically when connections are established
28
- this.frontendDelegates = new Map();
29
- this.registeredElements = new Map();
30
- }
31
- /**
32
- * Set the MCP server instance and setup frontend delegate notifications
33
- */
34
- async setMCPServer(server, serverId) {
35
- this.mcpServer = server;
36
- this.serverId = serverId;
37
- this.registerExistingFrontendContributions();
38
- }
39
- /**
40
- * Add a frontend delegate (called when a frontend connection is established)
41
- */
42
- addFrontendDelegate(delegateId, delegate) {
43
- this.frontendDelegates.set(delegateId, delegate);
44
- if (this.mcpServer && this.serverId) {
45
- this.registerFrontendContributionsFromDelegate(delegateId, delegate).catch(error => {
46
- this.logger.warn(`Failed to register frontend contributions from delegate ${delegateId}:`, error);
47
- });
48
- }
49
- }
50
- /**
51
- * Remove a frontend delegate (called when a frontend connection is closed)
52
- */
53
- removeFrontendDelegate(delegateId) {
54
- this.frontendDelegates.delete(delegateId);
55
- this.unregisterFrontendContributionsFromDelegate(delegateId);
56
- }
57
- /**
58
- * Unregister frontend contributions from a specific delegate
59
- */
60
- unregisterFrontendContributionsFromDelegate(delegateId) {
61
- if (!this.mcpServer) {
62
- this.logger.warn('MCP server not set, cannot unregister frontend contributions');
63
- return;
64
- }
65
- const elements = this.registeredElements.get(delegateId);
66
- if (elements) {
67
- for (const element of elements) {
68
- try {
69
- element.remove();
70
- }
71
- catch (error) {
72
- this.logger.warn(`Failed to unregister element from delegate ${delegateId}: ${error}`);
73
- }
74
- }
75
- this.registeredElements.delete(delegateId);
76
- // Notify that lists have changed
77
- this.mcpServer.sendToolListChanged();
78
- this.mcpServer.sendResourceListChanged();
79
- this.mcpServer.sendPromptListChanged();
80
- }
81
- }
82
- /**
83
- * Register frontend contributions from existing delegates
84
- */
85
- async registerExistingFrontendContributions() {
86
- for (const [delegateId, delegate] of this.frontendDelegates) {
87
- try {
88
- await this.registerFrontendContributionsFromDelegate(delegateId, delegate);
89
- }
90
- catch (error) {
91
- this.logger.warn(`Failed to register frontend contributions from delegate ${delegateId}:`, error);
92
- }
93
- }
94
- }
95
- /**
96
- * Register frontend contributions from a specific delegate
97
- */
98
- async registerFrontendContributionsFromDelegate(delegateId, delegate) {
99
- if (!this.mcpServer || !this.serverId) {
100
- this.logger.warn('MCP server not set, cannot register frontend contributions');
101
- return;
102
- }
103
- try {
104
- await this.registerFrontendToolsFromDelegate(delegate, delegateId);
105
- this.mcpServer.sendToolListChanged();
106
- // Register resources from frontend
107
- await this.registerFrontendResourcesFromDelegate(delegate, delegateId);
108
- this.mcpServer.sendResourceListChanged();
109
- // Register prompts from frontend
110
- await this.registerFrontendPromptsFromDelegate(delegate, delegateId);
111
- this.mcpServer.sendPromptListChanged();
112
- }
113
- catch (error) {
114
- this.logger.warn(`Failed to register frontend MCP contributions from delegate ${delegateId}: ${error}`);
115
- // Don't re-throw to prevent server startup failure
116
- }
117
- }
118
- /**
119
- * Unregister frontend contributions for a server
120
- * @param serverId Unique identifier for the server instance
121
- */
122
- async unregisterFrontendContributions(serverId) {
123
- for (const [delegateId] of this.frontendDelegates) {
124
- try {
125
- this.unregisterFrontendContributionsFromDelegate(delegateId);
126
- // Backend delegates don't need lifecycle notifications
127
- }
128
- catch (error) {
129
- this.logger.warn(`Error unregistering server from frontend delegate ${delegateId}:`, error);
130
- }
131
- }
132
- }
133
- /**
134
- * Register tools from frontend contributions
135
- */
136
- async registerFrontendToolsFromDelegate(delegate, delegateId) {
137
- var _a, _b;
138
- if (!this.mcpServer || !this.serverId) {
139
- throw new Error('MCP server not set');
140
- }
141
- try {
142
- const tools = await delegate.listTools(this.serverId);
143
- for (const tool of tools) {
144
- const registeredTool = this.mcpServer.tool(`${tool.name}_${delegateId}`, (_a = tool.description) !== null && _a !== void 0 ? _a : '', tool.inputSchema, async (args) => {
145
- try {
146
- const result = await delegate.callTool(this.serverId, tool.name, args);
147
- return {
148
- content: [{
149
- type: 'text',
150
- text: typeof result === 'string' ? result : JSON.stringify(result)
151
- }]
152
- };
153
- }
154
- catch (error) {
155
- this.logger.error(`Error calling frontend tool ${tool.name}:`, error);
156
- throw error;
157
- }
158
- });
159
- const registeredElements = (_b = this.registeredElements.get(delegateId)) !== null && _b !== void 0 ? _b : [];
160
- registeredElements.push(registeredTool);
161
- this.registeredElements.set(delegateId, registeredElements);
162
- }
163
- }
164
- catch (error) {
165
- this.logger.warn(`Failed to register frontend tools from delegate ${delegateId}: ${error}`);
166
- throw error;
167
- }
168
- }
169
- /**
170
- * Register resources from frontend contributions
171
- */
172
- async registerFrontendResourcesFromDelegate(delegate, delegateId) {
173
- var _a;
174
- if (!this.mcpServer || !this.serverId) {
175
- throw new Error('MCP server not set');
176
- }
177
- try {
178
- const resources = await delegate.listResources(this.serverId);
179
- for (const resource of resources) {
180
- const registeredResource = this.mcpServer.resource(`${resource.name}_${delegateId}`, resource.uri, async (uri) => {
181
- try {
182
- const result = await delegate.readResource(this.serverId, uri.href);
183
- return result;
184
- }
185
- catch (error) {
186
- this.logger.error(`Error reading frontend resource ${resource.name}:`, error);
187
- throw error;
188
- }
189
- });
190
- const registeredElements = (_a = this.registeredElements.get(delegateId)) !== null && _a !== void 0 ? _a : [];
191
- registeredElements.push(registeredResource);
192
- this.registeredElements.set(delegateId, registeredElements);
193
- }
194
- }
195
- catch (error) {
196
- this.logger.warn(`Failed to register frontend resources from delegate ${delegateId}: ${error}`);
197
- throw error;
198
- }
199
- }
200
- /**
201
- * Register prompts from frontend contributions
202
- */
203
- async registerFrontendPromptsFromDelegate(delegate, delegateId) {
204
- var _a, _b, _c;
205
- if (!this.mcpServer || !this.serverId) {
206
- throw new Error('MCP server not set');
207
- }
208
- try {
209
- const prompts = await delegate.listPrompts(this.serverId);
210
- for (const prompt of prompts) {
211
- const registeredPrompt = this.mcpServer.prompt(`${prompt.name}_${delegateId}`, (_a = prompt.description) !== null && _a !== void 0 ? _a : '', (_b = prompt.arguments) !== null && _b !== void 0 ? _b : {}, async (args) => {
212
- try {
213
- const messages = await delegate.getPrompt(this.serverId, prompt.name, args);
214
- return {
215
- messages
216
- };
217
- }
218
- catch (error) {
219
- this.logger.error(`Error getting frontend prompt ${prompt.name}:`, error);
220
- throw error;
221
- }
222
- });
223
- const registeredElements = (_c = this.registeredElements.get(delegateId)) !== null && _c !== void 0 ? _c : [];
224
- registeredElements.push(registeredPrompt);
225
- this.registeredElements.set(delegateId, registeredElements);
226
- }
227
- }
228
- catch (error) {
229
- this.logger.warn(`Failed to register frontend prompts from delegate ${delegateId}: ${error}`);
230
- throw error;
231
- }
232
- }
233
- };
234
- exports.MCPFrontendContributionManager = MCPFrontendContributionManager;
235
- tslib_1.__decorate([
236
- (0, inversify_1.inject)(logger_1.ILogger),
237
- tslib_1.__metadata("design:type", Object)
238
- ], MCPFrontendContributionManager.prototype, "logger", void 0);
239
- exports.MCPFrontendContributionManager = MCPFrontendContributionManager = tslib_1.__decorate([
240
- (0, inversify_1.injectable)()
241
- ], MCPFrontendContributionManager);
242
- //# sourceMappingURL=mcp-frontend-contribution-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-frontend-contribution-manager.js","sourceRoot":"","sources":["../../src/node/mcp-frontend-contribution-manager.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /// <reference types="express" />
2
- import { ILogger } from '@theia/core/lib/common/logger';
3
- import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application';
4
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
6
- import * as express from '@theia/core/shared/express';
7
- import { MCPTheiaServer } from './mcp-theia-server';
8
- import { MCPBackendContributionManager } from './mcp-backend-contribution-manager';
9
- import { MCPFrontendContributionManager } from './mcp-frontend-contribution-manager';
10
- export declare class MCPTheiaServerImpl implements MCPTheiaServer, BackendApplicationContribution {
11
- protected readonly logger: ILogger;
12
- protected readonly backendContributionManager: MCPBackendContributionManager;
13
- protected readonly frontendContributionManager: MCPFrontendContributionManager;
14
- protected server?: McpServer;
15
- protected httpTransports: Map<string, StreamableHTTPServerTransport>;
16
- protected httpApp?: express.Application;
17
- protected running: boolean;
18
- protected serverId: string;
19
- configure?(app: express.Application): Promise<void>;
20
- start(): Promise<void>;
21
- stop(): Promise<void>;
22
- getServer(): McpServer | undefined;
23
- isRunning(): boolean;
24
- getServerId(): string | undefined;
25
- protected setupHttpTransport(): Promise<void>;
26
- protected setupHttpEndpoints(app: express.Application): void;
27
- protected handleStreamableHttpRequest(req: express.Request, res: express.Response): Promise<void>;
28
- protected registerContributions(): Promise<void>;
29
- protected registerFrontendContributions(): Promise<void>;
30
- onStop(): void;
31
- }
32
- //# sourceMappingURL=mcp-theia-server-impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-theia-server-impl.d.ts","sourceRoot":"","sources":["../../src/node/mcp-theia-server-impl.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,qBACa,kBAAmB,YAAW,cAAc,EAAE,8BAA8B;IAGrF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;IAG7E,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;IAE/E,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAa;IACjF,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IACxC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkB;IAEtC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,SAAS,IAAI,SAAS,GAAG,SAAS;IAIlC,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,MAAM,GAAG,SAAS;cAIjB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnD,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cAM5C,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAoDvF,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;cAStC,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9D,MAAM,IAAI,IAAI;CA0BjB"}