NỘI DUNG BÀI HỌC
MCP (Model Context Protocol) là một chuẩn giao tiếp giúp AI có thể kết nối với các nguồn dữ liệu hoặc công cụ bên ngoài.
Hiểu đơn giản:
- Nếu Antigravity là bộ não AI
- Thì MCP Server là “cánh tay” giúp AI thao tác với hệ thống thật
👉 MCP cho phép AI:
- Đọc file (local, repo)
- Gọi API
- Truy cập database
- Tương tác hệ thống test automation
- Kết nối tool như Jira, Git, CI/CD
📌 Vì Sao AI Cần "Đôi Tay" Để Làm Việc?
Bạn đã từng yêu cầu AI viết test script, nhận về code đẹp đẽ... nhưng chạy thì fail toàn bộ? Locator sai, selector không tồn tại, flow nghiệp vụ lệch hướng?
Nguyên nhân gốc rễ: AI chỉ "tưởng tượng" giao diện — nó không thể thấy, chạm, hay tương tác với ứng dụng thật.
| Trước MCP | Sau MCP |
|---|---|
| AI đoán locator dựa trên mô tả | AI tự mở browser, đọc DOM thật |
| AI viết script rồi... cầu nguyện 🙏 | AI viết → chạy → fail → tự sửa → PASS ✅ |
| Mỗi lần UI thay đổi, phải paste lại HTML | AI tự navigate, tự cập nhật locator |
| Chỉ hỗ trợ Web | Web + Mobile (Android & iOS) |
Giải pháp: MCP (Model Context Protocol) — chuẩn giao tiếp mở giúp AI kết nối trực tiếp với các công cụ bên ngoài như browser, mobile device, database... mà không cần can thiệp thủ công.
🧠 MCP Là Gì?
MCP (Model Context Protocol) là một chuẩn giao thức do Anthropic khởi xướng nhằm chuẩn hóa cách các hệ thống bên ngoài (tools, APIs, databases, file systems…) cung cấp context cho các mô hình AI.
Trang chủ: https://modelcontextprotocol.io/docs/getting-started/intro
Hiện tại ai quản lý MCP?
👉 Không còn do riêng Anthropic quản lý nữa
✔️ MCP hiện được quản lý bởi:
- Linux Foundation
- Thông qua một tổ chức con:
- Agentic AI Foundation (AAIF)
- Agentic AI Foundation (AAIF)
📌 Lý do:
- Anthropic đã donate MCP vào Linux Foundation (cuối 2025)
- Mục tiêu: biến MCP thành open standard trung lập, không thuộc vendor nào
Ví von đơn giản:
- Không có MCP: AI giống như kỹ sư ngồi trong phòng kín, chỉ đọc bản vẽ và "tưởng tượng" ra sản phẩm.
- Có MCP: AI được ra công trường, cầm búa, đo đạc, và xây dựng trên hiện trường thực tế.
✳️ Kiến trúc MCP

