README.md•2.57 kB
# Readonly Filesystem MCP Server
Node.js server implementing Model Context Protocol (MCP) for readonly filesystem operations. A clone from [modelcontextprotocol/server-filesystem](https://github.com/modelcontextprotocol/servers/tree/main/src/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
```json
{
"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.