mirror of
https://github.com/modelcontextprotocol/servers.git
synced 2026-04-18 00:03:23 +02:00
Windows filesystem MCP enhancements (#543)
* fix: comprehensive Windows path handling improvements - Add path-utils module for consistent path handling - Handle Windows paths with spaces via proper quoting - Support Unix-style Windows paths (/c/path) - Support WSL paths (/mnt/c/path) - Add comprehensive test coverage - Fix path normalization for all path formats Closes #447 * tested locally and working now * Add filesystem path utils and tests * Ensure Windows drive letters are capitalized in normalizePath * adding test for gh pr comment * pushing jest and windows testing config * last commit? fixing comments on PR * Fix bin and bump sdk * Remove redundant commonjs version of path-utils and import from ts version * Remove copying cjs file * Remove copying run-server * Remove complex args parsing and do other cleanup * Add missing tools details to Readme * Move utility functions from index to lib * Add more tests and handle very small and very large files edge cases * Finish refactoring and include original security fix comments * On Windows, also check for drive root * Check symlink support on restricted Windows environments * Fix tests * Bump SDK and package version * Clean up --------- Co-authored-by: olaservo <olahungerford@gmail.com> Co-authored-by: adam jones <adamj+git@anthropic.com>
This commit is contained in:
@@ -73,6 +73,7 @@ The server's directory access control follows this flow:
|
||||
- `head` (number, optional): First N lines
|
||||
- `tail` (number, optional): Last N lines
|
||||
- Always treats the file as UTF-8 text regardless of extension
|
||||
- Cannot specify both `head` and `tail` simultaneously
|
||||
|
||||
- **read_media_file**
|
||||
- Read an image or audio file
|
||||
@@ -119,6 +120,23 @@ The server's directory access control follows this flow:
|
||||
- List directory contents with [FILE] or [DIR] prefixes
|
||||
- Input: `path` (string)
|
||||
|
||||
- **list_directory_with_sizes**
|
||||
- List directory contents with [FILE] or [DIR] prefixes, including file sizes
|
||||
- Inputs:
|
||||
- `path` (string): Directory path to list
|
||||
- `sortBy` (string, optional): Sort entries by "name" or "size" (default: "name")
|
||||
- Returns detailed listing with file sizes and summary statistics
|
||||
- Shows total files, directories, and combined size
|
||||
|
||||
- **directory_tree**
|
||||
- Get a recursive tree view of files and directories as a JSON structure
|
||||
- Input: `path` (string): Starting directory path
|
||||
- Returns JSON structure with:
|
||||
- `name`: File/directory name
|
||||
- `type`: "file" or "directory"
|
||||
- `children`: Array of child entries (for directories only)
|
||||
- Output is formatted with 2-space indentation for readability
|
||||
|
||||
- **move_file**
|
||||
- Move or rename files and directories
|
||||
- Inputs:
|
||||
|
||||
Reference in New Issue
Block a user