✳️ Các thành phần chính
| Thành phần | Vai trò |
|---|---|
| MCP Client | AI Agent (Antigravity, Cursor, Claude Desktop...) — bên gửi yêu cầu |
| MCP Server | Dịch vụ trung gian, cung cấp Tools (hành động) và Resources (dữ liệu) |
| Transport | Giao thức truyền tải: stdio (local) hoặc HTTP/SSE (remote) |
🖥️ Antigravity Đã Có Sẵn Gì? — Built-in Browser Agent
Trước khi nói về MCP Server, cần hiểu rõ: Antigravity đã tích hợp sẵn khả năng browser mà không cần cài thêm bất kỳ MCP Server nào.
🔆 Built-in Browser Agent (browser_subagent)
Antigravity có sẵn một Browser Agent tích hợp có thể:
- ✅ Mở browser (Chromium), navigate đến URL bất kỳ
- ✅ Đọc DOM thông qua Accessibility Snapshot
- ✅ Click, type, scroll, drag & drop
- ✅ Chụp screenshot
- ✅ Quản lý tabs (mở/đóng/chuyển)
- ✅ Upload file
- ✅ Resize viewport
Ngoài ra, Antigravity còn có read_url_content — đọc nội dung trang web và convert HTML → Markdown mà không cần mở browser (hữu ích khi chỉ cần lấy text content).
🔆 Vậy tại sao còn cần MCP Server?
Built-in Browser Agent đã đủ cho nhiều tình huống cơ bản. Tuy nhiên, MCP Server mở rộng khả năng vượt xa hơn nữa:
| Khả năng | Built-in (có sẵn) | Thêm MCP Server |
|---|---|---|
| Mở browser, navigate, click, type | ✅ | ✅ |
| Accessibility Snapshot (đọc DOM) | ✅ | ✅ |
| Screenshot | ✅ | ✅ |
| Tab management, file upload | ✅ | ✅ |
| Network request monitoring | ❌ | ✅ (Playwright/Selenium) |
| Console log filtering (error/warning/info) | ❌ | ✅ (Playwright/Selenium) |
| Fill nhiều field cùng lúc | ❌ (từng field) | ✅ browser_fill_form |
| Multi-browser (Firefox, WebKit, Safari) | ❌ (chỉ Chromium) | ✅ |
| Headless mode cấu hình linh hoạt | ❌ | ✅ |
| Storage State (lưu/load session login) | ❌ | ✅ |
| Docker deployment | ❌ | ✅ |
| Selenium Grid (parallel testing) | ❌ | ✅ (Selenium MCP) |
| Mobile Testing (Android/iOS) | ❌ | ✅ (Appium MCP) |
| AI Vision (tìm element bằng ngôn ngữ tự nhiên) | ❌ | ✅ (Appium MCP) |
💡 Tóm lại
- Chỉ cần debug DOM nhanh, test thủ công đơn giản? → Built-in Browser Agent là đủ.
- Cần network monitoring, multi-browser, CI/CD, hoặc mobile testing? → Cài thêm MCP Server.
- MCP Server không thay thế built-in — chúng bổ sung thêm sức mạnh cho AI nói chung và trên Antigravity nói riêng.
🎯 3 MCP Server Cho Test Automation

💡 Khi nào chọn cái nào?
🎭 Playwright MCP: Mặc định cho Web. Nhanh nhất, dùng Accessibility Snapshot thay vì screenshot → AI hiểu DOM ngay lập tức.
🌐 Selenium MCP: Khi đã có hạ tầng Selenium, cần Safari thật, hoặc Selenium Grid.
📱 Appium MCP: Testing ứng dụng mobile (native, hybrid, flutter). Hỗ trợ AI Vision tìm element bằng ngôn ngữ tự nhiên.
⚙️ Cách thiết lập MCP Server trên Antigravity
Các bạn mở khung Chat ra sẽ thấy có dấu 3 chấm gốc trên bên phải. Làm theo hướng dẫn của An bên dưới:
1. Chọn MCP Servers
2. Chọn Manage MCP Servers
3. Chọn View raw config
4. Điền chuỗi JSON của từng nhà cung cấp MCP vào cấu trúc JSON tổng "mcpSerrvers"
🎭 Phần 1: Playwright MCP Server
✳️ Tổng quan
Playwright MCP của Microsoft là MCP Server phổ biến nhất cho Web Testing với 30,800+ GitHub stars (15/04/2026). Đặc điểm vượt trội:
- Nhanh và nhẹ: Dùng Accessibility Tree, không cần screenshot hay vision model
- LLM-friendly: Trả về dữ liệu có cấu trúc, AI xử lý chính xác
- Deterministic: Mỗi tool có input/output rõ ràng, tránh mơ hồ
✳️ Yêu cầu
- Node.js 18+
- AI IDE: Antigravity, Cursor, VS Code, Claude Desktop...
✳️ Cài đặt trên Antigravity
Copy chuỗi JSON này dán vào file mcp_config.json trên Antigravity, copy từ đoạn "playwright" thôi.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
🔆 Cấu hình nâng cao
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--browser", "chromium",
"--headless",
"--viewport-size", "1920,1080"
]
}
}
}
| Tùy chọn | Mô tả |
|---|---|
--browser |
Chọn browser: chromium, firefox, webkit |
--headless |
Chạy không hiện UI (dùng cho CI/CD) |
--viewport-size |
Kích thước viewport: 1920,1080 |
--isolated |
Mỗi session là context độc lập (xóa state sau khi đóng) |
--storage-state |
Load cookies/localStorage từ file JSON |
--user-data-dir |
Dùng profile browser cố định (lưu session đăng nhập) |
🔆 Danh sách Tools quan trọng
📸 Snapshot & Navigation
| Tool | Mô tả |
|---|---|
browser_snapshot |
Tool quan trọng nhất — chụp Accessibility Snapshot, trả về cấu trúc DOM cho AI phân tích |
browser_navigate |
Điều hướng đến URL |
browser_navigate_back |
Quay lại trang trước |
browser_wait_for |
Đợi text xuất hiện/biến mất trên trang |
🖱️ Tương tác phần tử
| Tool | Mô tả |
|---|---|
browser_click |
Click element theo ref từ snapshot |
browser_type |
Gõ text vào input/textarea |
browser_fill_form |
Điền nhiều field cùng lúc |
browser_select_option |
Chọn option trong dropdown |
browser_hover |
Hover để hiện tooltip/menu |
browser_drag |
Kéo thả giữa 2 elements |
browser_press_key |
Nhấn phím (Enter, Tab, Escape...) |
browser_handle_dialog |
Xử lý alert/confirm/prompt dialog |
📊 Thu thập dữ liệu
| Tool | Mô tả |
|---|---|
browser_take_screenshot |
Chụp ảnh trang hiện tại |
browser_console_messages |
Đọc console log (errors, warnings) |
browser_network_requests |
Theo dõi network requests |
browser_evaluate |
Chạy JavaScript tùy ý trên trang |
🗂️ Quản lý tabs & file
| Tool | Mô tả |
|---|---|
browser_tabs |
List / create / close / select tab |
browser_file_upload |
Upload file vào input[type=file] |
browser_resize |
Resize viewport browser |
browser_close |
Đóng browser |
♻️ Workflow thực tế: AI tự test trang Login

📌 Lưu ý quan trọng
Playwright MCP dùng ref (reference ID từ snapshot) để xác định chính xác element — không cần CSS selector hay XPath. Đây là lý do nó chính xác hơn các phương pháp truyền thống.
🌐 Phần 2: Selenium MCP Server
✳️ Tổng quan
Selenium MCP do Angie Jones (Java Champion, Director of Engineering tại Block) phát triển. Phù hợp khi:
- Team đã có hạ tầng Selenium sẵn
- Cần test trên Safari (macOS)
- Cần tích hợp với Selenium Grid cho parallel testing
- Cần WebDriver BiDi diagnostics
🔆 Yêu cầu
- Chrome/Firefox/Edge đã cài đặt trên máy
- ChromeDriver/GeckoDriver trên PATH (tự động nếu dùng Selenium Manager)
✳️ Cài đặt trên Antigravity
{
"mcpServers": {
"selenium": {
"command": "npx",
"args": [
"-y",
"@angiejones/mcp-selenium@latest"
]
}
}
}
✳️ Danh sách Tools
| Tool | Mô tả | Parameters chính |
|---|---|---|
start_browser |
Khởi tạo browser session | browser, options {headless, arguments} |
navigate |
Điều hướng đến URL | url |
interact |
Click/hover/doubleclick | action, locator, value |
send_keys |
Gõ text vào field | locator, value, text |
get_element_text |
Lấy text của element | locator, value |
get_element_attribute |
Lấy attribute (href, value...) | locator, value, attribute |
press_key |
Nhấn phím (Enter, Tab...) | key |
upload_file |
Upload file | locator, value, filePath |
take_screenshot |
Chụp ảnh trang | — |
execute_script |
Chạy JavaScript | script, args |
window |
Quản lý windows/tabs | action: list/switch/close |
frame |
Chuyển đổi iframe | action: switch/default |
alert |
Xử lý dialog | action: accept/dismiss/get_text |
add_cookie |
Thêm cookie | name, value, domain |
get_cookies |
Lấy cookies | name (optional) |
delete_cookie |
Xóa cookies | name (optional) |
diagnostics |
Console/Network logs (BiDi) | type: console/errors/network |
close_session |
Đóng browser session | — |
✳️ Resources (dữ liệu read-only)
| Resource URI | Mô tả |
|---|---|
browser-status://current |
Trạng thái session hiện tại |
accessibility://current |
Accessibility tree — cấu trúc JSON compact, hữu ích cho AI |
♻️ Workflow thực tế: AI kiểm tra form Contact

