Safari MCP

chính thức

Máy chủ Safari MCP cho phép tác nhân của bạn biết cách mã của bạn thực sự hiển thị trong trình duyệt bằng cách kết nối nó với một cửa sổ trình duyệt Safari

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

  • Kiểm tra trang hiện tại — Yêu cầu agent của bạn trích xuất nội dung trang dưới dạng markdown, HTML hoặc JSON bằng cách sử dụng get_page_content.
  • Gỡ lỗi JavaScript và lỗi console — Yêu cầu agent của bạn lấy các bản ghi console đã được lưu đệm bằng browser_console_messages hoặc chạy JavaScript tùy ý qua evaluate_javascript.
  • Điều tra hoạt động mạng — Cho phép agent của bạn liệt kê tất cả các yêu cầu mạng đã ghi lại (list_network_requests) và kiểm tra chi tiết yêu cầu/phản hồi đầy đủ bằng get_network_request.
  • Xác minh bố cục và kiểu dáng — Yêu cầu agent của bạn chụp screenshot, truy vấn các phần tử, hoặc kiểm tra các kiểu đã tính toán để so sánh kết xuất với kỳ vọng.
  • Mô phỏng chế độ phản hồi và in ấn — Hướng dẫn agent của bạn thay đổi kích thước viewport (set_viewport_size) hoặc mô phỏng các loại phương tiện CSS như “print” (set_emulated_media).
  • Tự động hóa tương tác trang — Yêu cầu agent của bạn thực hiện các chuỗi nhấp, gõ, cuộn hoặc di chuột bằng page_interactions để xác minh trạng thái biểu mẫu và luồng thanh toán.

Tài liệu

Giới thiệu máy chủ Safari MCP dành cho nhà phát triển web

Ngày 1 tháng 7 năm 2026

bởi Saron Yitbarek

Trong Safari Technology Preview 247, chúng tôi giới thiệu máy chủ Safari MCP — một máy chủ Model Context Protocol dành cho nhà phát triển web, giúp quy trình phát triển và gỡ lỗi web của bạn nhanh hơn và mạnh mẽ hơn. Chúng tôi biết rằng các tác nhân ngày càng trở nên quan trọng trong quá trình viết mã và máy chủ Safari MCP cho phép tác nhân của bạn biết mã của bạn thực sự hiển thị như thế nào trong trình duyệt bằng cách kết nối nó với một cửa sổ trình duyệt Safari.

Bất kỳ ứng dụng khách tương thích MCP nào cũng có thể kết nối với máy chủ Safari MCP. Bằng cách kết nối tác nhân của bạn với một cửa sổ trình duyệt Safari, tác nhân của bạn có thể mô phỏng những gì người dùng trải nghiệm, cung cấp cho nó thông tin cần thiết để gỡ lỗi tự động hơn, như quyền truy cập vào DOM, các yêu cầu mạng, ảnh chụp màn hình và đầu ra bảng điều khiển.

Nó tăng tốc quá trình gỡ lỗi của bạn và cho phép bạn thoải mái ở lại trong terminal của mình, điều đó có nghĩa là ít phải chuyển đổi qua lại giữa các cửa sổ và gõ lời nhắc để gỡ lỗi mã hơn.

Các trường hợp sử dụng

Nếu bạn xây dựng cho web, thì bạn biết về vũ điệu gỡ lỗi. Nó thường diễn ra như thế này:

Bạn thấy có gì đó không ổn với trang web của mình trong trình duyệt. Bạn mở bảng điều khiển để tìm kiếm nó. Bạn nhấp vào tab kiểu. Bạn thấy cái gì bị hỏng. Bạn quay lại mã của mình để sửa nó. Hoặc có thể bạn chụp ảnh màn hình, mô tả chi tiết vấn đề cho tác nhân của mình và để nó sửa cho bạn. Hy vọng là nó làm đúng, lỗi được sửa và bạn có thể tiếp tục.

Nhưng khi nó không được sửa, bạn lại trải qua quy trình đó một lần nữa — Trình duyệt. Lời nhắc. Tác nhân.

Và lặp đi lặp lại, cho đến khi bạn cuối cùng cũng diệt được lỗi.

Bất kể trình duyệt hay công cụ bạn sử dụng là gì, quy trình gỡ lỗi đòi hỏi rất nhiều cú nhấp chuột, công cụ và chuyển đổi cửa sổ để thực hiện một sửa chữa duy nhất, nhưng không nhất thiết phải như vậy. Nếu bạn đã sử dụng tác nhân trong quy trình phát triển của mình, máy chủ Safari MCP giúp việc gỡ lỗi của bạn nhanh hơn và hiệu quả hơn.

Máy chủ Safari MCP cho phép tác nhân của bạn tự thực hiện nhiều công việc gỡ lỗi và khắc phục sự cố hơn. Đây chỉ là một vài ví dụ về những gì nó có thể giúp:

