Přeskočit na obsah

Filesystem MCP — bezpečný přístup k vlastním souborům

⏱ Odhadovaný čas 45 min
📍 Pozice Den 7, blok 2 / 7
🎯 Po tomto bloku budeš umět
  • Filesystem MCP nainstalovaný — `/mcp` ho ukazuje
  • CC čte tvé Documents/ — vyzkoušel/a jsi alespoň 2 reálné dotazy
  • Pochopil(a) jsi sandboxing — proč MCP server vyžaduje EXPLICIT path scope

🎯 Co Filesystem MCP umí

Sekce “🎯 Co Filesystem MCP umí”

Bezpečný (sandboxed) přístup k souborům na disku. CC umí:

  • 📂 Vypsat soubory v povolené složce
  • 📖 Přečíst obsah souboru (txt, md, pdf, docx, json…)
  • ✏️ Zapsat / upravit soubor
  • 🔍 Hledat textové vzory napříč soubory

Klíčový bezpečnostní detail: Filesystem MCP fundamentálně NEMŮŽE sahat na soubory mimo cesty, které mu explicit povolíš. Pokud zadáš jen Documents/, agent ti ani omylem nemůže číst z Pictures/ nebo Downloads/. To je fíčura, ne omezení.

💡 Proč je to důležité: v Dne 3 jsi se učil/a „nikdy nespouštěj claude v home folderu — bezpečnost”. Filesystem MCP je kompromis — dostaneš přístup k některým složkám, ale explicit kontrolovaným.


V PowerShellu (NE v claude):

Terminál
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem "%USERPROFILE%\Documents" "%USERPROFILE%\Desktop"

Co to dělá:

  • claude mcp add filesystem — přidá MCP server pojmenovaný „filesystem”
  • -s user — globální scope (napříč projekty, jako Memory)
  • -- — separator (povinné!)
  • npx -y @modelcontextprotocol/server-filesystem — oficiální Anthropic balíček
  • Poslední 2 argumenty — povolené cesty: Documents a Desktop

🔒 Cokoli mimo tyhle 2 cesty zůstane CC neviditelné. Pokud chceš později přidat Pictures/, musíš upravit config.

Terminál
claude mcp list

Výstup ukáže filesystem v seznamu. Spusť claude v projektové složce, pošli /mcp — vidíš filesystem (a memory)? ✅

⚠️ Pokud npx selže s permission errorem nebo path issue (diakritika v username): stejná recovery jako z Dne 5 — npm cache na ASCII (mkdir C:\npm-cache, npm config set cache C:\npm-cache), pak retry.


2. První use case (15 min) — vypiš mi co mám

Sekce “2. První use case (15 min) — vypiš mi co mám”
  1. Vyzkoušej list v Claude Code chat (Memory + Filesystem oba aktivní):

    Použij filesystem MCP a vypiš mi všechny soubory v ~/Documents/maturita/
    (rekurzivně, do hloubky 2). U každého souboru řekni jméno + velikost +
    krátký guess co tam je podle jména.
  2. Sleduj:

    • Tool call indikátor: ⏺ list_directory(...) nebo podobné
    • CC postupně volá tool několikrát (1 list per složka)
    • Výstup: tabulka / seznam tvých souborů
  3. Pokud cesta neexistuje (CC vrátí „directory not found”):

    • V ~/Documents/ neexistuje maturita/ resp. anglictina/ složka
    • Vytvoř ji (mkdir $HOME\Documents\maturita -Force) a dej tam pár testovacích souborů, pak retry
  4. Pokud cesta není povolená (CC vrátí „path not allowed”):

    • V claude mcp add jsi povolil/a jen Documents + Desktop — pokud zkusíš ~/Pictures/, dostaneš tento error
    • Tohle je fíčura, ne bug — sandbox funguje. Pokud chceš přidat cestu, znovu claude mcp remove filesystem + claude mcp add s novými cestami

3. Praktická úloha (15 min)

Sekce “3. Praktická úloha (15 min)”

Use case: najdi v poznámkách materiál ke konkrétnímu tématu.

Použij filesystem MCP. Najdi v ~/Documents/maturita/ všechny soubory, které
zmiňují "Třicetiletá válka" (nebo jiné tvé slabé téma). Pro každý soubor:
- Jméno
- Krátké shrnutí (3 věty)
- 1 fakt z toho souboru, který bys neměl/a zapomenout
Pokud máš PDF nebo Word, předpokládej že CC umí přečíst plain text. Pokud ne,
přeskoč.

Sleduj:

  • ⏺ search_files(...) nebo ⏺ read_file(...) tool calls
  • Pokud nemáš poznámky k danému tématu, použij jiné téma které máš
  • Výsledek: shrnutí tvých vlastních materiálů, bez toho, abys je ručně otevíral/a

Do zaznamy.md v projektové složce:

  1. Filesystem MCP funguje: ✅ / ❌
  2. Tool call indikátor: Viděl/a jsi v UI ⏺ list_directory(...) / ⏺ read_file(...)?
  3. Sandbox demonstrace: Zkusil/a jsi nějakou cestu mimo povolenou (např. ~/Pictures/)? Co se stalo?
  4. Insight z tvých souborů: Co tě překvapilo na výstupu? Bylo to užitečné?

SymptomŘešení
claude mcp add selže (npm permission)PowerShell jako Admin / npm config set prefix $HOME\.npm-global (z Dne 5)
NPX delay 30-90 sTrpělivost, neukončuj Ctrl+C (z Dne 4 lekce)
/mcp neukazuje filesystem/exit + claude znovu (CC načítá MCP při startu, z Dne 4)
Diakritika v username + npx failnpm cache na ASCII (C:\npm-cache, z Dne 5 lektor materiálu)
„Path not allowed” errorCesta není v claude mcp add allowed paths. claude mcp remove filesystem + add s novými cestami
„Directory not found”Cesta povolená, ale neexistuje. Vytvoř (mkdir) nebo zvol existující cestu
Nemůže přečíst PDF / DOCXFilesystem MCP umí read text formats spolehlivě (txt, md, json). Pro binární formáty potřebuje agent extra tools

🧪 Checkpoint 60 min (od začátku dne)

Sekce “🧪 Checkpoint 60 min (od začátku dne)”
  • claude mcp list ukazuje filesystem
  • V Claude Code /mcp vidíš filesystem ✅
  • Dvě praktické úlohy proběhly — vidíš tool calls + výstupy
  • Rozumíš sandbox principu (path scope = security feature)
  • Reflexe v zaznamy.md (4 otázky)

Pokračovat na blok 02: Fetch MCP →