YetiBrowser MCP

chính thức

YetiBrowser MCP là giải pháp mã nguồn mở hoàn chỉnh cho phép các trợ lý AI dễ dàng tương tác với trình duyệt hiện có của bạn

Bạn có thể làm gì với Yeti Browser MCP?

  • Điều hướng và chụp ảnh nhanh trang — yêu cầu trợ lý tải một URL bằng browser_navigate và trả về ảnh chụp nhanh khả năng truy cập của trang kết quả.
  • Điền và gửi biểu mẫu web — sử dụng browser_fill_form hoặc browser_type để điền nhiều trường và tùy chọn gửi biểu mẫu.
  • Kiểm tra đầu ra bảng điều khiển và trạng thái trang — truy xuất lỗi, nhật ký, dữ liệu biểu mẫu, cookie và khóa lưu trữ qua browser_get_console_logsbrowser_page_state.
  • Chạy JavaScript tùy chỉnh trong trang — thực thi các tập lệnh tùy ý bằng browser_evaluate và nhận lại kết quả có thể tuần tự hóa JSON để gỡ lỗi hoặc trích xuất dữ liệu.
  • Chụp ảnh màn hình — chụp ảnh màn hình viewport hoặc toàn trang bằng browser_screenshot để xác minh trực quan hoặc quy trình QA.

Tài liệu

[!IMPORTANT] Dự án này đã được lưu trữ. Nó được xây dựng để giải quyết việc thiếu khả năng điều khiển trình duyệt trong các tác nhân AI như Claude và Codex, nhưng các tác nhân này hiện đã có sẵn các chức năng đó mà không cần đến giải pháp chuyên dụng dựa trên MCP.

YetiBrowser MCP

YetiBrowser MCP là một triển khai mã nguồn mở hoàn toàn của quy trình làm việc Browser MCP. Nó liên kết một máy chủ MCP dựa trên Node với các tiện ích mở rộng của Chrome/Firefox để các máy khách Model Context Protocol—Codex/Claude Code, Cursor, Windsurf, MCP Inspector, hoặc các công cụ của riêng bạn—có thể tự động hóa một tab trình duyệt thực trong khi vẫn giữ mọi byte trên máy của bạn và có thể kiểm tra được.

Tại sao chọn YetiBrowser MCP?

  • Minh bạch và có thể tùy chỉnh – không tải xuống blob. Kiểm tra, fork và mở rộng mọi thành phần.
  • Ưu tiên cục bộ – tiện ích mở rộng chỉ giao tiếp với máy chủ MCP localhost; dữ liệu duyệt web không bao giờ rời khỏi thiết bị của bạn.
  • Đa trình duyệt – logic dùng chung hỗ trợ cả gói Chrome và Firefox (bản dựng Firefox đang chờ hỗ trợ Manifest V3 tốt hơn, vì vậy trải nghiệm kết nối có thể bị hạn chế cho đến khi Mozilla cung cấp đầy đủ API MV3).
  • Công cụ tập trung vào nhà phát triển – thu thập console phong phú hơn, so sánh DOM, kết xuất trạng thái trang và ảnh chụp toàn trang được xây dựng cho việc gỡ lỗi và QA.
  • Thân thiện với sản xuất – các tập lệnh và tài liệu để đóng gói, xuất bản và tích hợp với quy trình làm việc IDE.

Bố cục kho lưu trữ

  • packages/shared – các định nghĩa TypeScript dùng chung cho thông điệp và lược đồ công cụ.
  • packages/server – máy chủ MCP kết nối các máy khách MCP với một tab trình duyệt đang chạy.
  • extensions/shared – mã nguồn tiện ích mở rộng dùng chung (background/popup) và tài sản.
  • extensions/chrome / extensions/firefox – các lớp đóng gói cho từng trình duyệt.
  • docs/ – các lệnh không gian làm việc, danh sách kiểm tra xuất bản và ghi chú tính năng.
  • scripts/ – các tiện ích trợ giúp như package-extensions.sh cho các tệp zip phát hành.

