Cross-Platform Filesystem MCP Server
A comprehensive filesystem MCP server that works across Linux, macOS, and Windows platforms with intelligent platform-specific adaptations.
🌍 Platform Support
✅ Supported Platforms
Linux - Full support with Unix-style commands
macOS - Full support with Unix-style commands
Windows - Full support with Windows-specific commands
FreeBSD/OpenBSD - Basic support
🔧 Platform-Specific Features
Linux (/home/, /tmp/, /opt/, /usr/local/, /etc/)
Uses
findfor file searchUnix-style permissions and ownership
Standard shell commands via
/bin/bashPackage manager paths included
macOS (/Users/, /tmp/, /opt/homebrew/, /usr/local/)
Uses
findfor file searchUnix-style permissions and ownership
Homebrew paths for both Intel and Apple Silicon
Standard shell commands via
/bin/bash
Windows (C:\Users\, C:\temp\, C:\tmp\, D:\)
Uses
dirfor file search with recursionWindows-style paths and permissions
Commands via
cmd.exeMultiple drive support
🛠️ Available Tools
Core Filesystem Operations
get_platform_info- Show current platform and allowed pathslist_directory- List directory contents with platform-aware hidden file filteringread_file/write_file- File content operationscreate_directory/delete_directory- Directory managementdelete_file- File removalmove_item/copy_item- File/directory manipulationget_file_info- Detailed file metadata (platform-specific)
Search & Navigation
search_files- Platform-aware file search (find/dir)get_current_directory- Current working directory infoexecute_command- Platform-aware shell command execution
🚀 Quick Setup
1. Install Dependencies
2. Build (Optional)
3. Run Development Mode
4. Install to a Runtime Directory (Optional)
By default the script installs the server into /opt/mcp-servers/mcp-filesystem-cross-platform. Use --prefix to change the parent directory or --name to customize the folder name.
📋 Platform-Specific Allowed Paths
The MCP automatically detects the platform and restricts access to safe directories:
Linux
macOS
Windows
🔒 Security Features
Path validation prevents directory traversal attacks
Platform-aware restrictions to system-appropriate safe directories
Sandboxed execution environment
No access to system-critical directories outside allowed paths
⚙️ Claude Desktop Configuration
Linux/macOS
Windows
🎯 Usage Examples
Once configured, you can ask Claude:
Platform Detection
"What platform am I running on?"
"Show me the allowed filesystem paths"
File Operations
"List the contents of my home directory"
"Create a new directory called 'projects'"
"Read the contents of my .bashrc file" (Linux/macOS)
"Search for all .js files in my projects folder"
Cross-Platform Commands
"Run 'ls -la'" (Linux/macOS) or "Run 'dir'" (Windows)
"Execute 'npm install' in my project directory"
🔄 Differences from macOS-Only Version
Improvements:
✅ Cross-platform compatibility (Linux, macOS, Windows)
✅ Platform-aware command execution (find vs dir)
✅ Intelligent path restrictions based on OS
✅ Better error handling for platform differences
✅ Platform detection and reporting
Key Changes:
Uses
os.platform()for platform detectionPlatform-specific allowed paths arrays
Different search commands per platform (
findvsdir)Platform-aware shell selection (
bashvscmd.exe)Windows drive letter support
Enhanced hidden file filtering (includes
$files on Windows)
🐧 Linux-Specific Notes
The filesystem MCP works excellently on Linux with these considerations:
Package Management: Can access
/opt/and/usr/local/for installed softwareConfiguration: Read access to
/etc/for system configsPermissions: Full Unix permissions and ownership support
Shell: Uses
/bin/bashfor command executionTemporary Files: Supports both
/tmp/and/var/tmp/
💻 Windows-Specific Notes
Full Windows support with these adaptations:
Drive Letters: Supports multiple drives (C:, D:, etc.)
Path Separators: Handles Windows backslashes correctly
Commands: Uses
cmd.exeand Windows-native commandsHidden Files: Filters both
.and$prefixed filesPermissions: Windows-style file attributes
🚀 Migration from macOS-Only Version
If you're currently using the macOS-only version, here's how to migrate:
1. Update your Claude Desktop config:
2. Test platform detection:
Ask Claude: "What platform am I running on?" to verify it's working.
3. Benefits you'll gain:
Future-proof for Linux servers/containers
Better Windows compatibility if needed
More robust error handling
Platform-aware command suggestions
🐛 Troubleshooting
Common Issues:
Permission Denied
Check that the path is within allowed directories
Use "get platform info" to see allowed paths
Command Not Found
Commands are platform-specific (use
lson Unix,diron Windows)MCP will suggest appropriate commands for your platform
Path Not Found
Use forward slashes
/on all platforms (Node.js handles conversion)Check path exists with "list directory" first
This cross-platform version provides excellent Linux support with full compatibility for Linux-specific paths, permissions, and shell commands. The original macOS version would have failed on Linux due to hardcoded /Users/ paths and macOS-specific assumptions.