Filesystem MCP Server logo

Filesystem MCP Server

by gomcpgo

The Filesystem MCP Server is a secure Model Context Protocol (MCP) server that provides controlled filesystem operations. It allows access to specified directories with permission validation and path traversal prevention.

View on GitHub

Last updated: N/A

What is Filesystem MCP Server?

The Filesystem MCP Server is a secure server that exposes filesystem operations through the Model Context Protocol (MCP). It restricts access to a pre-defined set of directories, ensuring that only authorized file operations can be performed.

How to use Filesystem MCP Server?

  1. Install the server using go get github.com/gomcpgo/filesys. 2. Configure allowed directories using the MCP_ALLOWED_DIRS environment variable (e.g., export MCP_ALLOWED_DIRS="/path1,/path2"). 3. Build the server using go build -o bin/filesys cmd/main.go. 4. Integrate the server into a client application (e.g., Claude Desktop) by adding its configuration to the client's configuration file, specifying the command to execute the server and the necessary environment variables. 5. Use the provided tools (read_file, write_file, etc.) by sending appropriately formatted JSON requests to the server.

Key features of Filesystem MCP Server

  • Directory access control via environment variables

  • File operations restricted to allowed directories

  • Thread-safe caching of allowed directories

  • Proper handling of paths with spaces

Use cases of Filesystem MCP Server

  • Securely accessing files from a remote application

  • Providing controlled file access to AI models

  • Implementing a sandboxed file system environment

  • Enabling file management operations in a secure and auditable manner

FAQ from Filesystem MCP Server

How do I specify allowed directories?

Use the MCP_ALLOWED_DIRS environment variable, providing a comma-separated list of directory paths.

What happens if I try to access a file outside the allowed directories?

The server will deny the operation and return an error.

How do I build the server?

Use the command go build -o bin/filesys cmd/main.go.

What file operations are supported?

The server supports reading, writing, creating, moving, listing, and searching files and directories.

Is the server thread-safe?

Yes, the server uses thread-safe caching of allowed directories to ensure concurrent access is handled correctly.