MCP Filesystem Server

MIT License
49
7
  • Linux
  • Apple

Integrations

  • Provides containerized deployment of the MCP server, with support for mounting host directories as read-only or read-write volumes, allowing secure file operations from within Docker containers.

:bookmark: Über

Der MCP Filesystem Server bietet sicheren Dateisystemzugriff für KI-Modelle über das Model Context Protocol. Er erzwingt eine strikte Pfadvalidierung und erlaubt nur den Zugriff auf vordefinierte Verzeichnisse.

:computer: Technologien

:Schraubenschlüssel: Werkzeuge

:Paket: Installation

:heavy_check_mark: Voraussetzungen

Folgende Software muss installiert sein:

:arrow_down: Das Repository wird geklont

$ git clone https://github.com/gabrielmaialva33/mcp-filesystem.git $ cd mcp-filesystem

:arrow_forward: Ausführen der Anwendung

Lokale Entwicklung
# Install dependencies $ pnpm install # Build the application $ pnpm build # Run the server (specify directory to allow access to) $ pnpm start /path/to/allowed/directory # Or use configuration file $ pnpm start --config=config.json
Verwenden des NPM-Pakets
# Install globally $ npm install -g @gabrielmaialva33/mcp-filesystem # Run the server $ mcp-filesystem /path/to/allowed/directory # Or use with npx (no installation needed) $ npx @gabrielmaialva33/mcp-filesystem /path/to/allowed/directory # Create a sample configuration file $ npx @gabrielmaialva33/mcp-filesystem --create-config=config.json
Verwenden von Docker
# Build the Docker image $ docker build -t gabrielmaialva33/mcp-filesystem . # Run using Docker $ docker run -i --rm -v /path/to/data:/data:ro gabrielmaialva33/mcp-filesystem /data # Use with config file $ docker run -i --rm -v /path/to/config.json:/app/config.json -v /path/to/data:/data gabrielmaialva33/mcp-filesystem --config=/app/config.json
Verwenden von Docker Compose
# Create a data directory $ mkdir -p data # Start the server $ docker-compose up -d

:gear: Verwendung

Verwendung mit Claude Desktop

Claude Desktop kann so konfiguriert werden, dass dieser MCP-Server für den Dateisystemzugriff verwendet wird. Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:

Lokale Installation verwenden (empfohlen)
{ "mcpServers": { "filesystem": { "command": "mcp-filesystem", "args": [ "/Users/gabrielmaia/Documents", "/Users/gabrielmaia/Desktop", "/Users/gabrielmaia/Downloads" ] } } }

Stellen Sie sicher, dass die ausführbare Datei global verfügbar ist:

# Make the binary executable chmod +x /Users/gabrielmaia/.nvm/versions/node/v22.14.0/bin/mcp-filesystem
Verwenden von NPX
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@gabrielmaialva33/mcp-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } } }
Verwenden von Docker

Hinweis: Bei Verwendung von Docker müssen alle Verzeichnisse standardmäßig in /projects eingebunden sein. Durch Hinzufügen des Flags ro wird das Verzeichnis schreibgeschützt.

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop", "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro", "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt", "gabrielmaialva33/mcp-filesystem", "/projects" ] } } }

Verfügbare Tools

Der MCP-Dateisystemserver bietet diese Tools:

Dateisystemvorgänge
  • read_file : Liest den Inhalt einer Datei
  • read_multiple_files : Mehrere Dateien gleichzeitig lesen
  • write_file : Erstellen oder überschreiben Sie eine Datei
  • edit_file : Nehmen Sie präzise Änderungen mit der Diff-Vorschau vor
  • create_directory : Verzeichnisse rekursiv erstellen
  • list_directory : Verzeichnisinhalte auflisten
  • directory_tree : Holen Sie sich eine rekursive Baumansicht
  • move_file : Dateien verschieben oder umbenennen
  • search_files : Findet Dateien, die Mustern entsprechen
  • get_file_info : Dateimetadaten abrufen
  • list_allowed_directories : Zugängliche Verzeichnisse anzeigen
System- und Netzwerkbetrieb
  • get_metrics : Server-Leistungsmetriken anzeigen (v0.3.0+)
  • execute_command : Systembefehle sicher ausführen (v0.3.1+)
  • curl_request : Führt HTTP-Anfragen an externe APIs aus (kommt in v1.2.0)
Verwenden des curl_request-Tools (kommt in v1.2.0)

Mit dem Tool curl_request können Sie HTTP-Anfragen an externe APIs stellen:

