
Tích hợp MCP: kết nối Claude Code với công cụ ngoài
Cấu hình các MCP server (database, Playwright, API) để mở rộng năng lực của Claude Code vượt ra ngoài codebase.
Claude Code rất mạnh mẽ khi làm việc với codebase, nhưng mặc định nó bị cô lập. Bạn không thể yêu cầu nó kiểm tra dữ liệu trong database production hay chạy một kịch bản test E2E. Đây là lúc MCP (Model Context Protocol) phát huy tác dụng. Bài viết này sẽ hướng dẫn bạn tích hợp hai loại MCP server quan trọng nhất: database connector để truy vấn dữ liệu trực tiếp, và Playwright để tự động hóa trình duyệt. Mình sẽ đi qua các bước cài đặt và cấu hình cụ thể để bạn mở rộng năng lực của Claude.
Claude Code là gì và tại sao cần đến MCP?
Claude Code là một AI agent lập trình mạnh mẽ, có khả năng đọc hiểu toàn bộ codebase. Nó có thể tự lập kế hoạch thay đổi phức tạp, viết và gỡ lỗi code, chạy lệnh và lặp lại các tác vụ trong nhiều giờ [F2]. Gần đây, Claude Code còn được nâng cấp với tính năng "dynamic workflows", cho phép nó điều phối các tác nhân phụ để xử lý các tác vụ lớn, phân phối công việc và xác minh kết quả đầu ra [F3].
Tuy nhiên, sức mạnh này bị giới hạn trong môi trường mà Claude Code được khởi chạy. Nó không thể tự truy cập database, gọi các API bên ngoài hay kiểm tra một website mà không có sự hỗ trợ. Đây là lúc Model Context Protocol (MCP) phát huy vai trò của mình.
MCP là một giao thức mở cho phép Claude Code kết nối và sử dụng các công cụ (tools) bên ngoài thông qua các server chuyên dụng [F1]. Bạn có thể hình dung MCP như một cây cầu nối Claude Code với thế giới bên ngoài, cho phép nó tích hợp với các hệ thống như cơ sở dữ liệu, Playwright hay các API khác [F1]. Điều này giúp Claude Code thực hiện các tác vụ vượt ra ngoài codebase cốt lõi của nó [F1].
Điều quan trọng là phải phân biệt MCP với khả năng của Claude Code trong việc sử dụng máy tính cục bộ (như mở file hay chạy dev tools trên macOS). MCP tập trung vào việc kết nối Claude Code tới các dịch vụ server-side. Trong bối cảnh Anthropic đã khôi phục việc sử dụng agent bên thứ ba, việc phát triển và chia sẻ các MCP server trở nên quan trọng, giúp cộng đồng lập trình viên mở rộng đáng kể khả năng của Claude Code.

🔧 Hướng dẫn tích hợp MCP Server đầu tiên: Database Connector
MCP server cho phép Claude Code kết nối với các công cụ bên ngoài như cơ sở dữ liệu hoặc API [F1]. Một trong những use case phổ biến nhất là cho phép Claude Code truy vấn trực tiếp database để lấy dữ liệu test hoặc kiểm tra trạng thái ứng dụng. Thay vì copy-paste dữ liệu người dùng từ DBeaver vào prompt, bạn có thể ra lệnh: "Tìm 5 user đăng ký trong tuần qua và tạo một file seed.ts từ họ."
Để bắt đầu, mình sẽ hướng dẫn bạn cài đặt một MCP server có sẵn cho database. Ví dụ, bạn có thể sử dụng server PostgreSQL từ cộng đồng. Mở terminal và chạy lệnh sau:
npx -y @mcp-community/server-postgresLệnh này sẽ khởi động một MCP server cục bộ, thường chạy trên cổng 3434. Sau khi server chạy, bạn cần cấu hình Claude Code để trỏ tới endpoint này. Trong giao diện Claude Code, hãy tìm phần cài đặt MCP server và thêm địa chỉ `http://localhost:3434`.
MCP server này sẽ expose các tool cho Claude Code thông qua JSON schema. Ví dụ, nó có thể cung cấp một tool `execute_sql` như sau. Claude sẽ nhận diện schema này và biết cách gọi tool khi bạn yêu cầu thực hiện các tác vụ liên quan đến SQL.
{
"name": "execute_sql",
"description": "Execute an SQL query against the database and return the results.",
"input_schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The SQL query to execute."
}
},
"required": ["query"]
}
}🚀 Nâng cao năng lực: Dùng Playwright để Claude tự động hóa trình duyệt
Một trong những khả năng mạnh mẽ nhất của việc tích hợp Claude Code với các công cụ bên ngoài là tự động hóa trình duyệt. Điều này mở ra cánh cửa cho Claude thực hiện các tác vụ kiểm thử End-to-End (E2E) hoặc tự động hóa các thao tác web phức tạp.
Hãy hình dung một kịch bản: bạn muốn Claude tự động kiểm tra quy trình đặt hàng trên trang staging. Claude có thể nhận yêu cầu như "Vào trang staging, đăng nhập với tài khoản test, đi đến trang sản phẩm, thêm 3 sản phẩm vào giỏ hàng và xác nhận tổng tiền đúng là 1,250,000đ." Claude Code là một tác nhân AI lập trình có khả năng đọc toàn bộ codebase, lập kế hoạch thay đổi phức tạp, tự động viết và gỡ lỗi code, chạy lệnh và lặp lại các tác vụ trong nhiều giờ [F2].
Để làm được điều này, chúng ta cần một MCP server cho Playwright. Việc cài đặt và chạy server này thường rất đơn giản, chỉ với một lệnh `npx` tương tự như các MCP server khác.
npx -y @modelcontextprotocol/server-playwrightSau khi server Playwright được kích hoạt, Claude Code có thể sử dụng các tool cơ bản như `goto(url)` để điều hướng đến một trang, `fill(selector, text)` để điền dữ liệu vào form, `click(selector)` để tương tác với các phần tử, `screenshot(path)` để chụp ảnh màn hình, và `expect(selector).toHaveText(...)` để xác minh nội dung.
Khi bạn đưa ra một yêu cầu phức tạp, Claude sẽ lên kế hoạch thực hiện. Ví dụ, nó có thể bắt đầu bằng tool `goto` để mở trang web, sau đó dùng `fill` để nhập thông tin đăng nhập, `click` để nhấn nút, và cuối cùng là `expect` để kiểm tra kết quả. Các token OAuth của Claude Code có thể bị đánh cắp thông qua việc chiếm quyền điều khiển MCP một cách lén lút, trong đó MCP thực hiện các hành động theo chỉ dẫn, nhưng người dùng không hề hay biết về sự xâm nhập [F4].
Ưu điểm của phương pháp này là giảm đáng kể thời gian viết các test case tự động. Thay vì phải tự code từng bước kiểm thử, bạn có thể tập trung vào logic nghiệp vụ, để Claude tự động hóa các thao tác trên trình duyệt. Điều này giúp các nhà phát triển tập trung vào những phần quan trọng hơn của dự án.

