read_fileLABSCO SUMMARY
Ten file operations over your choice of stdio, HTTP or SSE.
The diff preview on edits and the recursive tree are the parts worth having — an agent can inspect a change before committing to it. Take the README's own warning seriously: there is no path restriction, so the server reaches anything the account running it can reach. Scope it with a dedicated user and OS permissions.
What it is
A Java implementation of the filesystem MCP server, built as one shared tool library behind three transports: a standalone stdio application, an HTTP servlet and an SSE servlet.
What you get
- read_file and read_multiple_files pull the contents of one file or a batch in a single call
- write_file creates or overwrites; edit_file makes line-based edits and can show the diff before applying
- list_directory and directory_tree give a flat listing with type indicators or a recursive JSON tree
- search_files walks a directory recursively for glob matches, with exclude patterns
- get_file_info returns size, timestamps and permissions; create_directory and move_file cover the rest
Requirements
A current Java runtime and the built artifact — the project builds with Gradle, and can also compile to a native executable with GraalVM. The stdio build runs as a standalone application; the HTTP and SSE builds are WAR files you deploy into a servlet container. No account or key.
Setup effort
Build from source — git clone https://github.com/brunorozendo/mcp-server-filesystem
USE CASES
Reading a set of related files in one go
Fetch several files in a single call instead of a round trip each, then read the one that matters in full.
Making a careful edit you want to check first
Ask for the diff before the change is written, review it, then apply the same edit for real.
Finding files by pattern in a big tree
Search recursively for a glob while excluding build and vendor directories, or take the whole tree as JSON.
Moving or renaming things after a refactor
Relocate files and directories and confirm the result from their metadata rather than re-listing everything.
10 tools
Listed in project docs. Your client may show a different list.
read_multiple_fileswrite_fileedit_filecreate_directorylist_directorydirectory_treemove_filesearch_filesget_file_infoBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- Java 25
- Gradle 9.x, for building from source
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/brunorozendo/mcp-server-filesystem
cd mcp-server-filesystem
./gradlew clean buildMCP Clients
Claude Desktop
{
"mcpServers": {
"filesystem": {
"command": "java",
"args": [
"-jar",
"<YOUR_PATH_TO_STDIO_1_0>"
]
}
}
}<YOUR_PATH_TO_STDIO_1_0> is the full path of stdio/build/libs/stdio-1.0.0.jar inside your clone, which ./gradlew clean build creates. java has to be Java 25.