home / mcp / filesystem mcp server

Filesystem MCP Server

A Model Context Protocol server for accessing your file system.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bsmi021-mcp-filesystem-server": {
      "command": "node",
      "args": [
        "path/to/filesystem-server/build/index.js"
      ]
    }
  }
}

You can run a dedicated MCP server that exposes file system operations, analysis, and manipulation through a unified tool interface. This enables you to query directories, read and write files, analyze text, hash files, find duplicates, and compress or extract data, all via a consistent MCP client workflow.

How to use

To use the filesystem MCP server, connect your MCP client to the local or remote stdio-based server and invoke the available tools by name. You can list directory contents, read and write files, analyze text properties, calculate file hashes, identify duplicates, and manage ZIP archives. Combine operations to automate common workflows such as auditing project directories, validating file integrity, or preparing data archives for distribution.

How to install

Prerequisites: ensure you have Node.js installed on your machine. You may also need a compatible MCP client to interact with the server.

# 1. Clone the filesystem MCP server repository
git clone <repository-url>
cd filesystem-server

# 2. Install dependencies
npm install

# 3. Build the server
npm run build

# 4. Start or prepare to run via MCP client configuration (see config snippet below)

Configuration and runtime start

Configure MCP settings to point to the built server index. The following example shows how to register the filesystem server as a stdio MCP endpoint that starts via Node.js and the built entry point.

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["path/to/filesystem-server/build/index.js"]
    }
  }
}

Available tools

list_directory

Lists directory contents with metadata including name, path, type, size, timestamps, and permissions.

create_directory

Creates a new directory, with option to create parent directories when recursive is true.

read_file

Reads file content with optional encoding support.

write_file

Writes content to a file with optional encoding.

append_file

Appends content to a file with optional encoding.

analyze_text

Analyzes a text file to produce metrics such as line count, word count, character count, encoding, and mime type.

calculate_hash

Calculates a file hash using a specified algorithm (md5, sha1, sha256, sha512).

find_duplicates

Finds duplicate files within a directory by grouping files with the same hash and size.

create_zip

Creates a ZIP archive from a list of files.

extract_zip

Extracts the contents of a ZIP archive to a specified output directory.