Cách triển khai trong dự án thực tế
Claude Code là một tác nhân AI lập trình mạnh mẽ, có khả năng đọc toàn bộ codebase, lên kế hoạch thay đổi phức tạp, tự động viết và gỡ lỗi code. Nó cũng có thể chạy lệnh và lặp lại các tác vụ trong nhiều giờ [F2].
Để triển khai Claude Code hiệu quả trong dự án, mình thường bắt đầu bằng cách tích hợp nó với các công cụ bên ngoài. Claude Code có thể kết nối với cơ sở dữ liệu, Playwright và các API khác thông qua các MCP server, giúp nó thực hiện những tác vụ vượt ra ngoài codebase cốt lõi [F1].
Một điểm đáng chú ý là tính năng "dynamic workflows" mới của Claude Code. Nó cho phép điều phối các tác nhân phụ để lập kế hoạch các tác vụ lớn, phân phối công việc, xác minh kết quả và báo cáo kết quả hoàn chỉnh [F3]. Điều này cho thấy một sự thay đổi kiến trúc trong cách Claude Code hoạt động, giúp xử lý các dự án phức tạp hơn.
Tuy nhiên, khi triển khai, bạn cần lưu ý về bảo mật. Các token OAuth của Claude Code có thể bị đánh cắp thông qua việc chiếm quyền điều khiển MCP một cách lén lút [F4]. Điều này xảy ra khi MCP thực hiện các hành động theo chỉ dẫn mà người dùng không hề hay biết về sự xâm nhập.
Lưu ý và pitfalls thường gặp
Việc tích hợp Claude Code với các công cụ bên ngoài qua MCP mang lại nhiều lợi ích, nhưng cũng tiềm ẩn một số rủi ro và điểm cần lưu ý. Bạn nên cẩn trọng để đảm bảo an toàn và hiệu quả khi sử dụng.
Một trong những mối lo ngại chính là bảo mật. Các token OAuth của Claude Code có thể bị đánh cắp thông qua việc chiếm quyền điều khiển MCP một cách lén lút [F4]. Điều này có nghĩa là MCP có thể thực hiện các hành động theo chỉ dẫn mà người dùng không hề hay biết về sự xâm nhập [F4]. Bạn cần đảm bảo các MCP server của mình được bảo vệ kỹ lưỡng và chỉ kết nối với các nguồn đáng tin cậy.
Ngoài ra, việc quản lý và debug các tác vụ phức tạp với nhiều tác nhân phụ (sub-agents) có thể trở nên khó khăn. Claude Code có tính năng "dynamic workflows" cho phép điều phối các nhóm tác nhân phụ để lập kế hoạch, phân phối công việc và xác minh kết quả [F3]. Tuy nhiên, việc giám sát và can thiệp khi có lỗi trong một quy trình đa tác nhân vẫn là một thách thức.
Cuối cùng, dù Claude Code rất mạnh mẽ, bạn cũng nên xem xét các lựa chọn thay thế. Ví dụ, Codex của OpenAI có sẵn ở gói miễn phí, và OpenCode là một tùy chọn mã nguồn mở miễn phí cho phép người dùng tích hợp LLM của riêng họ [F5]. Việc hiểu rõ các công cụ khác sẽ giúp bạn đưa ra quyết định phù hợp nhất cho dự án của mình.
Tóm lại, tích hợp MCP cho phép Claude Code tương tác với database và trình duyệt, tự động hóa các tác vụ phức tạp. Với hướng dẫn về Database Connector và Playwright, bạn đã có đủ nền tảng để bắt đầu. Đừng quên xem lại các lưu ý về bảo mật để đảm bảo việc triển khai an toàn và hiệu quả trong dự án thực tế.