Skip to main content
Glama
Filesystem MCP Server

Filesystem MCP Server

by geekgod382

Pathgate

pathgate is a Python Model Context Protocol (MCP) server that exposes a controlled filesystem interface to MCP clients such as Claude Desktop, Cursor, VS Code, and inspector tools. The server only permits access to directories that are explicitly allow-listed at startup.

What it does

The server exposes:

  • File resources via file://...

  • Directory resources via directory://...

  • Tools for reading, writing, listing, creating, deleting, moving, copying, searching, and inspecting files/directories

  • Built-in prompts for directory analysis and file discovery

Related MCP server: MCP Filesystem Server

Security model

Access is restricted by allow-listed paths. At startup, the server resolves the supplied paths and only permits operations within those directories.

  • Paths are checked with os.path.realpath() and prefix matching

  • Symlinks are resolved before comparison

  • The server can be run in read-only mode to disable mutating operations

Installation

Pathgate package is published on PyPI. To use it, for example with Claude Desktop, add this in the claude_desktop_config.json

{
  "mcpServers": {
    "pathgate": {
      "command": "uvx",
      "args": ["pathgate@latest", "C:\\Users\\me\\Documents"]
    }
  }
}

Or, you can use the install command to directly write the config file

uvx pathgate install <paths>

Paths should be separated by spaces

uvx pathgate install C:\Users\me\Documents C:\Users\me\Projects

When no paths are given, it prompts you for them.

Options

--read-only: writes the safer variant of the entry. --dry-run: shows what it would write and changes nothing. --yes: skips the confirmation prompt. --name: sets a different entry name (default pathgate). --config PATH: I build this mcp server for Claude primarily. Using this option edits a specific file, which also works for other clients that use the same mcpServers shape.

Updating

You don't need to manually update it. The command does that for you.

Usage

Start with allowed directories

uvx pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"

Read-only mode

uvx pathgate --read-only "C:\Users\<username>\Documents"

Environment variable alternative

$env:FS_MCP_ALLOWED_PATHS = "C:\Users\<username>\Documents;C:\Users\<username>\Projects"
uvx pathgate

On macOS/Linux, use : instead of ; for the path separator.

Tools

The current implementation exposes these tools:

  • read_file_tool — read a file and return its content, size, and encoding

  • write_file_tool — write content to a file

  • list_directory_tool — list directory contents, optionally recursively

  • create_directory_tool — create a directory tree if needed

  • delete_file_tool — delete a single file

  • delete_directory_tool — delete a directory, optionally recursively

  • move_file_tool — move or rename a file/directory

  • copy_file_tool — copy a file/directory

  • search_files_tool — search for files matching a pattern

  • get_file_info_tool — return metadata for a file or directory

Example requests

Once connected, clients can ask:

List the files in C:\Users\<username>\Documents
Read C:\Users\<username>\Documents\notes.txt
Search for *.py files under C:\Users\<username>\Projects
Create a file at C:\Users\<username>\Documents\todo.txt with the content "Ship release"

Project layout

pathgate/
├── pathgate/
│   ├── __init__.py
│   ├── __main__.py
│   ├── config.py
│   ├── prompts.py
│   ├── install.py
│   ├── resources.py
│   ├── server.py
│   ├── tool_schemas.py
│   └── tools.py
├── tests/
│   └── test_server.py
├── pyproject.toml
├── README.md
└── LICENSE

Requirements

  • Python 3.10+

  • mcp>=2

References

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides secure file system operations for AI assistants including directory listing, file reading/writing, deletion, searching, and copying. Features safety controls like path validation, permission checks, and file size limits.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides file system operations (list, read, write, search) via MCP, enabling an AI agent to manage files through natural language.
      2,203 npm
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables advanced file system operations such as file read/write, directory management, search, archiving, and file watching through natural language.
      16
      13 npm
      3
      GPL 3.0