MCP ExplorerExplorer

Readonly Filesystem Mcp

@danielsuguimotoon a year ago
1 MIT
FreeCommunity
AI Systems
Readonly Filesystem MCP Server for file operations like reading and searching.

Overview

What is Readonly Filesystem Mcp

The readonly-filesystem-mcp is a Node.js server that implements the Model Context Protocol (MCP) for performing read-only operations on a filesystem. It is a clone of the modelcontextprotocol/server-filesystem project.

Use cases

Use cases include reading configuration files, analyzing log files, listing available resources in a directory, and searching for specific file types in a controlled environment.

How to use

To use readonly-filesystem-mcp, you need to configure it in your application by specifying allowed directories. You can interact with the server through its API, which includes operations like reading files, listing directories, and searching for files.

Key features

Key features include reading files, listing directory contents, searching for files with patterns, and retrieving file metadata. The server restricts operations to specified directories to ensure security.

Where to use

Readonly-filesystem-mcp can be used in applications that require safe and controlled access to filesystem data, such as data analysis tools, content management systems, or any application that needs to read files without modifying them.

Content

Readonly Filesystem MCP Server

Node.js server implementing Model Context Protocol (MCP) for readonly filesystem operations. A clone from modelcontextprotocol/server-filesystem.

Features

  • Read files
  • List directories
  • Search files
  • Get file metadata

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
    • Inputs:
      • path (string): File path to read
      • from (number): Optional. Start line number for reading. Defaults to 0.
      • to (number): Optional. End line number. If not set, reads to the end of the file.
    • Reads file contents (full or partial) with UTF-8 encoding
  • read_multiple_files

    • Read multiple files simultaneously
    • Input: paths (string[])
    • Failed reads won’t stop the entire operation
  • list_directory

    • List directory contents with [FILE] or [DIR] prefixes
    • Input: path (string)
  • search_files

    • Recursively search for files/directories
    • Inputs:
      • path (string): Starting directory
      • pattern (string): Search pattern
      • excludePatterns (string[]): Exclude any patterns. Glob formats are supported.
    • 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
  • 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

Add this to your claude_desktop_config.json:

Note: you can provide sandboxed directories to the server by mounting them to /projects. Adding the ro flag will make the directory readonly by the server.

NPX

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@danielsuguimoto/readonly-server-filesystem",
        "/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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers