Filesystem MCP Server

by mark3labs
MIT License
228

Filesystem MCP Server

Go server implementing Model Context Protocol (MCP) for filesystem operations.

Features

  • Read/write files
  • Create/list/delete directories
  • Move files/directories
  • Search files
  • Get file metadata
  • Generate directory tree structures

Note: The server will only allow operations within directories specified via args.

API

Resources

  • file://system: File system operations interface

Tools

  • read_file
    • Read complete contents of a file
    • Input: path (string)
    • Reads complete file contents with UTF-8 encoding
  • read_multiple_files
    • Read multiple files simultaneously
    • Input: paths (string[])
    • Failed reads won't stop the entire operation
  • write_file
    • Create new file or overwrite existing (exercise caution with this)
    • Inputs:
      • path (string): File location
      • content (string): File content
  • create_directory
    • Create new directory or ensure it exists
    • Input: path (string)
    • Creates parent directories if needed
    • Succeeds silently if directory exists
  • list_directory
    • List directory contents with [FILE] or [DIR] prefixes
    • Input: path (string)
  • move_file
    • Move or rename files and directories
    • Inputs:
      • source (string)
      • destination (string)
    • Fails if destination exists
  • search_files
    • Recursively search for files/directories
    • Inputs:
      • path (string): Starting directory
      • pattern (string): Search pattern
    • Case-insensitive matching
    • Returns full paths to matches
  • get_file_info
    • Get detailed file/directory metadata
    • Input: path (string)
    • Returns:
      • Size
      • Creation time
      • Modified time
      • Access time
      • Type (file/directory)
      • Permissions
  • tree
    • Returns a hierarchical JSON representation of a directory structure
    • Inputs:
      • path (string): Directory to traverse (required)
      • depth (number): Maximum depth to traverse (default: 3)
      • follow_symlinks (boolean): Whether to follow symbolic links (default: false)
    • Returns formatted JSON with file/directory hierarchy
    • Includes file metadata (name, path, size, modified time)
  • list_allowed_directories
    • List all directories the server is allowed to access
    • No input required
    • Returns:
      • Directories that this server can read/write from

Usage with Claude Desktop

Install the server

go install github.com/mark3labs/mcp-filesystem-server

Add this to your claude_desktop_config.json:

{ "mcpServers": { "filesystem": { "command": "mcp-filesystem-server", "args": [ "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } } }

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Go server implementing Model Context Protocol (MCP) for filesystem operations.

  1. Features
    1. API
      1. Resources
      2. Tools
    2. Usage with Claude Desktop
      1. License

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
          Last updated -
          29,124
          43,205
          JavaScript
          MIT License
          • Linux
          • Apple
        • -
          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
        • -
          security
          A
          license
          -
          quality
          what is go-mcp-postgres? go-mcp-postgres is a Model Context Protocol (MCP) server designed for interacting with Postgres databases, allowing for easy CRUD operations and automation without the need for a Node.js or Python environment.
          Last updated -
          4
          Go
          MIT License
          • Linux
          • Apple
        • -
          security
          A
          license
          -
          quality
          A comprehensive MCP (Model Context Protocol) server for file system operations, providing Claude and other AI assistants with access to local files and directories.
          Last updated -
          Python
          MIT License
          • Apple
          • Linux

        View all related MCP servers

        ID: tt9yuhw8t6