Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Local Filesystem MCP Server

A small MCP server that lets Claude read and write files in one folder on your computer — the one you point it at, and nothing else.

What it can do

Tool Purpose
list_directory List files/folders in a path
read_file Read a text file's contents
write_file Overwrite or append to a file (creates it if needed)
create_directory Make a new folder
delete_file Delete a single file
delete_directory Delete a folder (optionally recursive)
move_file Move or rename a file/folder
get_file_info Get size, type, created/modified timestamps
search_files Recursively find files matching a glob (*.py, notes-*.md, etc)

Safety: every tool resolves paths against the root folder you configure at startup and refuses any path that would escape it (e.g. ../../etc/passwd). Claude can only ever touch files inside that one folder.

1. Install dependencies

From the repository root, create and activate a virtual environment and install dependency and use that virtual env config in claude config as shown in example:

PS C:\Users\remote\Documents\local-devlopment\files> (Get-Command python).Source
C:\Python314\python.exe
PS C:\Users\remote\Documents\local-devlopment\files> py
Python 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.executable)
C:\Python314\python.exe
>>> exit()
python3 -m venv venv

Activate it with the command that matches your shell:

# Bash / WSL
source venv/bin/activate
# PowerShell
.\venv\Scripts\Activate.ps1

Then install the package requirements:

pip install -r requirements.txt
pip install -r requirements.txt
C:\Python314\python.exe -m pip install -r requirements.txt

2. Test it standalone (optional but recommended)

python server.py /path/to/the/folder/you/want/to/expose

You should see:

Starting local-filesystem MCP server, rooted at: /path/to/the/folder

It will sit there waiting for an MCP client to talk to it over stdio — that's expected. Press Ctrl+C to stop.

You can also use the MCP inspector to poke at it interactively:

npx @modelcontextprotocol/inspector python server.py /path/to/the/folder

3. Connect it to Claude Desktop

Open your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add an entry under mcpServers (create the file/section if it doesn't exist). Use absolute paths that match the environment where Claude Desktop launches the process:

  • If Claude Desktop starts the server from WSL/bash, use Unix-style paths such as /mnt/c/Users/remote/Documents/local-devlopment/files/server.py and /usr/bin/python3.
  • If it starts from Windows, use Windows-style paths such as C:\Users\remote\Documents\local-devlopment\files\server.py and escape backslashes in JSON.
{
  "mcpServers": {
    "local-filesystem": {
      "command": "/usr/bin/python3",
      "args": [
        "/mnt/c/Users/remote/Documents/local-devlopment/files/server.py",
        "/absolute/path/to/the/folder/you/want/to/expose"
      ]
    }
  }
}

example

{
  "mcpServers": {
    "local-filesystem": {
      "command": "C:\\Python314\\python.exe",
      "args": [
        "C:\\Users\\remote\\Documents\\local-devlopment\\files\\server.py",
        "C:\\Users\\remote\\Documents\\repositories"
      ]
    }
  }
}

Use absolute paths for the Python interpreter, the script, and the folder — relative paths are unreliable since Claude Desktop launches the process from its own working directory.

Restart Claude Desktop. The tools will show up under the 🔌/tools menu in a new chat, and Claude will be able to call list_directory, read_file, etc. on the folder you configured.

4. Point it at a different folder

Just change the last argument in the args array in the config — one server instance is scoped to one root folder. Run multiple entries under mcpServers (with different names) if you want to expose several folders at once.

Notes / limitations

  • read_file / write_file work with UTF-8 text. Binary files (images, PDFs, zips) will report a decode error rather than mangling bytes — extend the server if you need binary support (base64 encode/decode is the usual approach).
  • There's no undo. delete_directory(recursive=True) is permanent — consider keeping the exposed folder under version control (git) if you want a safety net.
  • This server trusts whatever client is calling it (i.e. Claude, once you've approved the tool calls). Don't point it at a folder containing anything you wouldn't want an LLM to read, edit, or delete on your instruction.

local mcp server

claude developer option add local mcp server

alt text

clsude windows config

alt text

finally check in calude ui that a local mcp server is running and now ask him to read repositories and do what ever you want to do... :)

alt text

give claude to use local mcp server for fiole related operatioons

finaly see output

#restart claude and close from right button and task manger and reopen and ask can you read local file system . now no need to copy files

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages