Filesystem MCP Server

by optistar

258 downloads
Not rated
GitHub

Description

# Filesystem MCP Server This is a Go implementation of the Model Context Protocol (MCP) server for filesystem operations, based on Anthropic's reference implementation from…

About

# Filesystem MCP Server This is a Go implementation of the Model Context Protocol (MCP) server for filesystem operations, based on Anthropic's reference implementation from [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers/blob/main/src/filesystem/index.ts). Significant differences from…

Details

Author
optistar
Downloads
258
Categories
Other

- Create, read, write, edit, and move files and directories.
- Retrieve detailed file metadata as JSON.
- Recursive directory tree view as JSON.
- Search files with gitignore-style exclude patterns.
- Read multiple files simultaneously.
- Full test suite included.

Install via go install github.com/optistar/mcp-server-filesystem/cmd/mcp-server-filesystem@latest. The executable will be placed in the Go bin directory (typically ~/go/bin). Run the server and connect it to an MCP client; tools are invoked by the client.

Filesystem MCP Server

This is a Go implementation of the Model Context Protocol (MCP) server for filesystem operations,
based on Anthropic's reference implementation from modelcontextprotocol/servers.

Significant differences from the reference implementation include:

- The get_file_info and directory_tree commands return JSON data.
- The search_files tool supports gitignore-style exclude patterns.

Installation

Install the server with the following command:

go install github.com/optistar/mcp-server-filesystem/cmd/mcp-server-filesystem@latest

The executable will be installed in the Go bin directory, which is typically ~/go/bin.
If this directory is not in your PATH, you may need to add it.

You can also set the GOBIN environment variable to change the installation directory.

Testing

A full test suite is included to ensure the server behaves as expected.

- The tests can be run normally with go test.
- A tester command packages the test suite as an MCP client that can be used to test the MCP server command,
or another MCP server implementation.

Tools

The server provides the following tools for interacting with the filesystem:

- create_directory: Create a new directory or ensure a directory exists.
- directory_tree: Get a recursive tree view of files and directories as a JSON structure.
- edit_file: Make line-based edits to a text file.
- get_file_info: Retrieve detailed metadata about a file or directory.
- list_allowed_directories: Returns the list of directories that this server is allowed to access.
- list_directory: Get a detailed listing of all files and directories in a specified path.
- move_file: Move or rename files and directories.
- read_file: Read the complete contents of a file from the file system.
- read_multiple_files: Read the contents of multiple files simultaneously.
- search_files: Recursively search for files and directories matching a pattern.
- write_file: Create a new file or completely overwrite an existing file with new content.

Use the inspector for full details on each tool.

Other implementations

This repository is unrelated to mark3labs/mcp-filesystem-server.

License

The code in this repository is distributed under the MIT License.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.