📱 Phần 3: Appium MCP Server
✳️ Tổng quan
Appium MCP là MCP Server chính thức từ Appium team cho Mobile Testing. Lựa chọn duy nhất khi cần test ứng dụng Android native (UiAutomator2), iOS native (XCUITest), Hybrid hoặc Flutter.
🔆 Tính năng nổi bật
- 🔍 AI-Powered Element Finding: Tìm element bằng ngôn ngữ tự nhiên (VD: "nút Đăng nhập màu xanh")
- 🌐 Multilingual Support: AI hiểu mọi ngôn ngữ (Tiếng Việt, English, 日本語...)
- 📱 Cross-Platform: Android + iOS từ cùng một cấu hình
- 🎬 Screen Recording: Quay video test session
- 📝 Test Code Generation: Sinh code Java/TestNG + Page Object Model
🔆 Yêu cầu hệ thống
| Loại | Yêu cầu |
|---|---|
| Bắt buộc | Node.js v22+, JDK 8+, Appium Server |
| Android | Android SDK, ANDROID_HOME, USB Debugging, UiAutomator2 driver |
| iOS | Xcode, Command Line Tools, XCUITest driver (macOS only) |
✳️ Cài đặt trên Antigravity
{
"mcpServers": {
"appium-mcp": {
"disabled": false,
"timeout": 100,
"type": "stdio",
"command": "npx",
"args": ["appium-mcp@latest"],
"env": {
"ANDROID_HOME": "C:\\Users\\<your-user>\\AppData\\Local\\Android\\Sdk",
"CAPABILITIES_CONFIG": "./capabilities.json"
}
}
}
}
✳️ Cấu hình Capabilities
Tạo file capabilities.json:
{
"android": {
"appium:app": "/path/to/your/app.apk",
"appium:deviceName": "Android Emulator",
"appium:platformVersion": "14.0",
"appium:automationName": "UiAutomator2",
"appium:udid": "emulator-5554"
},
"ios": {
"appium:app": "/path/to/your/app.ipa",
"appium:deviceName": "iPhone 15 Pro",
"appium:platformVersion": "17.0",
"appium:automationName": "XCUITest"
}
}
✳️ Danh sách Tools theo danh mục
📱 Platform & Session
| Tool | Mô tả |
|---|---|
select_device |
Liệt kê và chọn device/emulator đang kết nối |
prepare_ios_simulator |
Khởi động iOS Simulator |
create_session |
Tạo Appium session mới (android/ios/general) |
delete_session |
Đóng session hiện tại |
🔍 Element Discovery & Interaction
| Tool | Mô tả |
|---|---|
appium_find_element |
Tìm element bằng strategy (id, xpath, accessibility id...) |
appium_find_by_ai |
🌟 Tìm element bằng ngôn ngữ tự nhiên (cần Vision API) |
appium_click |
Tap vào element |
appium_double_tap |
Double tap |
appium_long_press |
Long press |
appium_set_value |
Nhập text vào field |
appium_get_text |
Lấy text của element |
appium_tap_by_coordinates |
Tap vào tọa độ x, y |
appium_drag_and_drop |
Kéo thả element |
appium_pinch |
Pinch (zoom in/out) |
📸 Screen & Navigation
| Tool | Mô tả |
|---|---|
appium_screenshot |
Chụp screenshot thiết bị |
appium_screen_recording |
Quay video (start/stop) |
appium_get_page_source |
Lấy XML page source |
appium_navigate |
Back / Home / App Switch |
appium_swipe |
Vuốt theo hướng (up/down/left/right) |
🛠️ AI-Powered Features
| Tool | Mô tả |
|---|---|
generate_locators |
AI sinh locators cho tất cả elements trên màn hình |
generate_test_code |
AI sinh test code Java/TestNG từ mô tả |
appium_app |
Install / uninstall / launch / close / list ứng dụng |
appium_context |
Chuyển đổi NATIVE/WEBVIEW context |
🤖 AI Vision — Tìm element bằng ngôn ngữ tự nhiên
{
"mcpServers": {
"appium-mcp": {
"command": "npx",
"args": ["appium-mcp@latest"],
"env": {
"ANDROID_HOME": "/path/to/android/sdk",
"AI_VISION_API_BASE_URL": "https://generativelanguage.googleapis.com/v1beta",
"AI_VISION_API_TOKEN": "your_api_key",
"AI_VISION_MODEL": "gemini-3-flash-preview"
}
}
}
}
| Model | Provider | Accuracy | Speed |
|---|---|---|---|
| Qwen3-VL-235B | Alibaba DashScope | 100% | ~12.6s |
| gemini-3-flash-preview | Google AI | 100% | ~17.3s |
♻️ Workflow thực tế: AI test app Android

✳️ Hướng dẫn đăng ký API Key
🔵 Google AI (Gemini) — Miễn phí, không cần thẻ tín dụng
- Truy cập Google AI Studio
- Đăng nhập bằng tài khoản Google
- Click "Get API key" ở sidebar trái
- Click "Create API key" → chọn Google Cloud project (tạo mới nếu chưa có)
- Copy API key → dán vào
AI_VISION_API_TOKEN
{
"env": {
"AI_VISION_API_BASE_URL": "https://generativelanguage.googleapis.com/v1beta",
"AI_VISION_API_TOKEN": "AIzaSy...(key của bạn)",
"AI_VISION_MODEL": "gemini-3-flash-preview"
}
}
⚠️ Lưu ý Free Tier
Free tier có giới hạn rate limit (requests/phút). Dữ liệu ở free tier có thể được Google sử dụng để cải thiện model. Nếu cần bảo mật dữ liệu, nên nâng lên paid tier.
🟠 Alibaba Cloud DashScope (Qwen) — Có free trial
- Đăng ký tài khoản tại Alibaba Cloud
- Truy cập DashScope Console
- Kích hoạt dịch vụ Model Studio / DashScope theo hướng dẫn
- Vào mục "API-KEY" → Click "Create API Key"
- Copy key ngay lập tức (sẽ không hiển thị lại)
{
"env": {
"AI_VISION_API_BASE_URL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"AI_VISION_API_TOKEN": "sk-...(key của bạn)",
"AI_VISION_MODEL": "qwen-vl-max"
}
}
💡 Base URL theo Region
- Trung Quốc:
https://dashscope.aliyuncs.com/compatible-mode/v1 - Singapore:
https://dashscope-intl.aliyuncs.com/compatible-mode/v1 - US (Virginia):
https://dashscope-us.aliyuncs.com/compatible-mode/v1
♻️ Workflow thực tế: AI test app Android

⚙️ Cấu Hình Tổng Hợp: Kích Hoạt Cả 3 Server
Để có full coverage (Web + Mobile):
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"selenium": {
"command": "npx",
"args": ["-y", "@angiejones/mcp-selenium@latest"]
},
"appium-mcp": {
"disabled": false,
"timeout": 100,
"type": "stdio",
"command": "npx",
"args": ["appium-mcp@latest"],
"env": {
"ANDROID_HOME": "C:\\Users\\<user>\\AppData\\Local\\Android\\Sdk",
"CAPABILITIES_CONFIG": "./capabilities.json"
}
}
}
}
💡 Tips
Không nhất thiết phải bật cả 3 cùng lúc. Chọn theo nhu cầu:
- Web only → Playwright MCP (khuyến nghị) hoặc Selenium MCP
- Mobile only → Appium MCP
- Full stack → Cả 3
🔄 Quy Trình AI Sử Dụng MCP
Mô hình "DOM Recon First + Self-Fix Loop"