Phát triển web trong Safari. Lần tới khi bạn phát triển trong Safari, bạn sẽ được hưởng lợi từ một quy trình làm việc được nâng cấp. Tác nhân của bạn đã giúp bạn với mã của mình, giờ đây nó có thể làm được nhiều hơn nữa bằng cách kiểm tra cách mã của bạn thực sự hiển thị trong Safari.

Cải thiện khả năng tương thích với Safari. Chỉ kiểm thử trong một trình duyệt có nghĩa là bỏ sót các lỗi tiềm ẩn trong trình duyệt khác, mang lại cho những người dùng đó trải nghiệm kém chất lượng. Với máy chủ Safari MCP, tác nhân của bạn có thể mở trang web của bạn trong Safari, kiểm tra các kiểu được tính toán, kiểm tra bố cục và so sánh nó với những gì bạn mong đợi mà không cần chuyển đổi cửa sổ.

Phân tích hiệu suất. Xem những phần nào trên trang web của bạn đang làm chậm mọi thứ. Máy chủ Safari MCP cho phép tác nhân của bạn đánh giá JavaScript trên trang để hiển thị các số liệu hiệu suất, như thời gian điều hướng và thời gian tải tài nguyên, để nó có thể xác định chính xác điều gì đang làm chậm trang web của bạn và tìm ra cách khắc phục phù hợp.

Kiểm tra khả năng truy cập. Máy chủ Safari MCP cho phép tác nhân của bạn kiểm tra các vấn đề phổ biến về khả năng truy cập như thiếu nhãn, thuộc tính ARIA không đúng và độ tương phản kém, để bạn có thể phát hiện các vấn đề ảnh hưởng đến người dùng của mình.

Xác minh bất kỳ trạng thái người dùng nào. Biết rằng trang đang hoạt động và trông như mong đợi. Tác nhân của bạn có thể kiểm tra trạng thái của biểu mẫu, truy vấn một phần tử bằng bộ chọn, xác nhận các tương tác cụ thể, hiển thị các trạng thái khác nhau của luồng thanh toán, v.v. Dành ít thời gian hơn cho những kiểm tra thủ công này và trao quyền cho tác nhân làm điều đó cho bạn.

Đây chỉ là một vài trong số các trường hợp sử dụng. Dù bạn quyết định triển khai nó như thế nào, máy chủ Safari MCP giúp tác nhân của bạn làm được nhiều việc hơn cho bạn và giảm bớt tất cả sự qua lại mà việc phát triển web thường yêu cầu. Một quy trình làm việc dễ dàng hơn có nghĩa là nhiều lỗi được sửa hơn, người dùng hài lòng hơn và sản phẩm tốt hơn.

Các công cụ

Dưới đây là các công cụ có sẵn và chức năng của chúng:

Công cụMô tả
browser_console_messagesTrả về các bản ghi bảng điều khiển được đệm cho tab hiện tại hoặc được chỉ định
browser_dialogsLiệt kê và phản hồi các hộp thoại trình duyệt (chấp nhận, hủy bỏ hoặc nhập văn bản cho lời nhắc JS)
close_tabĐóng một tab trình duyệt bằng handle của nó
create_tabTạo một tab trình duyệt mới, tùy chọn tải một URL
evaluate_javascriptThực thi mã JavaScript trong trang và trả về kết quả
get_network_requestLấy chi tiết đầy đủ cho một yêu cầu mạng đã ghi (tiêu đề, nội dung, thời gian)
get_page_contentTrích xuất nội dung văn bản của một trang ở nhiều định dạng khác nhau (markdown, HTML, JSON, v.v.)
list_network_requestsLiệt kê tóm tắt các yêu cầu mạng (URL, phương thức, trạng thái, thời gian) cho tab hiện tại
list_tabsLiệt kê tất cả các tab trình duyệt đang mở với handle và URL của chúng
navigate_to_urlĐiều hướng đến một URL và trả về nội dung của trang đã tải
page_infoLấy thông tin về trang hiện tại: URL, tiêu đề và trạng thái tải
page_interactionsThực hiện các tương tác DOM theo trình tự: nhấp, gõ, cuộn, di chuột, nhấn phím, v.v.
screenshotChụp ảnh màn hình của trang hiện tại dưới dạng PNG
set_emulated_mediaMô phỏng loại phương tiện CSS (ví dụ: “print”) để kiểm thử thiết kế đáp ứng
set_viewport_sizeĐặt kích thước khung nhìn trình duyệt bằng pixel CSS
switch_tabChuyển sang một tab trình duyệt khác bằng handle của nó
wait_for_navigationĐợi trang hiện tại tải xong; trả về URL và tiêu đề cuối cùng

