read_fileLABSCO SUMMARY
The filesystem server with the destructive half removed.
These are the tools you reach for when an agent has to read a codebase, partial reads, multi-file reads, recursive search, with the write path absent rather than merely discouraged. The directory list you pass on the command line is still what decides how much is on the table.
What it is
A read-only fork of the reference filesystem server. It reads, lists, searches and describes files inside the directories you name on the command line, and it carries no write, move or delete tool at all.
What you get
- A file's contents as text, whole or between a from and to line number (read_file)
- Several files in one call, where one failed read does not abort the rest (read_multiple_files)
- A directory listing with [FILE] and [DIR] prefixes (list_directory)
- A recursive, case-insensitive search with glob excludePatterns, returning full paths to matches (search_files)
- Size, creation, modified and access times, type and permissions for a path (get_file_info)
- The directories this server is allowed to touch (list_allowed_directories)
Requirements
npx -y @danielsuguimoto/readonly-server-filesystem followed by each directory you want exposed; it will not operate outside them. Under Docker, mount those directories at /projects and add the ro flag.
Setup effort
One command — npx -y @danielsuguimoto/readonly-server-filesystem
USE CASES
Letting an assistant read a codebase it must not change
Name the directories on the launch command and the agent can list, search and read inside them. There is no tool that writes, so a wrong turn costs a bad answer rather than a bad commit.
Finding where something is defined
Recursive search with a pattern returns full paths, case-insensitively, and excludePatterns keeps node_modules and build output out of the results before they reach the model.
Reading part of a very large file
Pass from and to line numbers and only that slice comes back, which is how you look at one function in a file that would otherwise fill the context window.
Pulling several related files together
Ask for the paths in one call and get them all back; if one is missing or unreadable, the others still arrive, so a batch does not fail on its weakest member.
6 tools
Listed in project docs. Your client may show a different list.
read_multiple_fileslist_directorysearch_filesget_file_infolist_allowed_directoriesBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
npx on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @danielsuguimoto/readonly-server-filesystemTakes one or more directory paths as arguments
MCP Clients
Claude Desktop
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@danielsuguimoto/readonly-server-filesystem",
"/Users/<YOUR_USERNAME>/Desktop",
"<YOUR_PATH_TO_OTHER_ALLOWED_DIR>"
]
}
}
}