@codingame/monaco-vscode-mcp-service-override 30.0.0 → 31.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.
- package/package.json +2 -2
- package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +77 -77
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +25 -25
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpGatewayService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpGatewayService.js +10 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +21 -21
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +22 -22
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +12 -12
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +2 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/pluginMcpDiscovery.js +2 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayToolBrokerChannel.js +9 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +13 -13
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +11 -11
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSandboxService.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +3 -3
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +9 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-mcp-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "31.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - mcp service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "31.0.0"
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"module": "index.js",
|
|
@@ -27,7 +27,7 @@ let AllowedMcpServersService = class AllowedMcpServersService extends Disposable
|
|
|
27
27
|
query: `@id:${mcpAccessConfig}`
|
|
28
28
|
}).toString());
|
|
29
29
|
return (new MarkdownString(localize(
|
|
30
|
-
|
|
30
|
+
2042,
|
|
31
31
|
"Model Context Protocol servers are disabled in the Editor. Please check your [settings]({0}).",
|
|
32
32
|
settingsCommandLink
|
|
33
33
|
)));
|
|
@@ -456,7 +456,7 @@ let McpGalleryService = class McpGalleryService extends Disposable {
|
|
|
456
456
|
async getReadme(gallery, token) {
|
|
457
457
|
const readmeUrl = gallery.readmeUrl;
|
|
458
458
|
if (!readmeUrl) {
|
|
459
|
-
return Promise.resolve(( localize(
|
|
459
|
+
return Promise.resolve(( localize(2043, "No README available")));
|
|
460
460
|
}
|
|
461
461
|
const uri = ( URI.parse(readmeUrl));
|
|
462
462
|
if (uri.scheme === Schemas.file) {
|
|
@@ -468,7 +468,7 @@ let McpGalleryService = class McpGalleryService extends Disposable {
|
|
|
468
468
|
}
|
|
469
469
|
}
|
|
470
470
|
if (uri.authority !== "raw.githubusercontent.com") {
|
|
471
|
-
return ( new MarkdownString(( localize(
|
|
471
|
+
return ( new MarkdownString(( localize(2044, "You can find information about this server [here]({0})", readmeUrl)))).value;
|
|
472
472
|
}
|
|
473
473
|
const context = await this.requestService.request({
|
|
474
474
|
type: "GET",
|
|
@@ -115,16 +115,16 @@ registerWorkbenchContribution2(
|
|
|
115
115
|
const jsonRegistry = ( Registry.as(Extensions.JSONContribution));
|
|
116
116
|
jsonRegistry.registerSchema(mcpSchemaId, mcpServerSchema);
|
|
117
117
|
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
|
|
118
|
-
EditorPaneDescriptor.create(McpServerEditor, McpServerEditor.ID, ( localize(
|
|
118
|
+
EditorPaneDescriptor.create(McpServerEditor, McpServerEditor.ID, ( localize(10524, "MCP Server"))),
|
|
119
119
|
[( new SyncDescriptor(McpServerEditorInput))]
|
|
120
120
|
);
|
|
121
121
|
( Registry.as(Extensions$1.Quickaccess)).registerQuickAccessProvider({
|
|
122
122
|
ctor: McpResourceQuickAccess,
|
|
123
123
|
prefix: McpResourceQuickAccess.PREFIX,
|
|
124
124
|
when: ChatContextKeys.enabled,
|
|
125
|
-
placeholder: ( localize(
|
|
125
|
+
placeholder: ( localize(10525, "Filter to an MCP resource")),
|
|
126
126
|
helpEntries: [{
|
|
127
|
-
description: ( localize(
|
|
127
|
+
description: ( localize(10526, "MCP Server Resources")),
|
|
128
128
|
commandId: McpCommandIds.AddConfiguration
|
|
129
129
|
}]
|
|
130
130
|
});
|
|
@@ -43,7 +43,7 @@ let McpAddContextContribution = class McpAddContextContribution extends Disposab
|
|
|
43
43
|
_registerAddContextMenu() {
|
|
44
44
|
this._addContextMenu.value = this._chatContextPickService.registerChatContextItem({
|
|
45
45
|
type: "pickerPick",
|
|
46
|
-
label: ( localize(
|
|
46
|
+
label: ( localize(10527, "MCP Resources...")),
|
|
47
47
|
icon: Codicon.mcp,
|
|
48
48
|
isEnabled(widget) {
|
|
49
49
|
return !!widget.attachmentCapabilities.supportsMCPAttachments;
|
|
@@ -51,7 +51,7 @@ let McpAddContextContribution = class McpAddContextContribution extends Disposab
|
|
|
51
51
|
asPicker: () => {
|
|
52
52
|
const helper = this._instantiationService.createInstance(McpResourcePickHelper);
|
|
53
53
|
return {
|
|
54
|
-
placeholder: ( localize(
|
|
54
|
+
placeholder: ( localize(10528, "Select MCP Resource...")),
|
|
55
55
|
picks: (_query, token) => this._getResourcePicks(token, helper),
|
|
56
56
|
goBack: () => {
|
|
57
57
|
return helper.navigateBack();
|
|
@@ -79,13 +79,13 @@ class ListMcpServerCommand extends Action2 {
|
|
|
79
79
|
constructor() {
|
|
80
80
|
super({
|
|
81
81
|
id: McpCommandIds.ListServer,
|
|
82
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(10529, "List Servers")),
|
|
83
83
|
icon: Codicon.server,
|
|
84
84
|
category,
|
|
85
85
|
f1: true,
|
|
86
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate()),
|
|
86
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
87
87
|
menu: [{
|
|
88
|
-
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(( ContextKeyExpr.and(( ContextKeyExpr.equals(`config.${mcpAutoStartConfig}`, McpAutoStartValue.Never)), McpContextKeys.hasUnknownTools)), McpContextKeys.hasServersWithErrors)), ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ChatContextKeys.lockedToCodingAgent.negate()), ( ChatContextKeys.Setup.hidden.negate()))),
|
|
88
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(( ContextKeyExpr.and(( ContextKeyExpr.equals(`config.${mcpAutoStartConfig}`, McpAutoStartValue.Never)), McpContextKeys.hasUnknownTools)), McpContextKeys.hasServersWithErrors)), ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ChatContextKeys.lockedToCodingAgent.negate()), ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))))),
|
|
89
89
|
id: MenuId.ChatInput,
|
|
90
90
|
group: "navigation",
|
|
91
91
|
order: 101
|
|
@@ -101,7 +101,7 @@ class ListMcpServerCommand extends Action2 {
|
|
|
101
101
|
const pick = quickInput.createQuickPick({
|
|
102
102
|
useSeparators: true
|
|
103
103
|
});
|
|
104
|
-
pick.placeholder = ( localize(
|
|
104
|
+
pick.placeholder = ( localize(10530, "Select an MCP Server"));
|
|
105
105
|
mcpService.activateCollections();
|
|
106
106
|
store.add(pick);
|
|
107
107
|
store.add(autorun(reader => {
|
|
@@ -111,8 +111,8 @@ class ListMcpServerCommand extends Action2 {
|
|
|
111
111
|
const firstRun = pick.items.length === 0;
|
|
112
112
|
pick.items = [{
|
|
113
113
|
id: "$add",
|
|
114
|
-
label: ( localize(
|
|
115
|
-
description: ( localize(
|
|
114
|
+
label: ( localize(10531, "Add Server")),
|
|
115
|
+
description: ( localize(10532, "Add a new server configuration")),
|
|
116
116
|
alwaysShow: true,
|
|
117
117
|
iconClass: ThemeIcon.asClassName(Codicon.add)
|
|
118
118
|
}, ...( Object.values(servers)).filter(s => s.length).flatMap(servers => [{
|
|
@@ -124,7 +124,7 @@ class ListMcpServerCommand extends Action2 {
|
|
|
124
124
|
return {
|
|
125
125
|
id: server.definition.id,
|
|
126
126
|
label: server.definition.label,
|
|
127
|
-
description: disabled ? ( localize(
|
|
127
|
+
description: disabled ? ( localize(10533, "Disabled")) : ( McpConnectionState.toString(server.connectionState.read(reader)))
|
|
128
128
|
};
|
|
129
129
|
}))])];
|
|
130
130
|
if (firstRun && pick.items.length > 3) {
|
|
@@ -161,7 +161,7 @@ class McpConfirmationServerOptionsCommand extends Action2 {
|
|
|
161
161
|
constructor() {
|
|
162
162
|
super({
|
|
163
163
|
id: McpCommandIds.ServerOptionsInConfirmation,
|
|
164
|
-
title: ( localize2(
|
|
164
|
+
title: ( localize2(10534, "Server Options")),
|
|
165
165
|
category,
|
|
166
166
|
icon: Codicon.settingsGear,
|
|
167
167
|
f1: false,
|
|
@@ -192,7 +192,7 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
192
192
|
constructor() {
|
|
193
193
|
super({
|
|
194
194
|
id: McpCommandIds.ServerOptions,
|
|
195
|
-
title: ( localize2(
|
|
195
|
+
title: ( localize2(10534, "Server Options")),
|
|
196
196
|
category,
|
|
197
197
|
f1: false
|
|
198
198
|
});
|
|
@@ -216,20 +216,20 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
216
216
|
const serverState = server.connectionState.get();
|
|
217
217
|
items.push({
|
|
218
218
|
type: "separator",
|
|
219
|
-
label: ( localize(
|
|
219
|
+
label: ( localize(10535, "Status"))
|
|
220
220
|
});
|
|
221
221
|
if (McpConnectionState.canBeStarted(serverState.state)) {
|
|
222
222
|
items.push({
|
|
223
|
-
label: ( localize(
|
|
223
|
+
label: ( localize(10536, "Start Server")),
|
|
224
224
|
action: "start"
|
|
225
225
|
});
|
|
226
226
|
} else {
|
|
227
227
|
items.push({
|
|
228
|
-
label: ( localize(
|
|
228
|
+
label: ( localize(10537, "Stop Server")),
|
|
229
229
|
action: "stop"
|
|
230
230
|
});
|
|
231
231
|
items.push({
|
|
232
|
-
label: ( localize(
|
|
232
|
+
label: ( localize(10538, "Restart Server")),
|
|
233
233
|
action: "restart"
|
|
234
234
|
});
|
|
235
235
|
}
|
|
@@ -237,26 +237,26 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
237
237
|
const configTarget = serverDefinition?.presentation?.origin || collection?.presentation?.origin;
|
|
238
238
|
if (configTarget) {
|
|
239
239
|
items.push({
|
|
240
|
-
label: ( localize(
|
|
240
|
+
label: ( localize(10539, "Show Configuration")),
|
|
241
241
|
action: "config"
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
244
|
items.push({
|
|
245
|
-
label: ( localize(
|
|
245
|
+
label: ( localize(10540, "Show Output")),
|
|
246
246
|
action: "showOutput"
|
|
247
247
|
});
|
|
248
248
|
items.push({
|
|
249
249
|
type: "separator",
|
|
250
|
-
label: ( localize(
|
|
250
|
+
label: ( localize(10541, "Sampling"))
|
|
251
251
|
}, {
|
|
252
|
-
label: ( localize(
|
|
253
|
-
description: ( localize(
|
|
252
|
+
label: ( localize(10542, "Configure Model Access")),
|
|
253
|
+
description: ( localize(10543, "Set the models the server can use via MCP sampling")),
|
|
254
254
|
action: "configSampling"
|
|
255
255
|
});
|
|
256
256
|
if (samplingService.hasLogs(server)) {
|
|
257
257
|
items.push({
|
|
258
|
-
label: ( localize(
|
|
259
|
-
description: ( localize(
|
|
258
|
+
label: ( localize(10544, "Show Sampling Requests")),
|
|
259
|
+
description: ( localize(10545, "Show the sampling requests for this server")),
|
|
260
260
|
action: "samplingLog"
|
|
261
261
|
});
|
|
262
262
|
}
|
|
@@ -264,15 +264,15 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
264
264
|
if (capabilities === undefined || (capabilities & McpCapability.Resources)) {
|
|
265
265
|
items.push({
|
|
266
266
|
type: "separator",
|
|
267
|
-
label: ( localize(
|
|
267
|
+
label: ( localize(10546, "Resources"))
|
|
268
268
|
});
|
|
269
269
|
items.push({
|
|
270
|
-
label: ( localize(
|
|
270
|
+
label: ( localize(10547, "Browse Resources")),
|
|
271
271
|
action: "resources"
|
|
272
272
|
});
|
|
273
273
|
}
|
|
274
274
|
const pick = await quickInputService.pick(items, {
|
|
275
|
-
placeHolder: ( localize(
|
|
275
|
+
placeHolder: ( localize(10548, "Select action for '{0}'", server.definition.label))
|
|
276
276
|
});
|
|
277
277
|
if (!pick) {
|
|
278
278
|
return;
|
|
@@ -320,7 +320,7 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
320
320
|
editorService.openEditor({
|
|
321
321
|
resource: undefined,
|
|
322
322
|
contents: samplingService.getLogText(server),
|
|
323
|
-
label: ( localize(
|
|
323
|
+
label: ( localize(10549, "MCP Sampling: {0}", server.definition.label))
|
|
324
324
|
});
|
|
325
325
|
break;
|
|
326
326
|
default:
|
|
@@ -337,14 +337,14 @@ class McpServerOptionsCommand extends Action2 {
|
|
|
337
337
|
if (accountQuery.entities().getEntityCount().total > 1) {
|
|
338
338
|
result.push({
|
|
339
339
|
action: "disconnect",
|
|
340
|
-
label: ( localize(
|
|
340
|
+
label: ( localize(10550, "Disconnect Account")),
|
|
341
341
|
description: `(${accountName})`,
|
|
342
342
|
accountQuery
|
|
343
343
|
});
|
|
344
344
|
} else {
|
|
345
345
|
result.push({
|
|
346
346
|
action: "signout",
|
|
347
|
-
label: ( localize(
|
|
347
|
+
label: ( localize(10551, "Sign Out")),
|
|
348
348
|
description: `(${accountName})`,
|
|
349
349
|
accountQuery
|
|
350
350
|
});
|
|
@@ -513,24 +513,24 @@ let MCPServerActionRendering = class MCPServerActionRendering extends Disposable
|
|
|
513
513
|
text: s.definition.label,
|
|
514
514
|
id: McpCommandIds.ServerOptions,
|
|
515
515
|
arguments: [s.definition.id],
|
|
516
|
-
tooltip: ( localize(
|
|
516
|
+
tooltip: ( localize(10552, "Show server options for {0}", s.definition.label))
|
|
517
517
|
});
|
|
518
518
|
const single = servers.length === 1;
|
|
519
519
|
const names = ( ( servers.map(s => isServer(s) ? link(s) : "`" + s.label + "`")).map(l => single ? l : `- ${l}`)).join("\n");
|
|
520
520
|
let markdown;
|
|
521
521
|
if (state === DisplayedState.NewTools) {
|
|
522
522
|
markdown = ( new MarkdownString(single ? ( localize(
|
|
523
|
-
|
|
523
|
+
10553,
|
|
524
524
|
"MCP server {0} has been updated and may have new tools available.",
|
|
525
525
|
names
|
|
526
526
|
)) : ( localize(
|
|
527
|
-
|
|
527
|
+
10554,
|
|
528
528
|
"MCP servers have been updated and may have new tools available:\n\n{0}",
|
|
529
529
|
names
|
|
530
530
|
))));
|
|
531
531
|
} else if (state === DisplayedState.Error) {
|
|
532
|
-
markdown = ( new MarkdownString(single ? ( localize(
|
|
533
|
-
|
|
532
|
+
markdown = ( new MarkdownString(single ? ( localize(10555, "MCP server {0} was unable to start successfully.", names)) : ( localize(
|
|
533
|
+
10556,
|
|
534
534
|
"Multiple MCP servers were unable to start successfully:\n\n{0}",
|
|
535
535
|
names
|
|
536
536
|
))));
|
|
@@ -557,7 +557,7 @@ let MCPServerActionRendering = class MCPServerActionRendering extends Disposable
|
|
|
557
557
|
const divider = $("hr.mcp-hover-divider");
|
|
558
558
|
container.appendChild(divider);
|
|
559
559
|
const checkboxContainer = $("div.mcp-hover-setting");
|
|
560
|
-
const settingLabelStr = ( localize(
|
|
560
|
+
const settingLabelStr = ( localize(10557, "Automatically start MCP servers when sending a chat message"));
|
|
561
561
|
const checkbox = store.add(( new Checkbox(settingLabelStr, config.get() !== McpAutoStartValue.Never, {
|
|
562
562
|
...defaultCheckboxStyles
|
|
563
563
|
})));
|
|
@@ -585,11 +585,11 @@ let MCPServerActionRendering = class MCPServerActionRendering extends Disposable
|
|
|
585
585
|
} = displayedStateCurrent.get()
|
|
586
586
|
) {
|
|
587
587
|
if (state === DisplayedState.NewTools) {
|
|
588
|
-
return localize(
|
|
588
|
+
return localize(10558, "New tools available ({0})", servers.length || 1);
|
|
589
589
|
} else if (state === DisplayedState.Error) {
|
|
590
|
-
return localize(
|
|
590
|
+
return localize(10559, "Error loading {0} tool(s)", servers.length || 1);
|
|
591
591
|
} else if (state === DisplayedState.Refreshing) {
|
|
592
|
-
return localize(
|
|
592
|
+
return localize(10560, "Discovering tools...");
|
|
593
593
|
} else {
|
|
594
594
|
return null;
|
|
595
595
|
}
|
|
@@ -607,10 +607,10 @@ class ResetMcpTrustCommand extends Action2 {
|
|
|
607
607
|
constructor() {
|
|
608
608
|
super({
|
|
609
609
|
id: McpCommandIds.ResetTrust,
|
|
610
|
-
title: ( localize2(
|
|
610
|
+
title: ( localize2(10561, "Reset Trust")),
|
|
611
611
|
category,
|
|
612
612
|
f1: true,
|
|
613
|
-
precondition: ( ContextKeyExpr.and(McpContextKeys.toolsCount.greater(0), ( ChatContextKeys.Setup.hidden.negate())))
|
|
613
|
+
precondition: ( ContextKeyExpr.and(McpContextKeys.toolsCount.greater(0), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
614
614
|
});
|
|
615
615
|
}
|
|
616
616
|
run(accessor) {
|
|
@@ -622,10 +622,10 @@ class ResetMcpCachedTools extends Action2 {
|
|
|
622
622
|
constructor() {
|
|
623
623
|
super({
|
|
624
624
|
id: McpCommandIds.ResetCachedTools,
|
|
625
|
-
title: ( localize2(
|
|
625
|
+
title: ( localize2(10562, "Reset Cached Tools")),
|
|
626
626
|
category,
|
|
627
627
|
f1: true,
|
|
628
|
-
precondition: ( ContextKeyExpr.and(McpContextKeys.toolsCount.greater(0), ( ChatContextKeys.Setup.hidden.negate())))
|
|
628
|
+
precondition: ( ContextKeyExpr.and(McpContextKeys.toolsCount.greater(0), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
629
629
|
});
|
|
630
630
|
}
|
|
631
631
|
run(accessor) {
|
|
@@ -637,16 +637,16 @@ class AddConfigurationAction extends Action2 {
|
|
|
637
637
|
constructor() {
|
|
638
638
|
super({
|
|
639
639
|
id: McpCommandIds.AddConfiguration,
|
|
640
|
-
title: ( localize2(
|
|
640
|
+
title: ( localize2(10563, "Add Server...")),
|
|
641
641
|
metadata: {
|
|
642
|
-
description: ( localize2(
|
|
642
|
+
description: ( localize2(10564, "Installs a new Model Context protocol to the mcp.json settings"))
|
|
643
643
|
},
|
|
644
644
|
category,
|
|
645
645
|
f1: true,
|
|
646
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate()),
|
|
646
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
647
647
|
menu: {
|
|
648
648
|
id: MenuId.EditorContent,
|
|
649
|
-
when: ( ContextKeyExpr.and(( ContextKeyExpr.regex(ResourceContextKey.Path.key, /\.vscode[/\\]mcp\.json$/)), ( ActiveEditorContext.isEqualTo(TEXT_FILE_EDITOR_ID)), ( ChatContextKeys.Setup.hidden.negate())))
|
|
649
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.regex(ResourceContextKey.Path.key, /\.vscode[/\\]mcp\.json$/)), ( ActiveEditorContext.isEqualTo(TEXT_FILE_EDITOR_ID)), ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))))
|
|
650
650
|
}
|
|
651
651
|
});
|
|
652
652
|
}
|
|
@@ -661,13 +661,13 @@ class InstallFromManifestAction extends Action2 {
|
|
|
661
661
|
constructor() {
|
|
662
662
|
super({
|
|
663
663
|
id: McpCommandIds.InstallFromManifest,
|
|
664
|
-
title: ( localize2(
|
|
664
|
+
title: ( localize2(10565, "Install Server from Manifest...")),
|
|
665
665
|
metadata: {
|
|
666
|
-
description: ( localize2(
|
|
666
|
+
description: ( localize2(10566, "Install an MCP server from a JSON manifest file"))
|
|
667
667
|
},
|
|
668
668
|
category,
|
|
669
669
|
f1: true,
|
|
670
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate())
|
|
670
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
671
671
|
});
|
|
672
672
|
}
|
|
673
673
|
async run(accessor) {
|
|
@@ -679,7 +679,7 @@ class RemoveStoredInput extends Action2 {
|
|
|
679
679
|
constructor() {
|
|
680
680
|
super({
|
|
681
681
|
id: McpCommandIds.RemoveStoredInput,
|
|
682
|
-
title: ( localize2(
|
|
682
|
+
title: ( localize2(10562, "Reset Cached Tools")),
|
|
683
683
|
category,
|
|
684
684
|
f1: false
|
|
685
685
|
});
|
|
@@ -692,7 +692,7 @@ class EditStoredInput extends Action2 {
|
|
|
692
692
|
constructor() {
|
|
693
693
|
super({
|
|
694
694
|
id: McpCommandIds.EditStoredInput,
|
|
695
|
-
title: ( localize2(
|
|
695
|
+
title: ( localize2(10567, "Edit Stored Input")),
|
|
696
696
|
category,
|
|
697
697
|
f1: false
|
|
698
698
|
});
|
|
@@ -706,7 +706,7 @@ class ShowConfiguration extends Action2 {
|
|
|
706
706
|
constructor() {
|
|
707
707
|
super({
|
|
708
708
|
id: McpCommandIds.ShowConfiguration,
|
|
709
|
-
title: ( localize2(
|
|
709
|
+
title: ( localize2(10568, "Show Configuration")),
|
|
710
710
|
category,
|
|
711
711
|
f1: false
|
|
712
712
|
});
|
|
@@ -736,7 +736,7 @@ class ShowOutput extends Action2 {
|
|
|
736
736
|
constructor() {
|
|
737
737
|
super({
|
|
738
738
|
id: McpCommandIds.ShowOutput,
|
|
739
|
-
title: ( localize2(
|
|
739
|
+
title: ( localize2(10569, "Show Output")),
|
|
740
740
|
category,
|
|
741
741
|
f1: false
|
|
742
742
|
});
|
|
@@ -749,7 +749,7 @@ class RestartServer extends Action2 {
|
|
|
749
749
|
constructor() {
|
|
750
750
|
super({
|
|
751
751
|
id: McpCommandIds.RestartServer,
|
|
752
|
-
title: ( localize2(
|
|
752
|
+
title: ( localize2(10570, "Restart Server")),
|
|
753
753
|
category,
|
|
754
754
|
f1: false
|
|
755
755
|
});
|
|
@@ -768,7 +768,7 @@ class StartServer extends Action2 {
|
|
|
768
768
|
constructor() {
|
|
769
769
|
super({
|
|
770
770
|
id: McpCommandIds.StartServer,
|
|
771
|
-
title: ( localize2(
|
|
771
|
+
title: ( localize2(10571, "Start Server")),
|
|
772
772
|
category,
|
|
773
773
|
f1: false
|
|
774
774
|
});
|
|
@@ -793,7 +793,7 @@ class StopServer extends Action2 {
|
|
|
793
793
|
constructor() {
|
|
794
794
|
super({
|
|
795
795
|
id: McpCommandIds.StopServer,
|
|
796
|
-
title: ( localize2(
|
|
796
|
+
title: ( localize2(10572, "Stop Server")),
|
|
797
797
|
category,
|
|
798
798
|
f1: false
|
|
799
799
|
});
|
|
@@ -807,19 +807,19 @@ class McpBrowseCommand extends Action2 {
|
|
|
807
807
|
constructor() {
|
|
808
808
|
super({
|
|
809
809
|
id: McpCommandIds.Browse,
|
|
810
|
-
title: ( localize2(
|
|
811
|
-
tooltip: ( localize2(
|
|
810
|
+
title: ( localize2(10573, "MCP Servers")),
|
|
811
|
+
tooltip: ( localize2(10574, "Browse MCP Servers")),
|
|
812
812
|
category,
|
|
813
813
|
icon: Codicon.search,
|
|
814
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate()),
|
|
814
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
815
815
|
menu: [{
|
|
816
816
|
id: extensionsFilterSubMenu,
|
|
817
817
|
group: "1_predefined",
|
|
818
818
|
order: 1,
|
|
819
|
-
when: ( ChatContextKeys.Setup.hidden.negate())
|
|
819
|
+
when: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
820
820
|
}, {
|
|
821
821
|
id: MenuId.ViewTitle,
|
|
822
|
-
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("view", InstalledMcpServersViewId)), ( ChatContextKeys.Setup.hidden.negate()))),
|
|
822
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("view", InstalledMcpServersViewId)), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
823
823
|
group: "navigation"
|
|
824
824
|
}]
|
|
825
825
|
});
|
|
@@ -831,18 +831,18 @@ class McpBrowseCommand extends Action2 {
|
|
|
831
831
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
832
832
|
command: {
|
|
833
833
|
id: McpCommandIds.Browse,
|
|
834
|
-
title: ( localize2(
|
|
834
|
+
title: ( localize2(10575, "Browse MCP Servers")),
|
|
835
835
|
category,
|
|
836
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate())
|
|
836
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
837
837
|
}
|
|
838
838
|
});
|
|
839
839
|
class ShowInstalledMcpServersCommand extends Action2 {
|
|
840
840
|
constructor() {
|
|
841
841
|
super({
|
|
842
842
|
id: McpCommandIds.ShowInstalled,
|
|
843
|
-
title: ( localize2(
|
|
843
|
+
title: ( localize2(10576, "Show Installed Servers")),
|
|
844
844
|
category,
|
|
845
|
-
precondition: ( ContextKeyExpr.and(HasInstalledMcpServersContext, ( ChatContextKeys.Setup.hidden.negate()))),
|
|
845
|
+
precondition: ( ContextKeyExpr.and(HasInstalledMcpServersContext, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
846
846
|
f1: true
|
|
847
847
|
});
|
|
848
848
|
}
|
|
@@ -858,7 +858,7 @@ class ShowInstalledMcpServersCommand extends Action2 {
|
|
|
858
858
|
MenuRegistry.appendMenuItem(CHAT_CONFIG_MENU_ID, {
|
|
859
859
|
command: {
|
|
860
860
|
id: McpCommandIds.ShowInstalled,
|
|
861
|
-
title: ( localize2(
|
|
861
|
+
title: ( localize2(10577, "MCP Servers"))
|
|
862
862
|
},
|
|
863
863
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals("view", ChatViewId)))),
|
|
864
864
|
order: 10,
|
|
@@ -883,10 +883,10 @@ class OpenUserMcpResourceCommand extends OpenMcpResourceCommand {
|
|
|
883
883
|
constructor() {
|
|
884
884
|
super({
|
|
885
885
|
id: McpCommandIds.OpenUserMcp,
|
|
886
|
-
title: ( localize2(
|
|
886
|
+
title: ( localize2(10578, "Open User Configuration")),
|
|
887
887
|
category,
|
|
888
888
|
f1: true,
|
|
889
|
-
precondition: ( ChatContextKeys.Setup.hidden.negate())
|
|
889
|
+
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate())))
|
|
890
890
|
});
|
|
891
891
|
}
|
|
892
892
|
getURI(accessor) {
|
|
@@ -898,10 +898,10 @@ class OpenRemoteUserMcpResourceCommand extends OpenMcpResourceCommand {
|
|
|
898
898
|
constructor() {
|
|
899
899
|
super({
|
|
900
900
|
id: McpCommandIds.OpenRemoteUserMcp,
|
|
901
|
-
title: ( localize2(
|
|
901
|
+
title: ( localize2(10579, "Open Remote User Configuration")),
|
|
902
902
|
category,
|
|
903
903
|
f1: true,
|
|
904
|
-
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( RemoteNameContext.notEqualsTo(""))))
|
|
904
|
+
precondition: ( ContextKeyExpr.and(( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))), ( RemoteNameContext.notEqualsTo(""))))
|
|
905
905
|
});
|
|
906
906
|
}
|
|
907
907
|
async getURI(accessor) {
|
|
@@ -915,10 +915,10 @@ class OpenWorkspaceFolderMcpResourceCommand extends Action2 {
|
|
|
915
915
|
constructor() {
|
|
916
916
|
super({
|
|
917
917
|
id: McpCommandIds.OpenWorkspaceFolderMcp,
|
|
918
|
-
title: ( localize2(
|
|
918
|
+
title: ( localize2(10580, "Open Workspace Folder MCP Configuration")),
|
|
919
919
|
category,
|
|
920
920
|
f1: true,
|
|
921
|
-
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( WorkspaceFolderCountContext.notEqualsTo(0))))
|
|
921
|
+
precondition: ( ContextKeyExpr.and(( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))), ( WorkspaceFolderCountContext.notEqualsTo(0))))
|
|
922
922
|
});
|
|
923
923
|
}
|
|
924
924
|
async run(accessor) {
|
|
@@ -938,10 +938,10 @@ class OpenWorkspaceMcpResourceCommand extends Action2 {
|
|
|
938
938
|
constructor() {
|
|
939
939
|
super({
|
|
940
940
|
id: McpCommandIds.OpenWorkspaceMcp,
|
|
941
|
-
title: ( localize2(
|
|
941
|
+
title: ( localize2(10581, "Open Workspace MCP Configuration")),
|
|
942
942
|
category,
|
|
943
943
|
f1: true,
|
|
944
|
-
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( WorkbenchStateContext.isEqualTo("workspace"))))
|
|
944
|
+
precondition: ( ContextKeyExpr.and(( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))), ( WorkbenchStateContext.isEqualTo("workspace"))))
|
|
945
945
|
});
|
|
946
946
|
}
|
|
947
947
|
async run(accessor) {
|
|
@@ -959,9 +959,9 @@ class McpBrowseResourcesCommand extends Action2 {
|
|
|
959
959
|
constructor() {
|
|
960
960
|
super({
|
|
961
961
|
id: McpCommandIds.BrowseResources,
|
|
962
|
-
title: ( localize2(
|
|
962
|
+
title: ( localize2(10582, "Browse Resources...")),
|
|
963
963
|
category,
|
|
964
|
-
precondition: ( ContextKeyExpr.and(McpContextKeys.serverCount.greater(0), ( ChatContextKeys.Setup.hidden.negate()))),
|
|
964
|
+
precondition: ( ContextKeyExpr.and(McpContextKeys.serverCount.greater(0), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
965
965
|
f1: true
|
|
966
966
|
});
|
|
967
967
|
}
|
|
@@ -977,7 +977,7 @@ class McpConfigureSamplingModels extends Action2 {
|
|
|
977
977
|
constructor() {
|
|
978
978
|
super({
|
|
979
979
|
id: McpCommandIds.ConfigureSamplingModels,
|
|
980
|
-
title: ( localize2(
|
|
980
|
+
title: ( localize2(10583, "Configure SamplingModel")),
|
|
981
981
|
category
|
|
982
982
|
});
|
|
983
983
|
}
|
|
@@ -1003,7 +1003,7 @@ class McpConfigureSamplingModels extends Action2 {
|
|
|
1003
1003
|
);
|
|
1004
1004
|
const picked = await quickInputService.pick(allItems, {
|
|
1005
1005
|
placeHolder: ( localize(
|
|
1006
|
-
|
|
1006
|
+
10584,
|
|
1007
1007
|
"Pick the models {0} can access via MCP sampling",
|
|
1008
1008
|
server.definition.label
|
|
1009
1009
|
)),
|
|
@@ -1019,7 +1019,7 @@ class McpStartPromptingServerCommand extends Action2 {
|
|
|
1019
1019
|
constructor() {
|
|
1020
1020
|
super({
|
|
1021
1021
|
id: McpCommandIds.StartPromptForServer,
|
|
1022
|
-
title: ( localize2(
|
|
1022
|
+
title: ( localize2(10585, "Start Prompting Server")),
|
|
1023
1023
|
category,
|
|
1024
1024
|
f1: false
|
|
1025
1025
|
});
|
|
@@ -1049,7 +1049,7 @@ class McpSkipCurrentAutostartCommand extends Action2 {
|
|
|
1049
1049
|
constructor() {
|
|
1050
1050
|
super({
|
|
1051
1051
|
id: McpCommandIds.SkipCurrentAutostart,
|
|
1052
|
-
title: ( localize2(
|
|
1052
|
+
title: ( localize2(10586, "Skip Current Autostart")),
|
|
1053
1053
|
category,
|
|
1054
1054
|
f1: false
|
|
1055
1055
|
});
|