TROISINH
Sử dụng thực chiếnMCP — Kết nối công cụ bên ngoài

MCP Filesystem: Claude Code xử lý file hàng loạt, an toàn không cần shell

Không còn sợ lệnh rm -rf oan nghiệt. MCP Filesystem giúp Claude Code đọc, ghi và tìm kiếm file hàng loạt qua giao thức chuẩn, giới hạn quyền truy cập chặt chẽ như vùng cách ly.

Định nghĩa

MCP Filesystem là MCP Server chính thức từ Anthropic, cho phép Claude Code thao tác với hệ thống file qua giao thức JSON-RPC 2.0—đọc, ghi, di chuyển, tìm kiếm—thay vì phải tự viết shell commands. Hãy tưởng tượng bạn đưa cho AI một "chiếc chìa khóa vạn năng" nhưng đã cắt bớt răng, chỉ mở được đúng các ngăn tủ bạn chỉ định, thay vì đưa cả két sắt nhà bạn.

Giải thích chi tiết

Ba thành phần: Đọc thôi, Ghi được, và Gợi ý thông minh

MCP Filesystem chia thành ba lớp để AI biết đâu là "chỉ được ngó", đâu là "được phép đụng vào":

  • Resources (Chỉ đọc): Claude có thể xem nội dung file text, check metadata, nhưng không làm thay đổi gì. Như kiểu mở tủ kính ngắm đồ.
  • Tools (Có quyền ghi): Các thao tác tạo file, xóa file, di chuyển folder. Mỗi tool đều có JSON Schema riêng—Claude phải điền đúng form mới thực thi, ngăn chặn việc AI "nghĩ bậy" rồi xóa nhầm.
  • Prompts (Workflow mẫu): Các template tái sử dụng, ví dụ "backup trước khi sửa" hay "tìm tất cả file chứa mật khẩu hardcode để báo cáo".

Cơ chế "Parameterized Query"—Tách ý định ra khỏi cơ chế

Thay vì Claude tự viết lệnh shell dạng string (và dễ bị lỗi injection giống SQL injection), MCP Filesystem dùng mô hình giống parameterized query. Claude gọi hàm với arguments kiểu JSON:

{"path": "src/config.json", "content": "{\"api_key\": \"xxx\"}"}

Server sẽ tự động kiểm tra: path có nằm trong whitelist không (chặn ../../etc/passwd), schema có đúng không, rồi mới thực thi. Ý định và cơ chế tách biệt rõ ràng—AI chỉ nói "tôi muốn ghi file này", còn việc ghi thế nào, có được phép không, là việc của server.

Vùng cách ly qua whitelist

Đây là điểm mạnh nhất của MCP Filesystem so với Bash tool thông thường:

  • Whitelist: Khi khởi động server, bạn chỉ định đúng 1-2 thư mục được phép truy cập (ví dụ: ./project hoặc ~/Documents/Work). Mọi thao tác ra ngoài vùng này đều bị từ chối ngay lập tức.
  • Sandbox: MCP Server hoạt động như container riêng, ngay cả khi Claude bị jailbreak hay hallucinate lệnh nguy hiểm, nó cũng không thể chạm vào file hệ thống hay rm -rf /.

Tự khám phá và xử lý hàng loạt

  • Discovery: Claude gọi tools/list để biết mình được quyền làm gì (read, write, search), không cần bạn nhớ tài liệu API.
  • Batch operations: Hỗ trợ đọc song song 20 file cùng lúc (read_multiple_files) và tìm kiếm recursive (search_files), tiết kiệm context window hơn hẳn việc chạy cat từng file qua Bash tool rồi parse text thô.

Ví dụ thực tế

Chủ shop Shopee dọn kho ảnh sản phẩm

Bạn nhập 500 ảnh từ xưởng may với tên kiểu IMG_20240101_123456.jpg, cần đổi thành quan-jean-nam-xxx-size-30.jpg để upload lên Shopee. Thay vì viết script Bash phức tạp hay đổi tên tay mỏi cả tay, bạn nói với Claude:

"Dùng MCP Filesystem đổi tên tất cả ảnh trong assets/products/jan-2025/ theo pattern sp-{category}-[stt].jpg, giữ nguyên extension. Nếu file nào lớn hơn 2MB thì báo tôi trước khi đổi."

Claude sẽ:

  1. Gọi list_directory lấy danh sách.
  2. Dùng read_file kiểm tra metadata kích thước.
  3. Thực thi move_file từng file một với xác nhận, hoặc tạo plan để bạn approve trước khi chạy—tất cả nằm gọn trong whitelist ./assets, không lo ảnh hưởng đến file hệ thống.

