Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/filesystem/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ if (accessibleDirectories.length === 0 && allowedDirectories.length > 0) {

allowedDirectories = accessibleDirectories;

// Track if directories were explicitly provided via CLI args
const hasCliDirectories = args.length > 0;

// Initialize the global allowedDirectories in lib.ts
setAllowedDirectories(allowedDirectories);

Expand Down Expand Up @@ -703,7 +706,13 @@ server.registerTool(
);

// Updates allowed directories based on MCP client roots
// Only overrides if no CLI directories were explicitly provided
async function updateAllowedDirectoriesFromRoots(requestedRoots: Root[]) {
// If CLI directories were explicitly provided, MCP roots should not override them
if (hasCliDirectories) {
console.error("Ignoring MCP roots: CLI-provided directories take precedence");
return;
}
const validatedRootDirs = await getValidRootDirectories(requestedRoots);
if (validatedRootDirs.length > 0) {
allowedDirectories = [...validatedRootDirs];
Expand Down
Loading