Claude Code bản mặc định vẫn còn “hiền” lắm. Muốn nó lướt web, soi database, quản lý GitHub và suy nghĩ chín chắn như một lập trình viên lâu năm, anh em phải gắn thêm MCP. Tài liệu này đi chi tiết từng món: Nó làm được gì, cài bằng lệnh nào, nhờ Claude làm việc bằng câu gì, và chỗ nào cần cẩn thận.
Đọc xong, anh em sẽ:
- Hiểu MCP là gì mà không cần biết lập trình sâu.
- Cài được cả 6 MCP bằng lệnh copy sẵn (hoặc nhờ chính Claude cài giúp).
- Có sẵn câu lệnh mẫu để thử ngay từng MCP.
- Biết cách giới hạn quyền để Claude không làm bậy với file, database và kho code.
MCP là gì? Giải thích cho người mới
Claude Code, hiểu nôm na là Claude phiên bản chạy trong cửa sổ dòng lệnh (Terminal), chuyên đọc và viết code ngay trên máy anh em. Bản thân nó đã đọc, sửa file và chạy lệnh được. Nhưng nó không tự mở trình duyệt, không tự vào database, không tự biết thư viện vừa ra bản mới.
MCP (Model Context Protocol) là một “chuẩn cắm” chung giúp AI kết nối với công cụ bên ngoài[13]. Giống như cổng USB: Thiết bị nào làm theo chuẩn USB thì cắm vào máy tính nào cũng chạy. Mỗi MCP server (một chương trình nhỏ chạy nền) là một món phụ kiện: Cắm vào là Claude có thêm “tay chân” để làm một việc mới[1].
| MCP | Giống như | Claude làm thêm được |
|---|---|---|
| Playwright | Tặng Claude một trình duyệt | Mở web, bấm nút, điền form, chụp màn hình, chạy test giao diện |
| Filesystem | Chìa khoá vào đúng phòng được phép | Đọc, tìm, sửa, sắp xếp file trong thư mục chỉ định |
| Postgres | Kính hiển vi soi database | Xem cấu trúc bảng, viết và chạy SQL, tìm query chậm |
| GitHub | Trợ lý quản lý kho code | Đọc/tạo Issue, mở và review Pull Request, xem CI |
| Context7 | Thư viện tài liệu luôn cập nhật | Tra tài liệu mới nhất của React, Next.js… trước khi code |
| Sequential Thinking | Tờ nháp để nghĩ từng bước | Chia nhỏ vấn đề khó, tự kiểm tra và sửa lập luận |
Một vài từ sẽ gặp: Terminal: Cửa sổ gõ lệnh (Mac: Mở app Terminal; Windows: PowerShell). npx: Lệnh đi kèm Node.js, tự tải và chạy một công cụ mà không cần cài hẳn. Token / API key: Một chuỗi ký tự bí mật đóng vai trò “mật khẩu” để công cụ đăng nhập thay anh em. Playwright, Filesystem, Sequential Thinking và cách cài local của Context7 đều chạy bằng
npx, cần Node.js 18 trở lên[2]. Vào nodejs.org, tải bản LTS, bấm cài như app bình thường. Xong mở Terminal gõ:node -vHiện ra kiểu
v22.x.xlà được. Postgres MCP Pro viết bằng Python, chạy qua lệnhuvxcủa công cụ uv[12]. Dán lệnh tương ứng vào Terminal:
Bước 3: Hiểu câu lệnh cài MCP
Mọi MCP đều cài bằng một câu có dạng[1]:
claude mcp add [tuỳ chọn] <tên-đặt-tuỳ-ý> -- <lệnh để chạy MCP>
--scope user nghĩa là cài một lần, dùng cho mọi dự án trên máy. Không ghi thì mặc định chỉ dùng ở thư mục hiện tại. --scope project thì Claude ghi cấu hình vào file .mcp.json để cả team dùng chung.
Bước 4: Kiểm tra MCP đã chạy chưa
Gõ claude mcp list ngoài Terminal, hoặc gõ /mcp ngay trong Claude Code. MCP nào hiện connected là đã sẵn sàng.
Cách cài bất kỳ MCP nào trong tài liệu Dễ nhất
- Kéo xuống mục MCP muốn cài, bấm Copy ở ô lenh-cai.txt.
- Mở Claude Code, dán nội dung vừa copy vào khung chat, rồi nhắn: “Cài giúp chúng tôi MCP này nha, hỏi chúng tôi nếu cần token hay đường dẫn.”
- Claude sẽ tự chạy lệnh
claude mcp add. Bấm đồng ý khi nó xin phép chạy lệnh. - Thoát Claude Code rồi mở lại (gõ
/exit, sau đóclaude), gõ/mcpđể kiểm tra.
Muốn tự làm: Mở Terminal, copy từng dòng lệnh trong file lenh-cai.txt (bỏ các dòng bắt đầu bằng #), thay phần viết HOA như YOUR_API_KEY bằng thông tin của anh em, rồi Enter.
Dùng Windows?: Nếu chạy Claude Code trực tiếp trên Windows (không qua WSL), các MCP dùng
npxphải thêmcmd /cphía trước, ví dụ-- cmd /c npx @playwright/mcp@latest. Thiếu cái này thường gặp lỗi “Connection closed” khi MCP khởi động. Trước đây muốn AI xem giao diện, chúng tôi phải chụp màn hình rồi gửi. Có Playwright MCP, Claude tự mở trình duyệt, tự bấm, tự lướt và tự kiểm tra. Playwright là bộ công cụ tự động hoá trình duyệt của Microsoft. Bản MCP[2] cho Claude điều khiển Chrome/Firefox/WebKit: Vào trang, bấm nút, gõ chữ, điền form, mở nhiều tab, xem request mạng, chụp màn hình. Điểm hay là nó đọc trang qua “bản đồ cấu trúc” (accessibility snapshot) thay vì nhìn ảnh, nên nhanh và chính xác hơn việc đoán từ hình chụp. Gồm lệnh cài cho Claude Code (Mac/Linux/Windows), đoạn cấu hình JSON và 2 câu lệnh mẫu để thử ngay. microsoft/playwright-mcp · Node.js 18+ · Kho mã nguồn# Playwright MCP: Cài cho Claude Code# Yêu cầu: Node.js 18 trở lên (gõ `node -v` để kiểm tra)
# Cài cho MỌI dự án trên máy (khuyên dùng):
claude mcp add --scope user playwright -- npx @playwright/mcp@latest
# Windows (không dùng WSL) thì thêm "cmd /c" phía trước npx:
claude mcp add --scope user playwright -- cmd /c npx @playwright/mcp@latest
# Kiểm tra đã cài chưa:
claude mcp list
{ "mcpServers": { "playwright": { "command": "npx", "args": [ "@playwright/mcp@latest" ] } } }Dùng Playwright mở https://160-250-135-47.sslip.io:3000, đăng nhập bằng tài khoản [email protected] / 123456, vào trang Giỏ hàng, thêm 2 sản phẩm bất kỳ rồi bấm Thanh toán. Ghi lại bước nào bị lỗi, chụp màn hình chỗ lỗi và đề xuất cách sửa trong code. --- Mở trang chủ của chúng tôi ở khung màn hình điện thoại (390x844), kiểm tra xem có chữ nào bị tràn, nút nào bị che không. Liệt kê từng lỗi kèm vị trí.claude mcp add --scope user playwright -- npx @playwright/mcp@latestMẹo: MẹoLần đầu chạy, Playwright có thể cần tải trình duyệt. Nếu Claude báo thiếu browser, cứ nhắn: “Cài trình duyệt cho Playwright giúp chúng tôi”. Và nhớ bật web của anh em lên trước (vd npm run dev) rồi mới nhờ Claude vào kiểm tra. Cấp quyền cho Claude đọc file, tìm code, sửa lỗi và dọn dẹp thư mục, nhưng chỉ trong những thư mục anh em cho phép. Filesystem MCP[3] là server chính thức trong bộ mẫu của Model Context Protocol. Nó có sẵn các công cụ: Đọc một hoặc nhiều file, liệt kê thư mục, vẽ cây thư mục, tìm file, xem thông tin file (nhóm chỉ đọc); tạo thư mục, ghi file, sửa file, di chuyển/đổi tên (nhóm có ghi). Rào chắn an toàn: Lúc cài, anh em liệt kê những thư mục được phép. Claude chỉ thao tác trong các thư mục đó, ngoài ra không đụng tới được. Nếu ứng dụng hỗ trợ tính năng “roots”, danh sách thư mục do ứng dụng gửi sang sẽ thay thế danh sách lúc cài[3]. Claude Code vốn đã tự đọc và sửa file trong thư mục dự án mà anh em mở. Filesystem MCP phát huy nhất khi: Muốn Claude làm việc với thư mục nằm ngoài dự án (vd thư mục tài liệu, ảnh), muốn một danh sách thư mục được phép rõ ràng, hoặc dùng cùng cấu hình cho Claude Desktop, bản app chat vốn không tự đọc được file trên máy. Xem cây thư mục ~/Projects/shop, tìm tất cả chỗ đang gọi hàm formatPrice cũ,
đổi sang formatCurrency và liệt kê các file đã sửa.
Sắp xếp thư mục ~/Documents/tai-lieu: Gom file PDF vào thư mục pdf/, ảnh vào images/,
KHÔNG xoá file nào, làm xong báo lại danh sách đã di chuyển.
Lệnh cài và cấu hình Filesystem
Lệnh cài kèm ví dụ cho phép nhiều thư mục, bản Windows, và đoạn JSON dùng được cho cả Claude Desktop. modelcontextprotocol/servers · Node.js 18+ · Kho mã nguồn
# Filesystem MCP: Cài cho Claude Code# Yêu cầu: Node.js 18 trở lên
# Thay ~/Projects bằng thư mục bạn CHO PHÉP Claude đụng vào (có thể liệt kê nhiều thư mục)
claude mcp add --scope user filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Projects
# Ví dụ cho phép 2 thư mục:
claude mcp add --scope user filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Projects ~/Documents/tai-lieu
# Windows (không dùng WSL):
claude mcp add --scope user filesystem -- cmd /c npx -y @modelcontextprotocol/server-filesystem C:\Users\TEN_BAN\Projects
claude mcp list
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/ten-ban/Projects", "/duong/dan/thu-muc-khac-duoc-phep" ] } } }Đừng cấp cả ổ đĩa: Đừng cấp cả ổ đĩaChỉ cho phép đúng thư mục dự án. Tránh cấp cả thư mục người dùng (~) hay ổ C:\\, ở đó có mật khẩu, khoá SSH, file cấu hình quan trọng. Claude tự xem cấu trúc bảng, tự viết SQL, chạy query và phân tích dữ liệu, không cần anh em ngồi mô tả mớ data rối nùi. PostgreSQL (Postgres) là một hệ quản trị cơ sở dữ liệu rất phổ biến. SQL là ngôn ngữ để hỏi và sửa dữ liệu trong đó. Bản Postgres MCP gốc của nhóm Model Context Protocol hiện đã được đưa vào kho lưu trữ (archived), không còn được bảo trì[5]. Vì vậy tài liệu này dùng Postgres MCP Pro[4], bản mã nguồn mở đang được phát triển tích cực, làm được nhiều hơn: Chuỗi kết nối (DATABASE_URI) có dạng postgresql://tên-đăng-nhập:mật-khẩu@địa-chỉ:5432/tên-database. Lấy thông tin này từ nơi anh em đang host database (Supabase, Neon, máy local…). Xem cấu trúc database, vẽ giúp chúng tôi sơ đồ quan hệ giữa các bảng orders, users, products.
Doanh thu 30 ngày qua theo từng danh mục sản phẩm là bao nhiêu? Cho chúng tôi cả câu SQL đã dùng.
Trang /orders tải rất chậm. Tìm query chậm nhất liên quan tới bảng orders và đề xuất index.
Lệnh cài và cấu hình Postgres
Lệnh cài chế độ chỉ đọc (khuyên dùng), chế độ đọc/ghi cho dev, bản chạy bằng Docker, cùng đoạn cấu hình JSON. crystaldba/postgres-mcp · uv hoặc Docker · Kho mã nguồn
# Postgres MCP Pro: Cài cho Claude Code# Yêu cầu: Đã cài uv (có lệnh uvx). Cài uv:
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Thay chuỗi kết nối bằng database CỦA BẠN.
# --access-mode=restricted = chỉ ĐỌC (an toàn, khuyên dùng khi mới bắt đầu)
claude mcp add postgres --env DATABASE_URI=postgresql://username:password@localhost:5432/dbname -- uvx postgres-mcp --access-mode=restricted
# Database dev/test, muốn cho Claude sửa dữ liệu luôn:
claude mcp add postgres --env DATABASE_URI=postgresql://username:password@localhost:5432/dbname -- uvx postgres-mcp --access-mode=unrestricted
# Cách khác không cần uv: Chạy bằng Docker:
claude mcp add postgres --env DATABASE_URI=postgresql://username: [email protected]:5432/dbname -- docker run -i --rm -e DATABASE_URI crystaldba/postgres-mcp --access-mode=restricted
claude mcp list
{ "mcpServers": { "postgres": { "command": "uvx", "args": [ "postgres-mcp", "--access-mode=restricted" ], "env": { "DATABASE_URI": "postgresql://username:password@localhost:5432/dbname" } } } }Cẩn thận với database thật: Cẩn thận với database thậtVới database đang chạy cho khách hàng, luôn dùng –access-mode=restricted và tốt nhất tạo riêng một tài khoản database chỉ có quyền đọc cho Claude. Không cài bằng –scope user vì mỗi dự án có database riêng. Không dán chuỗi kết nối chứa mật khẩu thật vào file rồi đẩy lên GitHub. Kết nối thẳng Claude với GitHub: Đọc và tạo Issue, mở Pull Request, review code, xem CI, khỏi nhảy qua nhảy lại giữa terminal và trình duyệt. GitHub là nơi lưu code. Issue là phiếu ghi lỗi/việc cần làm; Pull Request (PR) là đề xuất gộp code mới vào dự án. GitHub MCP Server[6] là bản chính thức do GitHub phát triển, chia công cụ thành nhiều nhóm (toolset) như repos, issues, pull_requests, actions (CI), code_security, discussions, notifications… Đăng nhập GitHub → bấm ảnh đại diện góc trên bên phải → Settings → Developer settings → Personal access tokens → Generate new token. Chọn kho code được phép và chỉ tick quyền anh em thấy yên tâm cho AI dùng[6]. Copy token lại (chỉ hiện một lần). Thay YOUR_GITHUB_PAT bằng token vừa copy[7]: claude mcp add-json –scope user github ‘{“type”:”http”,”url”:”https://api.githubcopilot.com/mcp”,”headers”:{“Authorization”:”Bearer YOUR_GITHUB_PAT”}}’
Cách này dùng server online của GitHub, không cần cài thêm gì. Muốn chạy trên máy thì dùng bản Docker ở ô
lenh-cai.txtbên dưới.Liệt kê các issue đang mở có nhãn "bug" trong repo này, xếp theo mức độ nghiêm trọng.Sửa issue #42, tạo nhánh mới, commit và mở Pull Request kèm mô tả rõ ràng.
Review PR #57: Chỉ ra lỗi logic, chỗ thiếu test và vấn đề bảo mật nếu có.
Vì sao lần chạy GitHub Actions gần nhất bị fail? Đề xuất cách sửa.
Lệnh cài và cấu hình GitHub
Lệnh cài bản online và bản Docker, cách bật chế độ chỉ đọc, và đoạn .mcp.json dùng biến môi trường thay cho token thật. github/github-mcp-server · Cần token · Kho mã nguồn
# GitHub MCP Server (chính thức của GitHub): Cài cho Claude Code# Bước 1: Tạo Personal Access Token (PAT) tại
# https://github.com/settings/personal-access-tokens
# Chỉ tick những quyền bạn thấy yên tâm cho AI dùng.
# Bước 2: Thay YOUR_GITHUB_PAT bằng token vừa tạo rồi chạy:
claude mcp add-json --scope user github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'
# Cách khác: Chạy trên máy bằng Docker
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
# Muốn Claude chỉ ĐỌC, không được tạo/sửa gì:
# Bản online: Đổi URL thành https://api.githubcopilot.com/mcp/readonly
claude mcp add-json --scope user github '{"type":"http","url":"https://api.githubcopilot.com/mcp/readonly","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'
# Bản Docker: Thêm -e GITHUB_READ_ONLY=1
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -e GITHUB_READ_ONLY=1 -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN -e GITHUB_READ_ONLY ghcr.io/github/github-mcp-server
claude mcp list
{ "mcpServers": { "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp", "headers": { "Authorization": "Bearer ${GITHUB_PAT}" } } } }Mẹo: MẹoMới dùng thì bật chế độ chỉ đọc để Claude chỉ xem, chưa được tạo hay sửa gì: Với bản online, đổi đường dẫn thành https://api.githubcopilot.com/mcp/readonly (lệnh có sẵn ở ô lenh-cai.txt). Quen tay rồi mới mở thêm quyền. AI học từ dữ liệu cũ nên hay viết code theo phiên bản thư viện đã lỗi thời. Context7 đưa tài liệu mới nhất vào cho Claude đọc trước khi code. “Nói sảng” (hallucination) là khi AI tự tin bịa ra một hàm không tồn tại hoặc dùng cách viết đã bị bỏ. Chuyện này rất hay gặp với React, Next.js, Supabase… vì chúng cập nhật liên tục. Context7[8] của Upstash giải quyết bằng 2 công cụ: claude mcp add –scope user –header “Authorization: Bearer YOUR_API_KEY” –transport http context7 https://mcp.context7.com/mcp
Cách dùng
Thêm chữ “use context7” vào cuối câu nhờ việc[8]. Muốn chỉ đích danh thư viện thì ghi mã của nó:
Tạo middleware Next.js kiểm tra đăng nhập bằng cookie JWT, chuyển hướng về /login nếu chưa đăng nhập. use context7Viết hàm đăng ký người dùng bằng Supabase Auth. use library /supabase/supabase for API and docs.
Lệnh cài và cấu hình Context7
3 cách cài cho Claude Code (trình cài tự động, server online, chạy local) và đoạn .mcp.json dùng biến môi trường. upstash/context7 · API key miễn phí · Kho mã nguồn
# Context7 MCP: Cài cho Claude Code# Lấy API key miễn phí (tăng giới hạn lượt dùng) tại https://context7.com/dashboard
# Cách 1: Nhanh nhất, trình cài tự lo mọi thứ:
npx ctx7 setup --claude
# Cách 2: Server online (thay YOUR_API_KEY):
claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
# Cách 3: Chạy trên máy:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
claude mcp list
{ "mcpServers": { "context7": { "type": "http", "url": "https://mcp.context7.com/mcp", "headers": { "Authorization": "Bearer ${CONTEXT7_API_KEY}" } } } }Khỏi phải gõ “use context7” mỗi lần: Khỏi phải gõ “use context7” mỗi lầnThêm một dòng vào file CLAUDE.md của dự án: “Khi viết code dùng thư viện bên ngoài, luôn tra tài liệu qua Context7 trước.” Claude sẽ tự nhớ. Gặp bug khó hay kiến trúc phức tạp, đừng bắt AI trả lời liền. Bật cái này để nó chia nhỏ, suy luận từng bước và tự kiểm tra lại. Sequential Thinking[10] cho Claude một “tờ nháp” có cấu trúc. Mỗi lần gọi công cụ sequential_thinking, Claude ghi một bước suy nghĩ kèm số thứ tự, ước tính tổng số bước, và có thể: Thà chậm một chút mà chắc chắn, còn hơn trả lời nhanh mà sai bét nhè. claude mcp add –scope user sequential-thinking — npx -y @modelcontextprotocol/server-sequential-thinking
Câu lệnh mẫu
Dùng sequential thinking để tìm nguyên nhân: Thỉnh thoảng người dùng bị đăng xuất ngẫu nhiên sau khi thanh toán. Liệt kê giả thuyết, kiểm tra từng cái trong code rồi mới kết luận. Dùng sequential thinking để thiết kế lại cách lưu giỏ hàng cho 100.000 người dùng cùng lúc. So sánh ít nhất 2 phương án trước khi chọn.Lệnh cài và cấu hình Sequential Thinking
Lệnh cài (kèm bản Windows và tuỳ chọn tắt log) và đoạn cấu hình JSON. modelcontextprotocol/servers · Node.js 18+ · Kho mã nguồn
# Sequential Thinking MCP: Cài cho Claude Code# Yêu cầu: Node.js 18 trở lên
claude mcp add --scope user sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
# Windows (không dùng WSL):
claude mcp add --scope user sequential-thinking -- cmd /c npx -y @modelcontextprotocol/server-sequential-thinking
# Muốn tắt phần in log suy nghĩ ra màn hình:
claude mcp add --scope user sequential-thinking -e DISABLE_THOUGHT_LOGGING=true -- npx -y @modelcontextprotocol/server-sequential-thinking
claude mcp list
{ "mcpServers": { "sequential-thinking": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-sequential-thinking" ] } } }Kết hợp với chế độ suy nghĩ có sẵn: Kết hợp với chế độ suy nghĩ có sẵnClaude Code cũng có sẵn chế độ suy nghĩ mở rộng (extended thinking) của mô hình. Sequential Thinking khác ở chỗ các bước suy luận hiện ra rõ ràng, có đánh số, dễ theo dõi và dễ bảo Claude quay lại sửa đúng bước sai. Muốn cài hết một lượt thì dùng phần này: sáu dòng lệnh dán liên tiếp, và một file .mcp.json mẫu để cả nhóm dùng chung một bộ MCP cho dự án. File lệnh cài 6 MCP, file .mcp.json cho dự án (dùng biến môi trường, chia sẻ an toàn) và hướng dẫn sử dụng. 6 MCP · Dùng chung cho team # ============================================================
# 6 MCP “độ” Claude Code: DevPixel VN
# Mở Terminal, dán TỪNG DÒNG (bỏ các dòng bắt đầu bằng #)
# Yêu cầu: Node.js 18+ ; uv (cho Postgres) ; token GitHub ; API key Context7
# ============================================================
# 1) Playwright: Cho Claude một trình duyệt riêng
claude mcp add –scope user playwright — npx @playwright/mcp@latest
# 2) Filesystem: Thay ~/Projects bằng thư mục bạn cho phép
claude mcp add –scope user filesystem — npx -y @modelcontextprotocol/server-filesystem ~/Projects
# 3) Postgres: Thay chuỗi kết nối; restricted = chỉ đọc
claude mcp add postgres –env DATABASE_URI=postgresql://username:password@localhost:5432/dbname — uvx postgres-mcp –access-mode=restricted
# 4) GitHub: Thay YOUR_GITHUB_PAT
claude mcp add-json –scope user github ‘{“type”:”http”,”url”:”https://api.githubcopilot.com/mcp”,”headers”:{“Authorization”:”Bearer YOUR_GITHUB_PAT”}}’
# 5) Context7: Thay YOUR_API_KEY
claude mcp add –scope user –header “Authorization: Bearer YOUR_API_KEY” –transport http context7 https://mcp.context7.com/mcp
# 6) Sequential Thinking
claude mcp add –scope user sequential-thinking — npx -y @modelcontextprotocol/server-sequential-thinking
# Kiểm tra
claude mcp list
{ "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."] }, "postgres": { "command": "uvx", "args": ["postgres-mcp", "--access-mode=restricted"], "env": { "DATABASE_URI": "${DATABASE_URI}" } }, "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp", "headers": { "Authorization": "Bearer ${GITHUB_PAT}" } }, "context7": { "type": "http", "url": "https://mcp.context7.com/mcp", "headers": { "Authorization": "Bearer ${CONTEXT7_API_KEY}" } }, "sequential-thinking": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] } } }Dùng chung file .mcp.json cho cả nhóm
Chép file
.mcp.jsonở trên vào thư mục gốc của dự án, rồi khai báo biến môi trường trước khi mở Claude Code. Cách này chia sẻ được cho đồng nghiệp mà không lộ token. Trên Mac, file bắt đầu bằng dấu chấm bị ẩn, bấm Cmd + Shift + dấu chấm để hiện. Sau khi chép file vào dự án, chạyexport GITHUB_PAT=...,export CONTEXT7_API_KEY=...,export DATABASE_URI=...rồi mở Claude Code trong thư mục đó và bấm đồng ý cho các MCP của dự án. Gõ/mcpđể xem trạng thái.
Đừng commit token thật: File mẫu chỉ dùng dạng
${TEN_BIEN}nên chia sẻ an toàn. Nếu dán thẳng token vào rồi đẩy lên GitHub là mất token ngay.
Dùng file .mcp.json cho cả team Dễ nhất
- Giải nén, chép file du-an-mau/.mcp.json vào thư mục gốc của dự án. (Mac ẩn file bắt đầu bằng dấu chấm, bấm Cmd + Shift + . để thấy.)
- Mở Claude Code trong dự án, kéo file DOC-TRUOC.txt vào chat và nhắn: “Giúp chúng tôi đặt các biến môi trường và bật các MCP này.”
- Khi Claude Code hỏi có tin tưởng các MCP của dự án không, chọn đồng ý. Gõ
/mcpđể kiểm tra.
File .mcp.json dùng cú pháp ${TEN_BIEN} nên có thể đẩy lên GitHub mà không lộ token[1].
An toàn và xử lý lỗi thường gặp
Quy tắc an toàn: Chỉ cài MCP từ nguồn tin cậy (các repo trong tài liệu này đều là bản chính thức hoặc mã nguồn mở phổ biến). Cấp quyền ít nhất có thể: Thư mục cụ thể, database chỉ đọc, token GitHub giới hạn repo. Cẩn thận khi cho Claude lướt web lạ bằng Playwright, trang web có thể chứa nội dung cố tình “dụ” AI làm việc khác[1].
| Hiện tượng | Cách xử lý |
|---|---|
command not found: Claude |
Chưa cài Claude Code, hoặc cần mở lại Terminal sau khi cài. |
npx: Command not found |
Chưa cài Node.js, làm lại bước 1 phần Chuẩn bị. |
MCP hiện failed trong /mcp |
Thoát và mở lại Claude Code. Vẫn lỗi thì chụp màn hình, dán vào chat nhờ Claude xem. |
| Lỗi “Connection closed” trên Windows | Thêm cmd /c trước npx trong lệnh cài. |
| GitHub báo 401 / Unauthorized | Token sai hoặc hết hạn, tạo token mới, gỡ bằng claude mcp remove github rồi cài lại. |
| Postgres không kết nối được | Kiểm tra lại chuỗi DATABASE_URI; nếu chạy bằng Docker thì thay localhost bằng host.docker.internal. |
| Claude không dùng MCP dù đã cài | Gọi tên trong câu lệnh: “dùng Playwright…”, “use context7”, “dùng sequential thinking…”. |
Gỡ MCP không dùng nữa: Gõ
claude mcp remove <tên>, ví dụclaude mcp remove playwright. Cài quá nhiều MCP cùng lúc làm Claude tốn thêm bộ nhớ ngữ cảnh, chỉ bật những món thật sự cần cho dự án.
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ góc nhìn!