APIKết nối tác nhân AI với hồ sơ qua chrome-devtools-mcp

Kết nối tác nhân AI với hồ sơ Dolphin {anty} qua chrome-devtools-mcp

Thông tin chung 📜

Với chrome-devtools-mcp, bạn có thể giao hồ sơ trình duyệt Dolphin{anty} cho tác nhân AI điều khiển: Claude Code, Cursor hoặc bất kỳ ứng dụng khách MCP nào khác. Tác nhân có thể tự mở trang, nhấp chuột, điền biểu mẫu, đọc nội dung và chụp ảnh màn hình.

Có một điểm cần lưu ý: không thể khai báo cổng một lần trong cài đặt MCP rồi dùng mãi. Khi hồ sơ được khởi chạy qua API với tham số automation=1, Dolphin{anty} mỗi lần lại cấp cho nó một cổng ngẫu nhiên mới. Vì vậy ứng dụng khách MCP không chạy trực tiếp chrome-devtools-mcp mà chạy một script wrapper nhỏ: script này tìm cổng hiện tại trước, sau đó mới chuyển tiếp.

Cách script tìm cổng:

  • Hồ sơ đã mở ở chế độ tự động hóa → script lấy cổng từ tệp dịch vụ của hồ sơ
  • Hồ sơ đang đóng → script tự khởi chạy hồ sơ qua API và lấy cổng từ phản hồi

Sau đó chrome-devtools-mcp kết nối với hồ sơ và tác nhân có thể làm việc với nó.

ℹ️ Nếu bạn chưa từng dùng tự động hóa, nên đọc trước bài Tự động hóa cơ bản Dolphin {anty}: bài này giải thích chi tiết cách khởi chạy hồ sơ qua API và cổng được lấy từ đâu.

Cần chuẩn bị ✅

  1. Gói trả phí của Dolphin{anty}. Gói Free không hỗ trợ tự động hóa, yêu cầu khởi chạy sẽ trả về lỗi 402
  2. Dolphin{anty} đang chạy và đã đăng nhập. Có thể đăng nhập theo cách thông thường hoặc bằng API token
  3. Node.js 18 trở lên (bản LTS nào cũng được). Tải tại nodejs.org
  4. Ứng dụng khách MCP có thể chạy máy chủ cục bộ (stdio): Claude Code, Cursor, VS Code, Windsurf, Claude Desktop và các ứng dụng khác
  5. ID của hồ sơ cần kết nối. ID hiển thị ở góc trên bên phải cửa sổ chỉnh sửa hồ sơ trong Dolphin{anty}

⚠️ Hồ sơ phải được đóng trước khi máy chủ MCP khởi động

Nếu mở hồ sơ từ giao diện Dolphin{anty} theo cách thông thường, hồ sơ sẽ không có cổng gỡ lỗi và tác nhân không thể kết nối. Script sẽ tự khởi chạy hồ sơ ở đúng chế độ.

Bước 1. Lưu script wrapper 💾

Một script dùng chung cho mọi hệ điều hành: macOS, Windows và Linux.

  1. Tạo một thư mục cố định cho script, ví dụ ~/mcp/ trên macOS và Linux hoặc C:\mcp\ trên Windows
  2. Tạo trong đó tệp dolphin-devtools-mcp.mjs
  3. Dán đoạn mã bên dưới vào tệp và lưu lại

Script làm gì:

  1. Tìm tệp DevToolsActivePort trong thư mục hồ sơ. Nếu tệp tồn tại và cổng phản hồi, dùng cổng đó
  2. Nếu không, khởi chạy hồ sơ bằng yêu cầu GET http://127.0.0.1:3001/v1.0/browser_profiles/<ID>/start?automation=1 và lấy cổng từ trường automation.port trong phản hồi
  3. Chạy chrome-devtools-mcp với cổng đã tìm được. Các cờ --no-usage-statistics và --no-performance-crux tắt việc gửi thống kê và địa chỉ trang tới Google

⚠️ Nếu API cục bộ không chạy trên cổng 3001