// Example: Making a GET request with authentication curl_request({ url: 'https://api.example.com/data', method: 'GET', headers: { Authorization: 'Bearer your_token_here', }, }) // Example: POST request with JSON data curl_request({ url: 'https://api.example.com/create', method: 'POST', headers: { 'Content-Type': 'application/json', }, data: '{"name":"Example","value":123}', })

Ausführlichere Beispiele finden Sie in der Datei docs/curl-tool-examples.md .

:sparkles: Funktionen

Kernfunktionen

  • Sicherer Zugriff : Strenge Pfadvalidierung verhindert unbefugten Zugriff
  • Dateioperationen : Dateien lesen, schreiben, bearbeiten und verschieben
  • Verzeichnisoperationen : Erstellen, Auflisten, Abrufen von Baumansichten und Durchsuchen von Verzeichnissen
  • Metadatenzugriff : Datei- und Verzeichnisinformationen anzeigen
  • Befehlsausführung : Sichere Ausführung von Systembefehlen mit strenger Validierung
  • Docker-Unterstützung : Einfache Bereitstellung mit Docker und Docker Compose

Neue Funktionen in v0.3.0

  • Strukturiertes Logging : Detailliertes Logging mit verschiedenen Ebenen (Debug, Info, Warnung, Fehler)
  • Leistungsmetriken : Verfolgen Sie die Anzahl der Vorgänge, Fehler und Ausführungszeiten
  • Konfigurationsverwaltung : Unterstützung für JSON-Konfigurationsdateien
  • Pfad-Caching : Verbesserte Leistung für häufig aufgerufene Pfade
  • Verbesserte Fehlerbehandlung : Spezialisierte Fehlertypen mit strukturierten Informationen
  • Validierung der Dateigröße : Verhindern Sie das Laden übermäßig großer Dateien
  • CLI-Verbesserungen : Hilfebefehl, Versionsinformationen und Konfigurationsgenerierung

Konfigurationsoptionen

Sie können eine Konfigurationsdatei erstellen mit:

$ mcp-filesystem --create-config=config.json

Beispielkonfiguration:

{ "allowedDirectories": ["/path/to/allowed/dir1", "/path/to/allowed/dir2"], "logLevel": "info", "logFile": "/path/to/logs/mcp-filesystem.log", "serverName": "secure-filesystem-server", "serverVersion": "0.3.0", "cache": { "enabled": true, "maxSize": 1000, "ttlMs": 60000 }, "metrics": { "enabled": true, "reportIntervalMs": 60000 }, "security": { "maxFileSize": 10485760, "allowSymlinks": true, "validateRealPath": true } }

:writing_hand: Autor

Gabriel Maia

Lizenz

MIT-Lizenz

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein sicherer Model Context Protocol-Server, der kontrollierten Dateisystemzugriff innerhalb vordefinierter Verzeichnisse bietet und es KI-Modellen ermöglicht, Datei- und Verzeichnisoperationen mit strenger Pfadvalidierung durchzuführen.

  1. :computer: Technologien
    1. :Schraubenschlüssel: Werkzeuge
      1. :Paket: Installation
        1. :heavy\_check\_mark: Voraussetzungen
        2. :arrow\_down: Das Repository wird geklont
        3. :arrow\_forward: Ausführen der Anwendung
      2. :gear: Verwendung
        1. Verwendung mit Claude Desktop
        2. Verfügbare Tools
      3. :sparkles: Funktionen
        1. Kernfunktionen
        2. Neue Funktionen in v0.3.0
        3. Konfigurationsoptionen
        4. :writing\_hand: Autor
      4. Lizenz

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that provides secure and intelligent interaction with files and filesystems, offering smart context management and token-efficient operations for working with large files and complex directory structures.
          Last updated -
          5
          Python
          MIT License
          • Apple
          • Linux
        • -
          security
          -
          license
          -
          quality
          A redesigned Model Context Protocol server that enables AI models to access filesystems through privacy-preserving path aliases with an optimized 6-function API interface.
          Last updated -
          TypeScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that extends AI capabilities by providing file system access and management functionalities to Claude or other AI assistants.
          Last updated -
          3
          TypeScript
          • Apple
        • A
          security
          A
          license
          A
          quality
          A server implementing the Model Context Protocol that provides filesystem operations (read/write, directory management, file movement) through a standardized interface with security controls for allowed directories.
          Last updated -
          9
          3
          TypeScript
          MIT License

        View all related MCP servers

        ID: f72blrvat4