@codingame/monaco-vscode-mcp-service-override 20.4.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/index.js +4 -1
  2. package/package.json +15 -15
  3. package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +5 -6
  4. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.d.ts +15 -0
  5. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.js +52 -0
  6. package/vscode/src/vs/platform/mcp/common/mcpGalleryService.d.ts +16 -9
  7. package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +238 -106
  8. package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +12 -14
  9. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +166 -188
  10. package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +22 -5
  11. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.d.ts +5 -0
  13. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +94 -59
  14. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpDiscovery.js +14 -9
  15. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +19 -24
  16. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +32 -31
  17. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +5 -5
  18. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +7 -7
  19. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +3 -3
  20. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +49 -39
  21. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +2 -1
  22. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +72 -48
  23. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -4
  26. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +4 -14
  27. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +62 -111
  28. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.d.ts +4 -3
  29. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +38 -30
  30. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +18 -9
  31. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +196 -83
  32. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +5 -4
  34. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.d.ts +1 -0
  35. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +1 -0
  36. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/mcpDiscovery.d.ts +1 -0
  37. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.d.ts +7 -6
  38. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +11 -10
  39. package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
  40. package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +36 -27
  41. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +28 -17
  43. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +16 -16
  45. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +45 -1
  46. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +14 -11
  47. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +10 -3
  48. package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +8 -5
  49. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.d.ts +2 -0
  50. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.js +12 -1
  51. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +13 -13
  52. package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.d.ts +7 -0
  53. package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js +27 -0
package/index.js CHANGED
@@ -22,6 +22,8 @@ import { McpElicitationService } from './vscode/src/vs/workbench/contrib/mcp/bro
22
22
  import { IWorkbenchMcpManagementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service';
23
23
  import { WorkbenchMcpManagementService } from './vscode/src/vs/workbench/services/mcp/browser/mcpWorkbenchManagementService.js';
24
24
  import { AllowedMcpServersService } from './vscode/src/vs/platform/mcp/common/allowedMcpServersService.js';
25
+ import { IMcpGalleryManifestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service';
26
+ import { WebMcpGalleryManifestService } from './vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js';
25
27
 
26
28
  function getServiceOverride() {
27
29
  return {
@@ -36,7 +38,8 @@ function getServiceOverride() {
36
38
  [IMcpSamplingService.toString()]: new SyncDescriptor(McpSamplingService, [], true),
37
39
  [IMcpElicitationService.toString()]: new SyncDescriptor(McpElicitationService, [], true),
38
40
  [IWorkbenchMcpManagementService.toString()]: new SyncDescriptor(WorkbenchMcpManagementService, [], true),
39
- [IAllowedMcpServersService.toString()]: new SyncDescriptor(AllowedMcpServersService, [], true)
41
+ [IAllowedMcpServersService.toString()]: new SyncDescriptor(AllowedMcpServersService, [], true),
42
+ [IMcpGalleryManifestService.toString()]: new SyncDescriptor(WebMcpGalleryManifestService, [], true)
40
43
  };
41
44
  }
42
45
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-mcp-service-override",
3
- "version": "20.4.1",
3
+ "version": "21.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - mcp service-override",
6
6
  "keywords": [],
@@ -15,20 +15,20 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "20.4.1",
19
- "@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "20.4.1",
20
- "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "20.4.1",
21
- "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.4.1",
22
- "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common": "20.4.1",
23
- "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "20.4.1",
24
- "@codingame/monaco-vscode-api": "20.4.1",
25
- "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "20.4.1",
26
- "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "20.4.1",
27
- "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "20.4.1",
28
- "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "20.4.1",
29
- "@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "20.4.1",
30
- "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "20.4.1",
31
- "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "20.4.1"
18
+ "@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "21.0.0",
19
+ "@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "21.0.0",
20
+ "@codingame/monaco-vscode-4fad3647-b95d-5c19-bab1-bb9de627a5ec-common": "21.0.0",
21
+ "@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common": "21.0.0",
22
+ "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common": "21.0.0",
23
+ "@codingame/monaco-vscode-9a5ab9e7-d838-5831-9eb4-e79ea3764dcb-common": "21.0.0",
24
+ "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "21.0.0",
25
+ "@codingame/monaco-vscode-api": "21.0.0",
26
+ "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "21.0.0",
27
+ "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "21.0.0",
28
+ "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "21.0.0",
29
+ "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "21.0.0",
30
+ "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "21.0.0",
31
+ "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "21.0.0"
32
32
  },
33
33
  "main": "index.js",
34
34
  "module": "index.js",
@@ -6,7 +6,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
6
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
7
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
8
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
9
- import { mcpEnabledConfig } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement';
9
+ import { mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement';
10
10
 
11
11
  let AllowedMcpServersService = class AllowedMcpServersService extends Disposable {
12
12
  constructor(configurationService) {
@@ -15,21 +15,20 @@ let AllowedMcpServersService = class AllowedMcpServersService extends Disposable
15
15
  this._onDidChangeAllowedMcpServers = this._register(( new Emitter()));
16
16
  this.onDidChangeAllowedMcpServers = this._onDidChangeAllowedMcpServers.event;
17
17
  this._register(this.configurationService.onDidChangeConfiguration(e => {
18
- if (e.affectsConfiguration(mcpEnabledConfig)) {
18
+ if (e.affectsConfiguration(mcpAccessConfig)) {
19
19
  this._onDidChangeAllowedMcpServers.fire();
20
20
  }
21
21
  }));
22
22
  }
23
23
  isAllowed(mcpServer) {
24
- const isEnabled = this.configurationService.getValue(mcpEnabledConfig) === true;
25
- if (isEnabled) {
24
+ if (this.configurationService.getValue(mcpAccessConfig) !== McpAccessValue.None) {
26
25
  return true;
27
26
  }
28
27
  const settingsCommandLink = ( ( URI.parse(
29
- `command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${mcpEnabledConfig}` }))}`
28
+ `command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${mcpAccessConfig}` }))}`
30
29
  )).toString());
31
30
  return (new MarkdownString(localize(
32
- 1966,
31
+ 1970,
33
32
  "Model Context Protocol servers are disabled in the Editor. Please check your [settings]({0}).",
34
33
  settingsCommandLink
35
34
  )));
@@ -0,0 +1,15 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
4
+ import { IMcpGalleryManifest, McpGalleryManifestStatus } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest";
5
+ import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
6
+ export declare class McpGalleryManifestService extends Disposable implements IMcpGalleryManifestService {
7
+ protected readonly productService: IProductService;
8
+ readonly _serviceBrand: undefined;
9
+ readonly onDidChangeMcpGalleryManifest: Event<any>;
10
+ readonly onDidChangeMcpGalleryManifestStatus: Event<any>;
11
+ get mcpGalleryManifestStatus(): McpGalleryManifestStatus;
12
+ constructor(productService: IProductService);
13
+ getMcpGalleryManifest(): Promise<IMcpGalleryManifest | null>;
14
+ protected createMcpGalleryManifest(url: string): IMcpGalleryManifest;
15
+ }
@@ -0,0 +1,52 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
6
+ import { McpGalleryManifestStatus, McpGalleryResourceType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest';
7
+
8
+ let McpGalleryManifestService = class McpGalleryManifestService extends Disposable {
9
+ get mcpGalleryManifestStatus() {
10
+ return !!this.productService.mcpGallery?.serviceUrl ? McpGalleryManifestStatus.Available : McpGalleryManifestStatus.Unavailable;
11
+ }
12
+ constructor(productService) {
13
+ super();
14
+ this.productService = productService;
15
+ this.onDidChangeMcpGalleryManifest = Event.None;
16
+ this.onDidChangeMcpGalleryManifestStatus = Event.None;
17
+ }
18
+ async getMcpGalleryManifest() {
19
+ if (!this.productService.mcpGallery) {
20
+ return null;
21
+ }
22
+ return this.createMcpGalleryManifest(this.productService.mcpGallery.serviceUrl);
23
+ }
24
+ createMcpGalleryManifest(url) {
25
+ url = url.endsWith('/') ? url.slice(0, -1) : url;
26
+ const isVSCodeGalleryUrl = this.productService.extensionsGallery?.mcpUrl === url;
27
+ const version = isVSCodeGalleryUrl ? undefined : 'v0';
28
+ const serversUrl = isVSCodeGalleryUrl ? url : `${url}/${version}/servers`;
29
+ const resources = [
30
+ {
31
+ id: serversUrl,
32
+ type: McpGalleryResourceType.McpQueryService
33
+ }
34
+ ];
35
+ if (!isVSCodeGalleryUrl) {
36
+ resources.push({
37
+ id: `${serversUrl}/{id}`,
38
+ type: McpGalleryResourceType.McpServerManifestUri
39
+ });
40
+ }
41
+ return {
42
+ version,
43
+ url,
44
+ resources
45
+ };
46
+ }
47
+ };
48
+ McpGalleryManifestService = ( __decorate([
49
+ ( __param(0, IProductService))
50
+ ], McpGalleryManifestService));
51
+
52
+ export { McpGalleryManifestService };
@@ -1,27 +1,34 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
4
3
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
5
4
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
5
  import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
7
6
  import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
8
- import { IGalleryMcpServer, IMcpServerManifest, IQueryOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
7
+ import { IGalleryMcpServer, IGalleryMcpServerConfiguration, IQueryOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
9
8
  import { IMcpGalleryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement.service";
9
+ import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
10
+ import { IPager } from "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common/vscode/vs/base/common/paging";
10
11
  export declare class McpGalleryService extends Disposable implements IMcpGalleryService {
11
- private readonly configurationService;
12
12
  private readonly requestService;
13
13
  private readonly fileService;
14
14
  private readonly productService;
15
15
  private readonly logService;
16
+ private readonly mcpGalleryManifestService;
16
17
  _serviceBrand: undefined;
17
- constructor(configurationService: IConfigurationService, requestService: IRequestService, fileService: IFileService, productService: IProductService, logService: ILogService);
18
+ constructor(requestService: IRequestService, fileService: IFileService, productService: IProductService, logService: ILogService, mcpGalleryManifestService: IMcpGalleryManifestService);
18
19
  isEnabled(): boolean;
19
- query(options?: IQueryOptions, token?: CancellationToken): Promise<IGalleryMcpServer[]>;
20
- getMcpServers(names: string[]): Promise<IGalleryMcpServer[]>;
21
- getManifest(gallery: IGalleryMcpServer, token: CancellationToken): Promise<IMcpServerManifest>;
20
+ query(options?: IQueryOptions, token?: CancellationToken): Promise<IPager<IGalleryMcpServer>>;
21
+ getMcpServersFromGallery(urls: string[]): Promise<IGalleryMcpServer[]>;
22
+ getMcpServersFromVSCodeGallery(names: string[]): Promise<IGalleryMcpServer[]>;
23
+ getMcpServerConfiguration(gallery: IGalleryMcpServer, token: CancellationToken): Promise<IGalleryMcpServerConfiguration>;
22
24
  getReadme(gallery: IGalleryMcpServer, token: CancellationToken): Promise<string>;
23
25
  private toGalleryMcpServer;
24
- private fetchGallery;
25
- private getManifestUrl;
26
+ private toGalleryMcpServerConfiguration;
27
+ private queryGalleryMcpServers;
28
+ private queryRawGalleryMcpServers;
29
+ getMcpServer(mcpServerUrl: string): Promise<IGalleryMcpServer | undefined>;
30
+ private toIRawGalleryMcpServer;
31
+ private fetchMcpServersFromVSCodeGallery;
32
+ private getServerUrl;
26
33
  private getMcpGalleryUrl;
27
34
  }