MCP ExplorerExplorer

Filesys

@gomcpgoon 10 months ago
1 MIT
FreeCommunity
AI Systems
Enhanced FileSystem MCP server

Overview

What is Filesys

Filesys is an Enhanced FileSystem MCP server that provides secure filesystem operations with controlled access to specified directories.

Use cases

Use cases include reading and writing files, managing directories, moving files, and searching for files recursively within allowed paths.

How to use

To use filesys, install it via ‘go get github.com/gomcpgo/filesys’, configure allowed directories using the MCP_ALLOWED_DIRS environment variable, and integrate it into your application as specified in the README.

Key features

Key features include controlled directory access via environment variables, file operations restricted to allowed directories, thread-safe caching, and proper handling of paths with spaces.

Where to use

Filesys can be used in environments where secure file operations are required, such as cloud services, enterprise applications, and any system needing controlled access to file systems.

Content

Filesystem MCP Server

A secure Model Context Protocol (MCP) server that provides filesystem operations with controlled access to specified directories.

Features

  • Directory access controlled via environment variables
  • File operations within allowed directories only
  • Thread-safe caching of allowed directories
  • Proper handling of paths with spaces

Installation

go get github.com/gomcpgo/filesys

Configuration

Set allowed directories using the environment variable:

export MCP_ALLOWED_DIRS="/path1,/path2,/path with spaces/dir3"

Tools

File Reading

  • read_file: Read single file contents
  • read_multiple_files: Read multiple files simultaneously

File Writing

  • write_file: Create or overwrite files

Directory Operations

  • create_directory: Create new directories
  • list_directory: List directory contents
  • list_allowed_directories: Show accessible directories

File Management

  • move_file: Move or rename files and directories
  • get_file_info: Get file metadata
  • search_files: Search files recursively with pattern matching

Usage with Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "/path/to/filesys",
      "env": {
        "MCP_ALLOWED_DIRS": "/path1,/path2,/path with spaces/dir3"
      }
    }
  }
}

Tool Examples

Reading a File

{
    "name": "read_file",
    "arguments": {
        "path": "/allowed/path/file.txt"
    }
}

Listing Directory

{
    "name": "list_directory",
    "arguments": {
        "path": "/allowed/path"
    }
}

Security

  • All operations restricted to allowed directories
  • Path traversal prevention
  • Permission validation before operations
  • Proper error handling and logging

Building

go build -o bin/filesys cmd/main.go

License

MIT License

Contributing

Pull requests welcome. Please ensure:

  • Tests pass
  • New features include documentation
  • Code follows project style

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers