file-system-mcp-server

by calebmwelsh
MIT License
  • Apple
  • Linux

Integrations

  • Provides basic file system functionality on Linux with planned improvements for native path handling, Linux-specific system information retrieval, and file permissions support

  • Supports basic file operations, directory management, and system information retrieval on macOS with plans for native path handling and macOS-specific features in future updates

File System MCP Server

A powerful file system management server built with FastMCP that provides a comprehensive set of tools for file and directory operations. This server allows you to perform various file system operations through a structured API, making it ideal for automation and integration with other systems.

Platform Support

The server is designed to work across different operating systems, but with varying levels of functionality:

Windows

  • Full feature support
  • Drive listing
  • Special folders access
  • Windows-specific path handling
  • Detailed system information

macOS/Linux

  • Basic file operations
  • Directory operations
  • File search and metadata
  • Basic system information
  • Note: Some Windows-specific features are not available

Future Implementation

Planned macOS Support

  • Native path handling for macOS
  • macOS-specific system information retrieval
  • Integration with macOS file system features
  • Support for macOS-specific file attributes
  • Implementation of macOS-specific utilities (similar to windows_utils.py)

Planned Linux Support

  • Native path handling for Linux
  • Linux-specific system information retrieval
  • Integration with Linux file system features
  • Support for Linux file permissions and attributes
  • Implementation of Linux-specific utilities

Cross-Platform Improvements

  • Unified path handling system
  • Platform-agnostic drive detection
  • Consistent system information API
  • Standardized file attributes across platforms
  • Cross-platform file system event monitoring
  • Universal file collection system

Timeline

  • Phase 1: Basic cross-platform compatibility improvements
  • Phase 2: Platform-specific feature implementations
  • Phase 3: Advanced cross-platform features
  • Phase 4: Performance optimizations and refinements

Features

File Operations

  • Copy files with backup support
  • Move files with backup support
  • Delete files with safety checks
  • Read file contents
  • Write file contents
  • Get file information (size, creation time, modification time)
  • Search files by name pattern
  • Create file collections for organizing related files

Directory Operations

  • List directory contents
  • Create directories
  • Delete directories
  • List directories recursively (tree-like structure)
  • Search directories by name pattern

System Information

  • Get system information (OS, CPU, memory, disk usage)
  • Get disk information (total space, used space, free space)
  • Get directory information (file count, total size)

Project Structure

file-system-mcp-server/ ├── fs_server.py # Main server implementation ├── windows_utils.py # Windows-specific utilities (Windows only) ├── requirements.txt # Project dependencies └── test_prompts_example.md # Example test prompts

Collections Storage

Collections can be stored in any directory specified by the user. If no storage location is specified, collections will be stored in a default location within the project's data/collections directory.

Example usage:

# Store in default location create_collection("my_collection", ["file1.txt", "file2.txt"]) # Store in custom location create_collection("my_collection", ["file1.txt", "file2.txt"], storage_path="/path/to/store")

Dependencies

Required Dependencies

  • FastMCP
  • Pydantic
  • pywin32 (Windows only)
  • WMI (Windows only)

To install dependencies:

pip install -r requirements.txt

Setup

  1. Clone the repository:
git clone https://github.com/calebmwelsh/file-system-mcp-server.git cd file-system-mcp-server
  1. Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

For detailed MCP configuration instructions across different development environments (Claude, Cursor, Windsurf), visit: MCP Configuration Guide

Integration with Claude

To integrate the File System MCP server with Claude, add the following to your claude_desktop_config.json file:

{ "mcpServers": { "file-system": { "command": "/absolute/path/to/python", "args": [ "/absolute/path/to/file-system-mcp-server/fs_server.py" ] } } }
Finding Your Python Path

To find your Python executable path, use the following command:

Windows (PowerShell):

(Get-Command python).Source

Windows (Command Prompt/Terminal):

where python

Linux/macOS (Terminal):

which python

Replace /absolute/path/to/python with the output from the appropriate command above.

Example Configuration

For Windows, your configuration might look like this:

{ "mcpServers": { "file-system": { "command": "C:\\Users\\YourUsername\\AppData\\Local\\Programs\\Python\\Python39\\python.exe", "args": [ "C:\\Users\\YourUsername\\Documents/file-system-mcp-server/fs_server.py" ] } } }

For macOS/Linux:

{ "mcpServers": { "file-system": { "command": "/usr/local/bin/python3", "args": [ "/Users/YourUsername/Documents/file-system-mcp-server/fs_server.py" ] } } }

After adding the configuration:

  1. Save the claude_desktop_config.json file
  2. Restart Claude
  3. You can now use the file system tools by asking Claude to perform file operations

Available Tools

File Operations

  • copy_file: Copy a file with optional backup
  • move_file: Move a file with optional backup
  • delete_file: Delete a file with safety checks
  • read_file: Read file contents
  • write_file: Write contents to a file
  • get_file_info: Get detailed file information
  • search_files: Search files by name pattern
  • create_collection: Create a collection of files

Directory Operations

  • list_directory: List directory contents
  • create_directory: Create a new directory
  • delete_directory: Delete a directory
  • list_directory_recursively: Show directory structure in tree format
  • search_directories: Search directories by name pattern

System Information

  • get_system_info: Get system information
  • get_disk_info: Get disk usage information
  • get_directory_info: Get directory statistics

Known Issues

The following features are currently experiencing issues and may not work as expected:

  1. Delete File Function
    • The delete_file function may fail to properly delete files in some cases
    • Users are advised to verify file deletion manually or use alternative methods when critical
    • Issue is under investigation and will be fixed in a future update
  2. List Drives Function
    • The list_drives function may not correctly detect or display all available drives
    • Some drives may be missing from the list or show incorrect information
    • This is a known limitation and will be addressed in future updates
  3. Platform-Specific Limitations
    • Windows-specific features are not available on macOS/Linux
    • Some path handling may differ between platforms
    • System information retrieval varies by platform

Error Handling

The server includes comprehensive error handling for:

  • Invalid file paths
  • File/directory not found
  • Permission issues
  • Disk space limitations
  • Invalid operations
  • Platform-specific errors

Security

  • All file operations include path validation
  • Backup files are created before destructive operations
  • System information access is restricted to safe operations
  • File operations are performed with proper error handling

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with FastMCP
  • Uses Pydantic for data validation
  • Inspired by modern file system management tools

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server that provides file deletion capabilities. This server allows AI assistants to safely delete files when needed, with support for both relative and absolute paths.
    Last updated -
    1
    12
    1
    JavaScript
    Apache 2.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    An MCP server that allows Claude AI to perform filesystem operations including reading, writing, listing, moving files, and searching directories within specified allowed paths.
    Last updated -
    5
    1
    JavaScript
  • -
    security
    F
    license
    -
    quality
    Implements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.
    Last updated -
    16
    Python
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that allows AI models to safely access and interact with local file systems, enabling reading file contents, listing directories, and retrieving file metadata.
    Last updated -
    47
    1
    JavaScript
    MIT License
    • Linux

View all related MCP servers

ID: 75s71hzz5r