Thông thường API cục bộ của Dolphin{anty} chạy trên cổng 3001, nhưng nếu cổng này đang bị chương trình khác dùng, ứng dụng sẽ lấy cổng khác. Cổng hiện tại hiển thị trong cửa sổ Health, mở từ thanh dưới cùng của Dolphin{anty}. Khi đó cần thay 3001 trong script bằng cổng hiện tại (xuất hiện ở hai chỗ).

Hồ sơ Dolphin{anty} được lưu ở đây (script tự tìm thư mục, phần này chỉ để tham khảo):

~/Library/Application Support/dolphin_anty/browser_profiles/<ID>/data_dir/

Bước 2. Kết nối máy chủ với ứng dụng khách MCP 🔌

Mỗi hồ sơ được kết nối như một máy chủ MCP riêng với tên riêng.

Chạy một lệnh trong terminal từ thư mục dự án:

claude mcp add dolphin-123456789 -- node /Users/USERNAME/mcp/dolphin-devtools-mcp.mjs 123456789

Trong đó USERNAME là tên người dùng trong hệ thống, còn 123456789 là ID hồ sơ. Trên Windows, đường dẫn tới script sẽ có dạng C:\mcp\dolphin-devtools-mcp.mjs.

Mặc định máy chủ chỉ dùng được trong thư mục này. Để dùng trong mọi dự án, cần thêm --scope user ngay sau tên máy chủ:

claude mcp add dolphin-123456789 --scope user -- node /Users/USERNAME/mcp/dolphin-devtools-mcp.mjs 123456789

ℹ️ Nếu ứng dụng không tìm thấy node, cần ghi đường dẫn đầy đủ tới node vào trường command. Có thể xem đường dẫn bằng lệnh which node trên macOS và Linux hoặc where node trên Windows.

Bước 3. Kiểm tra kết nối 🔍

Nếu mọi thứ được thiết lập đúng, hồ sơ sẽ tự mở khi ứng dụng khách MCP khởi động và tác nhân sẽ thấy các tab của hồ sơ.

  1. Đóng hồ sơ trong Dolphin{anty} nếu đang mở
  2. Khởi động lại ứng dụng khách MCP hoặc bắt đầu phiên mới: máy chủ kết nối khi khởi động. Lần chạy đầu sẽ lâu hơn bình thường vì chrome-devtools-mcp được tải từ internet
  3. Kiểm tra trạng thái máy chủ. Trong Claude Code dùng lệnh claude mcp list, máy chủ phải có trạng thái Connected. Ở các ứng dụng khác, trạng thái nằm trong cài đặt MCP
  4. Yêu cầu tác nhân: "Hiển thị danh sách các tab đang mở". Tác nhân sẽ gọi công cụ list_pages và hiển thị các tab của hồ sơ

✅ Xong! Giờ tác nhân có khoảng 30 công cụ, trong đó có navigate_page, click, fill_form, take_snapshot, take_screenshot và list_pages.

Bảo mật và giới hạn 🛡️

⚠️ Tác nhân có toàn quyền truy cập hồ sơ

Tác nhân thấy mọi tab của hồ sơ và có thể đọc, thay đổi dữ liệu ở bất kỳ tab nào: email, tài khoản quảng cáo, trang thanh toán, ví trong tiện ích mở rộng. Vì vậy chỉ nên kết nối những hồ sơ mà tác nhân được phép làm việc. Tốt nhất là tạo một hồ sơ riêng cho tác nhân, không có phiên đăng nhập thừa.

  • Hồ sơ mở khi ứng dụng khách MCP khởi động, không phải lúc gửi yêu cầu cho tác nhân. Nếu điều này gây bất tiện, có thể chỉ bật máy chủ trong lúc làm việc. Trong Claude Code, xóa máy chủ bằng lệnh claude mcp remove dolphin-123456789
  • Sau khi làm việc, hồ sơ vẫn mở cùng cổng gỡ lỗi. Cổng chỉ truy cập được từ máy tính này, nhưng các chương trình cục bộ có thể kết nối tới nó. Cần đóng hồ sơ trong Dolphin{anty} hoặc gửi yêu cầu GET http://127.0.0.1:3001/v1.0/browser_profiles/123456789/stop
  • Cờ --autoConnect không dùng được với Dolphin{anty}. Cờ này tìm thư mục của Chrome thông thường, còn hồ sơ Dolphin{anty} được lưu ở nơi khác