Với máy chủ Safari MCP, bạn không còn phải viết lời nhắc hoàn hảo, mô tả cẩn thận cho tác nhân của mình những gì bạn đang trải nghiệm trong trình duyệt. Bạn có thể cho tác nhân của mình khả năng tự tìm hiểu.

Cách bắt đầu

Trước tiên, bạn cần cài đặt Safari Technology Preview. Sau khi cài đặt, hãy đảm bảo bạn bật Safari Settings > Advanced > Show features for web developers. Sau đó, vào Safari Settings > Developer > Enable remote automation and external agents.

Nếu bạn đang sử dụng Claude, bạn có thể sử dụng lệnh sau trong terminal của mình:

claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Nếu bạn đang sử dụng Codex, bạn có thể sử dụng lệnh sau trong terminal của mình:

codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Đối với các tác nhân khác, bạn có thể đặt nội dung sau vào mcp.json hoặc config.json của mình:

"safari-mcp-stp": {
  "command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
  "args": ["--mcp"] 
}

Lưu ý rằng mặc dù mã ở trên đặt tên máy chủ là safari-mcp-stp, bạn có thể đặt tên tùy ý, thậm chí chỉ là safari. Khi bạn đã cài đặt máy chủ Safari MCP, hãy thử một trong các lời nhắc sau:

Find bugs on my site in Safari

How accessible is my site in Safari?

See how my website performs in Safari

Mặc dù mỗi tác nhân hoạt động hơi khác nhau một chút, nhưng nó không cần được yêu cầu sử dụng máy chủ Safari MCP một cách rõ ràng — nó sẽ tự tìm ra. Các lời nhắc đơn giản như những lời nhắc ở trên là đủ để khởi động MCP.

Đây là cách một cuộc trò chuyện với tác nhân sử dụng máy chủ Safari MCP có thể diễn ra:

Bạn: Có một báo cáo lỗi — có gì đó bị hỏng trong Safari trên trang chuyến bay. Bạn có thể tìm hiểu xem chuyện gì đang xảy ra không?

Tác nhân: Chắc chắn rồi, để tôi xem.

Tác nhân: Tôi đã tìm thấy hai lỗi riêng biệt trên trang chuyến bay trong Safari. Bạn có muốn tôi sửa cả hai không?

Bạn: Có. Còn điều gì khác ở đây có thể gây ra sự cố cho người dùng Safari không?

Tác nhân: Có, hai điều nữa đáng để gắn cờ. Hoạt ảnh tiết lộ kết quả bị hỏng một cách âm thầm và nhật ký khởi động máy chủ API bị sai. Tôi có nên giải quyết cả hai không?

Tất cả những gì bạn cần là một yêu cầu ban đầu để bắt đầu, và với sự trợ giúp của máy chủ Safari MCP, tác nhân của bạn có thể tiếp tục từ đó.

Máy chủ Safari MCP chạy hoàn toàn trên máy cục bộ của bạn và không thực hiện bất kỳ cuộc gọi mạng nào của riêng nó. Nó cũng không có quyền truy cập vào thông tin cá nhân của bạn trong Safari (ví dụ: Tự động điền hoặc hoạt động trình duyệt khác). Khi nó chụp nội dung trang, ảnh chụp màn hình hoặc nhật ký bảng điều khiển, dữ liệu đó sẽ được gửi trực tiếp đến tác nhân bạn đang chạy — không phải đến Apple. Điều gì xảy ra với dữ liệu đó từ đó phụ thuộc vào tác nhân và mô hình bạn đang sử dụng. Như với bất kỳ tác nhân nào bạn cấp quyền truy cập vào trình duyệt của mình, chỉ sử dụng những tác nhân bạn tin tưởng.

Tại sao chúng tôi xây dựng điều này

Có nhiều cách để xây dựng cho web, cả khi có và không có AI. Nếu AI là một phần trong quy trình làm việc của bạn, chúng tôi nghĩ rằng công cụ này sẽ giúp nó trở nên hiệu quả hơn nữa. Và nếu không, điều đó cũng không sao.

Bằng cách tạo ra tài nguyên này, chúng tôi hy vọng sẽ giúp việc kiểm thử và gỡ lỗi trong Safari trở nên dễ dàng hơn bao giờ hết bằng cách giúp tác nhân của bạn hiểu mọi thứ trông như thế nào và hoạt động ra sao trong trình duyệt.

Nếu bạn dùng thử hoặc nếu đây là lần đầu tiên bạn sử dụng máy chủ MCP, hãy cho chúng tôi biết suy nghĩ của bạn.

Tìm chúng tôi trực tuyến: Saron Yitbarek trên BlueSky, Jen Simmons trên Bluesky / Mastodon, và Jon Davis trên Bluesky / Mastodon. Nếu bạn gặp bất kỳ sự cố nào, hãy gửi báo cáo lỗi WebKit. Việc gửi báo cáo sự cố thực sự tạo ra sự khác biệt.