Przejdź do głównej zawartości

Operacje na plikach przez MCP

Twoje AI potrafi wygenerować idealną funkcję pomocniczą, ale jeśli nie może utworzyć pliku i umieścić go we właściwym katalogu, nadal kopiujesz i wklejasz. Luka między “AI sugeruje kod” a “AI aplikuje zmiany w Twoim projekcie” jest wypełniana przez dostęp do systemu plików. Prawidłowe ustawienie to balansowanie między mocą a bezpieczeństwem — AI powinno modyfikować tylko to, co zamierzasz.

  • Konfiguracja oficjalnego serwera Filesystem MCP z właściwym scoping’iem katalogów
  • Zrozumienie, kiedy używać Desktop Commander zamiast oficjalnego serwera
  • Wzorce bezpieczeństwa dla ograniczania dostępu do zapisu w środowiskach zespołowych
  • Prompty wykorzystujące dostęp do systemu plików do prawdziwych workflow refaktoryzacji

Referencyjna implementacja zapewnia ustrukturyzowane operacje na plikach: czytanie, pisanie, tworzenie, usuwanie, przenoszenie i wyszukiwanie. Wymusza granice allowed_directories — AI nie może dotknąć niczego poza ścieżkami, które określisz.

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y", "@modelcontextprotocol/server-filesystem",
"/Users/you/projects/my-app"
]
}
}
}

Serwer udostępnia następujące narzędzia: read_file, write_file, create_directory, list_directory, move_file, search_files, get_file_info i read_multiple_files. Każde narzędzie operuje wyłącznie w ramach dozwolonych katalogów.

Gdy potrzebujesz więcej niż operacji na plikach — komend terminala, zarządzania procesami, wyszukiwania ripgrep — Desktop Commander jest alternatywą dla power userów. Uruchamia dowolne komendy shell, zarządza procesami w tle i zapewnia zaawansowane wyszukiwanie tekstu.

{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["-y", "@wonderwhy-er/desktop-commander"]
}
}
}

Gdy wielu deweloperów współdzieli konfigurację MCP, wymuszaj następujące granice:

  • Ogranicz do katalogów projektu. Nigdy nie zezwalaj na katalogi domowe, /tmp ani ścieżki systemowe.
  • Używaj trybu read-only dla współdzielonych serwerów. Jeśli potrzebujesz tylko, aby AI analizowało kod, ogranicz operacje zapisu.
  • Commituj .cursor/mcp.json do repozytorium, aby zespół współdzielił tę samą ograniczoną konfigurację. Trzymaj klucze API w zmiennych środowiskowych, nie w pliku konfiguracyjnym.
  • Preferuj Claude Code do pracy z systemem plików — jego wbudowane narzędzia już wymuszają scoping na poziomie projektu i wymagają jawnej zgody na operacje destrukcyjne.

Błędy “Permission denied”. Serwer działa jako Twój użytkownik. Jeśli plik należy do root lub innego użytkownika, serwer MCP nie może go czytać ani zapisywać. Napraw uprawnienia plików lub uruchom w kontenerze.

AI tworzy pliki w nieoczekiwanych lokalizacjach. Dzieje się tak, gdy AI źle interpretuje ścieżkę względną. Zawsze używaj ścieżek absolutnych w konfiguracji allowed_directories.

Czytanie dużych plików przekracza timeout. Serwer filesystem czyta całe pliki do pamięci. Dla plików większych niż kilka megabajtów użyj read_multiple_files z konkretnymi zakresami linii lub przejdź na podejście search-first z search_files.