Filesystem

io.github.fieldcurePublished by GitHub account fieldcurev1.1.2Updated Oct 24, 2026

Secure MCP server for sandboxed filesystem operations with document parsing support.

VerifiedSTDIODesktop onlyFiles & StorageKnowledge & Memory

Overview

AI-generated overview

A local MCP server that gives an AI assistant sandboxed read, write, search and document-to-markdown access to allowed directories on the user's machine.

What you can do
Read files, including multiple files at once, line ranges, and binary files as base64, plus convert supported documents to markdown files on disk, singly or in batches. Create, overwrite, append to, find-and-replace in, copy, move and delete files and directories. List directories, create directories and show a hierarchical directory tree. Search files by glob pattern, search text inside files with line numbers, and read file or directory metadata.
When to use it
Useful when an assistant needs to work with local project or document folders: reading and editing source or text files, converting documents to markdown, or searching across a directory tree. The sandbox keeps it to directories you explicitly allow.
Requirements
Runs as a local process over stdio; needs the .NET 8.0 Runtime or later and the FieldCure.Mcp.Filesystem dotnet tool (or a build from source). Allowed directories are passed as command-line arguments and can later be replaced through the MCP roots protocol.
Before you install
It can write, overwrite, append, move and delete files and directories inside the allowed directories, so grant only folders you are willing to have changed. Markdown conversion writes new files to disk. Access is limited to the configured sandbox; an empty roots list denies all file access.

Installation

In SourceWeft

  1. Open Filesystem in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

FieldCure MCP Filesystem Server

[NuGet] [License: MIT]

A secure Model Context Protocol (MCP) server that exposes local filesystem operations to AI clients. Built with C# and the official MCP C# SDK.

Features

  • 17 filesystem tools: read, write, append, delete, search, copy, move, convert-to-markdown, and more
  • Sandboxed access: all operations restricted to explicitly allowed directories
  • MCP roots protocol: clients can change allowed directories at runtime without restarting the server
  • Security hardened: path traversal prevention, symlink resolution, NTFS ADS blocking, Windows reserved name rejection
  • Atomic writes: temp-file-then-rename pattern prevents data corruption
  • Binary detection: automatically returns base64 for binary files, UTF-8 for text
  • Built-in document parsing: supported document formats can be read directly and converted to markdown on disk
  • Stdio transport: standard MCP subprocess model via JSON-RPC over stdin/stdout

Installation

dotnet tool

bash
dotnet tool install -g FieldCure.Mcp.Filesystem

From source

bash
git clone https://github.com/fieldcure/fieldcure-mcp-filesystem.gitcd fieldcure-mcp-filesystemdotnet build

Requirements

Configuration

Claude Desktop

json
{  "mcpServers": {    "filesystem": {      "command": "fieldcure-mcp-filesystem",      "args": [        "C:\\Users\\me\\Documents",        "C:\\Projects"      ]    }  }}

VS Code

json
{  "servers": {    "filesystem": {      "command": "fieldcure-mcp-filesystem",      "args": [        "${workspaceFolder}"      ]    }  }}

Tools

File Operations

ToolDescription
read_fileRead file contents (text as UTF-8, binary as base64)
read_multiple_filesRead multiple files at once with per-file error handling
read_file_linesRead a specific range of lines
convert_to_markdownConvert one supported document file into a markdown file on disk
convert_directory_to_markdownBatch-convert supported document files in a directory to markdown files
write_fileCreate or overwrite a file with atomic write
append_fileAppend content to end of file with auto-newline
modify_fileFind and replace text (plain text or regex)
copy_fileCopy a file or directory recursively
move_fileMove or rename a file or directory
delete_fileDelete a file or directory

Directory Operations

ToolDescription
list_directoryList contents with type markers, sizes, and dates
create_directoryCreate a directory recursively
directory_treeHierarchical tree view with configurable depth

Search & Info

ToolDescription
search_filesFind files by glob pattern
search_within_filesSearch text content across files with line numbers
get_file_infoFile or directory metadata

MCP Roots Protocol

The server supports the MCP roots protocol for runtime directory changes. When the client changes roots:

  1. The server requests the updated roots list.
  2. Allowed directories are replaced entirely.
  3. CLI args provide the initial sandbox.
  4. An empty roots list means all file access is denied.

Security Model

All paths are validated through IPathValidator before any filesystem operation:

  1. Allowed directories define the sandbox boundary.
  2. . and .. are normalized via Path.GetFullPath().
  3. Symlinks must resolve within allowed directories.
  4. Prefix matching is directory-separator-aware.
  5. NTFS alternate data streams are blocked.
  6. Windows reserved names are rejected.
  7. Allowed directory updates are thread-safe.

The markdown conversion tools validate both source and output paths through the same sandbox rules. They write converted markdown directly to disk instead of returning full document text through MCP, which is usually more token-efficient than read_file plus write_file.

Project Structure

text
src/FieldCure.Mcp.Filesystem/|- Program.cs|- Security/|  |- IPathValidator.cs|  \- PathValidator.cs|- Tools/|  |- FileOperationTools.cs|  |- DirectoryTools.cs|  \- SearchTools.cs\- Utilities/   |- EncodingDetector.cs   \- FileSize.cs

Development

bash
dotnet builddotnet testdotnet pack src/FieldCure.Mcp.Filesystem -c Release

Limitations

SupportedNot Yet Supported
Text file read/write (UTF-8)Non-UTF-8 encoding auto-detection
Binary file detection + base64Streaming for very large files (>100 MB)
Atomic writesFile watching / change notifications
Glob pattern searchFull-text indexing
Regex find-and-replaceMulti-file transactional writes
Symlink resolutionCross-platform symlink creation
MCP roots protocolHTTP transport
Document text extraction / markdown conversion for formats supported by DocumentParsersOCR for scanned documents

See Also

Part of the AssistStudio ecosystem.

License

MIT

Source: README.md at commit 75e0e0c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts