Skip to content

Commit 3087dba

Browse files
authored
mcp: be more explicit about where servers run in the add flow (microsoft#249996)
Refs https://github.com/microsoft/vscode/issues/246293\#issuecomment-2916595814
1 parent 9c5e7fa commit 3087dba

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { assertNever } from '../../../../base/common/assert.js';
88
import { disposableTimeout } from '../../../../base/common/async.js';
99
import { parse as parseJsonc } from '../../../../base/common/jsonc.js';
1010
import { DisposableStore } from '../../../../base/common/lifecycle.js';
11+
import { Schemas } from '../../../../base/common/network.js';
1112
import { autorun } from '../../../../base/common/observable.js';
1213
import { basename } from '../../../../base/common/resources.js';
1314
import { URI } from '../../../../base/common/uri.js';
@@ -16,6 +17,7 @@ import { localize } from '../../../../nls.js';
1617
import { ICommandService } from '../../../../platform/commands/common/commands.js';
1718
import { ConfigurationTarget, getConfigValueInTarget, IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
1819
import { IFileService } from '../../../../platform/files/common/files.js';
20+
import { ILabelService } from '../../../../platform/label/common/label.js';
1921
import { IMcpGalleryService } from '../../../../platform/mcp/common/mcpManagement.js';
2022
import { IMcpConfiguration, IMcpConfigurationHTTP, McpConfigurationServer } from '../../../../platform/mcp/common/mcpPlatformTypes.js';
2123
import { INotificationService } from '../../../../platform/notification/common/notification.js';
@@ -114,6 +116,7 @@ export class McpAddConfigurationCommand {
114116
@ITelemetryService private readonly _telemetryService: ITelemetryService,
115117
@IMcpService private readonly _mcpService: IMcpService,
116118
@IMcpGalleryService private readonly _mcpGalleryService: IMcpGalleryService,
119+
@ILabelService private readonly _label: ILabelService,
117120
) { }
118121

119122
private async getServerType(): Promise<AddConfigurationType | undefined> {
@@ -219,15 +222,20 @@ export class McpAddConfigurationCommand {
219222

220223
private async getConfigurationTarget(): Promise<ConfigurationTarget | undefined> {
221224
const options: (IQuickPickItem & { target: ConfigurationTarget })[] = [
222-
{ target: ConfigurationTarget.USER, label: localize('mcp.target.user', "User Settings"), description: localize('mcp.target.user.description', "Available in all workspaces") }
225+
{ target: ConfigurationTarget.USER, label: localize('mcp.target.user', "User Settings"), description: localize('mcp.target.user.description', "Available in all workspaces, runs locally") }
223226
];
224227

225-
if (!!this._environmentService.remoteAuthority) {
226-
options.push({ target: ConfigurationTarget.USER_REMOTE, label: localize('mcp.target.remote', "Remote Settings"), description: localize('mcp.target..remote.description', "Available on this remote machine") });
228+
const raLabel = this._environmentService.remoteAuthority && this._label.getHostLabel(Schemas.vscodeRemote, this._environmentService.remoteAuthority);
229+
if (raLabel) {
230+
options.push({ target: ConfigurationTarget.USER_REMOTE, label: localize('mcp.target.remote', "Remote Settings"), description: localize('mcp.target..remote.description', "Available on this remote machine, runs on {0}", raLabel) });
227231
}
228232

229233
if (this._workspaceService.getWorkspace().folders.length > 0) {
230-
options.push({ target: ConfigurationTarget.WORKSPACE, label: localize('mcp.target.workspace', "Workspace Settings"), description: localize('mcp.target.workspace.description', "Available in this workspace") });
234+
if (this._environmentService.remoteAuthority) {
235+
options.push({ target: ConfigurationTarget.WORKSPACE, label: localize('mcp.target.workspace', "Workspace Settings"), description: localize('mcp.target.workspace.description.remote', "Available in this workspace, runs on {0}", raLabel) });
236+
} else {
237+
options.push({ target: ConfigurationTarget.WORKSPACE, label: localize('mcp.target.workspace', "Workspace Settings"), description: localize('mcp.target.workspace.description', "Available in this workspace, runs locally") });
238+
}
231239
}
232240

233241
if (options.length === 1) {

0 commit comments

Comments
 (0)