🎯 Ví dụ prompt cho AI trên Antigravity dùng Playwright MCP
Sử dụng Playwright MCP, hãy:
1. Mở trang https://crm.anhtester.com/admin/authentication
2. Đăng nhập với username "admin@example.com" và password "123456"
3. Sau khi đăng nhập, navigate đến Customers
4. Verify bảng danh sách hiển thị ít nhất 1 dòng dữ liệu
5. Chụp screenshot làm bằng chứng
Yêu cầu:
- Dùng browser_snapshot trước mỗi thao tác
- Không hardcode locator — lấy ref từ snapshot
- Nếu fail, retry tối đa 3 lần với log chi tiết
🎯 Ví dụ prompt cho AI trên Antigravity dùng Selenium MCP
Sử dụng Selenium MCP, hãy:
1. Mở trang https://crm.anhtester.com/admin/authentication
2. Đăng nhập với username "admin@example.com" và password "123456"
3. Sau khi đăng nhập, navigate đến Customers
4. Verify bảng danh sách hiển thị ít nhất 1 dòng dữ liệu
5. Chụp screenshot làm bằng chứng
Yêu cầu:
- Dùng browser_snapshot trước mỗi thao tác
- Không hardcode locator — lấy locator từ snapshot
- Nếu fail, retry tối đa 3 lần với log chi tiết
✅ So sánh Playwright MCP vs Selenium MCP trên cùng test case
🔬 So sánh thực tế: Playwright MCP vs Selenium MCP trên cùng test case
Kết quả chạy thực tế trên crm.anhtester.com — cùng kịch bản: Login → Navigate Customers → Verify dữ liệu → Screenshot
| Tiêu chí | 🎭 Playwright MCP | 🌐 Selenium MCP |
|---|---|---|
| Cách tìm element | ref từ Accessibility Snapshot(AI tự đọc DOM → lấy ref ID) |
CSS / XPath / ID locator (AI dùng accessibility://current resource) |
| Quy trình Login | browser_snapshot → ref=e11, ref=e14, ref=e20 → browser_type + browser_click |
start_browser → navigate → send_keys + interact |
| Browser Engine | Chromium built-in (tự cài) | Chrome thật trên máy (cần WebDriver) |
| Viewport Config | --viewport-size 1920,1080 trong MCP settings |
Dùng kích thước cửa sổ browser thật |
| Network Monitoring | ✅ browser_network_requests |
✅ diagnostics (WebDriver BiDi) |
| Console Logs | ✅ browser_console_messages |
✅ diagnostics (type: console) |
| Fill nhiều field | ✅ browser_fill_form (batch) |
❌ Từng field (send_keys) |
| Multi-browser | Chromium, Firefox, WebKit | Chrome, Firefox, Edge, Safari |
| Screenshot | Viewport (CSS pixels) | Full page (browser native) |
| Kết quả test | ✅ PASS — 246 customers | ✅ PASS — 246 customers |
💡 Khi nào chọn cái nào?
- Chọn Playwright MCP khi: cần tốc độ nhanh, AI tự tìm element qua Accessibility Tree, ưu tiên CI/CD headless, không cần Safari.
- Chọn Selenium MCP khi: team đã có hạ tầng Selenium, cần test trên Safari thật, cần Selenium Grid cho parallel testing, hoặc cần WebDriver BiDi diagnostics.
⚠️ Best Practices & Lưu Ý
1. Bảo mật
- KHÔNG paste credentials trực tiếp vào file cấu hình MCP. Sử dụng biến môi trường hoặc storage state cho thông tin đăng nhập.
- Playwright MCP hỗ trợ --secrets để che thông tin nhạy cảm trong response.
2. Performance
| Situation | Giải pháp |
|---|---|
| AI chạy chậm trên CI/CD | Bật --headless (Playwright) hoặc headless: true (Selenium) |
| Token quá nhiều | Bật NO_UI (Appium) hoặc snapshot mode: none (Playwright) |
| Browser crash | Dùng --isolated hoặc --no-sandbox (Docker) |
3. Debugging
- Playwright:
browser_console_messages+browser_network_requests - Selenium:
diagnosticstool (console/errors/network) - Appium:
appium_get_page_sourceđể xem XML tree
4. Playwright MCP vs CLI
| MCP | CLI + SKILLS | |
|---|---|---|
| Dùng khi | Exploratory testing, self-healing, autonomous | High-throughput coding, large codebases |
| Token | Nhiều hơn (schema + accessibility tree) | Ít hơn (concise commands) |
| State | Persistent browser context | Stateless per invocation |
📊 So Sánh Tổng Hợp 3 MCP Server
| Tiêu chí | Playwright MCP | Selenium MCP | Appium MCP |
|---|---|---|---|
| Platform | Web | Web | Mobile (Android/iOS) |
| Element Finding | Accessibility Snapshot | CSS/XPath/ID | XPath/ID/AI Vision |
| Speed | ⚡⚡⚡ | ⚡⚡ | ⚡ |
| Setup | Dễ (1 npm) | Dễ (browser + driver) | Phức tạp (SDK + Appium + Device) |
| Token Efficiency | Cao | Trung bình | Trung bình (NO_UI: Cao) |
| Docker | ✅ Official | ✅ | ❌ |
| AI Vision | ❌ | ❌ | ✅ |
| Screen Recording | ❌ | ❌ | ✅ |
| Test Generation | ❌ | ❌ | ✅ (Java/TestNG + POM) |
| License | Apache-2.0 | MIT | Apache-2.0 |
🏁 Kết Luận
MCP Server là bước nhảy vọt trong AI Test Automation — biến AI từ "chatbot gợi ý code" thành đồng đội thực sự có thể:
- ✅ Tự mở browser/app và tương tác với UI thật
- ✅ Tự lấy locator từ DOM thật, không đoán bừa
- ✅ Tự chạy test và xác minh kết quả
- ✅ Tự sửa lỗi khi test fail (Self-Fix Loop)
- ✅ Phủ toàn bộ phổ kiểm thử: Web + Mobile
