Skip to content

Commit 99d11ac

Browse files
authored
mcp: use consistent drive letter for roots (#282275)
Closes #271812
1 parent 8146a6f commit 99d11ac

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/vs/workbench/contrib/mcp/common/mcpServer.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ import { AsyncIterableProducer, raceCancellationError, Sequencer } from '../../.
77
import { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';
88
import { Iterable } from '../../../../base/common/iterator.js';
99
import * as json from '../../../../base/common/json.js';
10+
import { normalizeDriveLetter } from '../../../../base/common/labels.js';
1011
import { Disposable, DisposableStore, IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
1112
import { LRUCache } from '../../../../base/common/map.js';
13+
import { Schemas } from '../../../../base/common/network.js';
1214
import { mapValues } from '../../../../base/common/objects.js';
1315
import { autorun, autorunSelfDisposable, derived, disposableObservableValue, IDerivedReader, IObservable, IReader, ITransaction, observableFromEvent, ObservablePromise, observableValue, transaction } from '../../../../base/common/observable.js';
1416
import { basename } from '../../../../base/common/resources.js';
@@ -452,10 +454,14 @@ export class McpServer extends Disposable implements IMcpServer {
452454

453455
cnx.roots = workspaces.read(reader)
454456
.filter(w => w.uri.authority === (initialCollection.remoteAuthority || ''))
455-
.map(w => ({
456-
name: w.name,
457-
uri: URI.from(uriTransformer?.transformIncoming(w.uri) ?? w.uri).toString()
458-
}));
457+
.map(w => {
458+
let uri = URI.from(uriTransformer?.transformIncoming(w.uri) ?? w.uri);
459+
if (uri.scheme === Schemas.file) { // #271812
460+
uri = URI.file(normalizeDriveLetter(uri.fsPath, true));
461+
}
462+
463+
return { name: w.name, uri: uri.toString() };
464+
});
459465
}));
460466

461467
// 2. Populate this.tools when we connect to a server.

0 commit comments

Comments
 (0)