Các Công cụ MCP Có sẵn

  • browser_snapshot – chụp ảnh chụp nhanh hướng trợ năng của trang hiện tại
  • browser_snapshot_diff – so sánh hai ảnh chụp nhanh gần đây nhất để làm nổi bật các thay đổi DOM/ARIA
  • browser_navigate – tải một URL mới trong tab được kết nối và trả về ảnh chụp nhanh đã cập nhật
  • browser_go_back / browser_go_forward – di chuyển qua lịch sử trong khi vẫn giữ MCP đồng bộ
  • browser_wait – tạm dừng tự động hóa trong một số giây đã đặt
  • browser_wait_for – chặn cho đến khi một bộ chọn xuất hiện (tùy chọn hiển thị) trước khi tiếp tục
  • browser_press_key – mô phỏng việc nhấn phím bàn phím trên phần tử được tập trung
  • browser_click – nhấp vào phần tử được xác định bởi bộ chọn CSS
  • browser_hover – di chuột qua phần tử được nhắm mục tiêu
  • browser_drag – kéo một phần tử vào mục tiêu thả cho các giao diện người dùng có thể sắp xếp/kéo-thả
  • browser_type – nhập văn bản (tùy chọn gửi bằng Enter) vào một phần tử có thể chỉnh sửa
  • browser_fill_form – điền nhiều đầu vào/chọn/hộp kiểm/nút radio trong một lần gọi
  • browser_select_option – chọn một hoặc nhiều tùy chọn trong phần tử <select>
  • browser_screenshot – chụp ảnh màn hình khung nhìn hoặc toàn trang qua giao thức DevTools
  • browser_get_console_logs – trả về đầu ra console gần đây, bao gồm lỗi với dấu vết ngăn xếp
  • browser_page_state – kết xuất biểu mẫu, khóa lưu trữ và cookie cho trang được kết nối
  • browser_connection_info – báo cáo cổng WebSocket cầu nối, trạng thái kết nối và phiên bản tiện ích mở rộng
  • browser_evaluate – chạy JavaScript tùy chỉnh bên trong trang và trả về kết quả có thể tuần tự hóa JSON
  • browser_handle_dialog – chấp nhận hoặc từ chối các hộp thoại alert/confirm/prompt với văn bản nhắc tùy chọn

Cài đặt Tiện ích Mở rộng Trình duyệt MCP

Trình duyệt Chrome

Trình duyệt Firefox (hiện không khả dụng)

  • Do khả năng hạn chế của Manifest v3 trong bản phát hành ổn định của Firefox, tiện ích mở rộng Firefox bị tạm dừng cho đến khi có hỗ trợ đầy đủ phổ biến (ngoài các bản dựng Nightly).

Cài đặt Máy chủ MCP

Codex CLI

  • Chỉnh sửa ~/.codex/config.toml của bạn và thêm mục MCP:
    [mcp_servers.yetibrowser-mcp]
    command = "npx"
    args = ["-y", "@yetidevworks/server"]
    
  • Khởi động lại lệnh CLI codex; bạn sẽ thấy yetibrowser-mcp được liệt kê trong các công cụ /mcp.
  • Nếu bạn muốn cung cấp một cổng cụ thể, hãy sử dụng định dạng này cho mục args: args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]

Claude Code

  • Đảm bảo tiện ích mở rộng đã được cài đặt và kết nối với một tab, sau đó khởi động máy chủ MCP với npx -y @yetidevworks/server (hoặc chạy CLI được xây dựng cục bộ).
  • Thêm mục máy chủ vào ~/Library/Application Support/Claude/claude_desktop_config.json (xem ví dụ trong docs/publishing.md).
  • Khởi động lại claude để nó nhận máy chủ MCP mới; bạn sẽ thấy yetibrowser-mcp được liệt kê trong menu công cụ /mcp khi tiện ích mở rộng kết nối.

Các máy khách nhận biết MCP khác

  • Bất kỳ máy khách MCP nào cũng có thể kết nối bằng cách khởi tạo CLI (npx -y @yetidevworks/server) hoặc tùy chọn cung cấp một cổng cụ thể, ví dụ: npx -y @yetidevworks/server --ws-port 9010.
  • Máy chủ hiển thị truyền tải MCP tiêu chuẩn qua stdio, vì vậy hãy sử dụng bất kỳ cơ chế cấu hình nào mà máy khách của bạn hỗ trợ để chạy lệnh trên khi một tab được kết nối.

MCP Inspector

  • Để kiểm tra và gỡ lỗi bên ngoài tác nhân mã hóa.
  • npx @modelcontextprotocol/inspector npx -y @yetidevworks/server -- --ws-port 9010 để chạy và kiểm tra máy chủ MCP cùng với tiện ích mở rộng trình duyệt YetiBrowser MCP.

Khắc phục sự cố

  • CLI dò các cổng 9010-9020 cho đến khi tìm thấy một cổng trống, ghi nhật ký switched to khi nó tiến triển. Truyền --ws-port <port> nếu bạn muốn ghim một cổng cụ thể thay thế.
  • Cửa sổ bật lên của tiện ích mở rộng Trình duyệt phản ánh hành vi đó: để nó ở chế độ “Tự động” để theo dõi cổng của CLI, hoặc chọn “Thủ công” và nhập cổng được báo cáo bởi browser_connection_info / nhật ký CLI để ghi đè nó.
  • Chỉ cần hỏi công cụ AI của bạn về cổng kết nối. Ví dụ: what is the yetibrowser mcp connction info?, sau đó đặt cổng thủ công là cổng được báo cáo.

Tài liệu & tập lệnh xây dựng

  • Các lệnh không gian làm việc nằm trong docs/workspace-commands.md.
  • Các bước xuất bản (npm + cửa hàng tiện ích mở rộng) nằm trong docs/publishing.md.
  • Hành vi chụp ảnh màn hình được ghi lại trong docs/screenshot.md.
  • Tạo các tệp zip Chrome/Firefox có thể phân phối với ./scripts/package-extensions.sh (xuất ra artifacts/).
  • Chính sách quyền riêng tư cấp kho lưu trữ có sẵn trong PRIVACY.md.