Dev startup fintech refactor module VietQR

Team bạn đang chuyển codebase xử lý thanh toán VietQR từ JavaScript sang TypeScript. Cần tìm tất cả file .jsx trong src/payments/, đổi thành .tsx, và kiểm tra xem có import nào bị lỗi path không.

Claude dùng search_files với pattern .*\.jsx$ để liệt kê, read_file kiểm tra nội dung import, sau đó write_file lưu lại với extension mới—không cần chạy find | xargs sed rồi ngồi dò lỗi.

Agency quản lý asset cho chiến dịch Grab

Bạn là designer đồ hoạ cho agency chạy campaign GrabFood. Mỗi tuần có 20 file PSD, 50 ảnh PNG từ designer khác nhau rải rác trong Downloads/, cần chuyển vào Projects/Grab-2025-Q1/{ngày-tháng}/.

Cấu hình MCP Filesystem chỉ truy cập ~/Projects/~/Downloads/. Claude tự động:

  • Quét file mới trong Downloads có tên chứa "Grab".
  • Di chuyển vào đúng thư mục theo ngày tạo file.
  • Tạo file inventory.txt liệt kê tất cả asset đã sắp xếp để gửi account manager.

Ứng dụng

Developer (Frontend/Backend)

  • Refactor hàng loạt: Đổi tên biến user_id thành customerId xuyên suốt 30 file trong dự án Node.js mà không cần mở VS Code.
  • Khám phá codebase: Tìm tất cả nơi dùng hàm calculateVat() deprecated trước khi xóa, tránh break tính năng thanh toán VietQR.
  • Scaffold nhanh: Tạo cấu trúc thư mục chuẩn cho microservice mới (api/, tests/, docs/) chỉ bằng một câu mô tả.

Product Manager và Data Analyst

  • Tổng hợp báo cáo: Gom các file CSV doanh thu từ Shopee, Lazada, TikTok Shop trong thư mục reports/2025-Q1/ thành một file tong-hop.csv, tự động thêm cột platform để phân biệt nguồn.
  • Audit tài liệu: Theo dõi sự thay đổi của file specs-vietqr-v2.md qua các phiên bản bằng cách đọc diff và lưu changelog cho stakeholder.

Non-coder (Creator, Designer)

  • Dọn dẹp content: Creator TikTok có 1000 video draft trong máy, Claude tự phân loại vào thư mục theo trend (dance, review, vlog) dựa trên tên file.
  • Chuẩn hóa portfolio: Đổi tên file từ "final_final_v2_sua_lai.psd" thành "brand-grab-campaign-tet-2025.psd" cho chuyên nghiệp khi gửi khách hàng.

Team Lead và DevOps

  • Template đồng bộ: Triển khai file CLAUDE.md và cấu trúc thư mục chuẩn cho cả team outsourcing làm việc với khách hàng Nhật Bản, đảm bảo mọi dự ên bắt đầu giống nhau.
  • Automation an toàn: Cho phép junior dev dùng AI xử lý file production mà không lo lệnh rm nguy hiểm, nhờ cơ chế whitelist giới hạn chỉ trong /var/www/project.

So sánh

Tiêu chíMCP FilesystemShell Commands (Bash tool)Native File API (Node.js)
An toànCao (whitelist, chặn path traversal)Thấp (full quyền user, dễ lỗi rm -rf)Trung bình (tùy implementation)
Tính chuẩn hóaCao (JSON-RPC 2.0, dùng được mọi MCP client)Không (tùy OS, tùy shell)Thấp (mỗi ngôn ngữ khác nhau)
AI tự khám pháCó (Claude query tools/list)Không (cần biết lệnh trước)Không (cần đọc docs)
Xử lý hàng loạtNative (đọc 20 file cùng lúc)Cần pipe/script phức tạpCần viết loop thủ công
Cài đặtMột lần, dùng mãiCó sẵnCần viết wrapper
Context WindowTiết kiệm (kết quả structured)Phung phí (text thô cần parse)Tùy thuộc code

Kết luận: MCP Filesystem là lựa chọn tối ưu khi cần an toàn và cấu trúc trong thao tác file với AI. Shell commands phù hợp tác vụ one-off nhanh, nhưng MCP mang lại sự tin cậy cần thiết cho automation dài hạn—đặc biệt khi bạn không muốn AI vô tình xóa mất folder node_modules hay file .env quan trọng.

Bài viết liên quan

Cùng cụm (MCP)

Đọc tiếp

On this page