Safari MCP
chính thứcMá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 cấu trúc trang trực tiếp — Yêu cầu trợ lý của bạn lấy DOM hiện tại hoặc nội dung văn bản của tab Safari thông qua để hiểu những gì đang được hiển thị.
- Gỡ lỗi sự cố console và mạng — Yêu cầu trợ lý của bạn truy xuất nhật ký console đã được lưu đệm bằng hoặc liệt kê tóm tắt yêu cầu mạng bằng để chẩn đoán lỗi.
- Tự động hóa tương tác trình duyệt — Chỉ đạo trợ lý của bạn nhấp, nhập hoặc cuộn qua một trang bằng để kiểm tra quy trình làm việc hoặc tái tạo lỗi.
- Chụp bằng chứng trực quan — Yêu cầu ảnh chụp màn hình PNG của trang hiện tại bằng
screenshotđể xem chính xác những gì người dùng đang thấy. - Kiểm tra bố cục phản hồi — Yêu cầu trợ lý của bạn mô phỏng một loại phương tiện CSS như "print" qua hoặc thay đổi kích thước viewport bằng để xác minh thiết kế tại các điểm ngắt khác nhau.
- Đánh giá JavaScript tùy chỉnh — Hướng dẫn trợ lý của bạn chạy JS tùy ý trên trang bằng để kiểm tra trạng thái hoặc tính toán các chỉ số hiệu suất.
Tài liệu
Cập nhật: Trong Safari 27 và Safari Technology Preview 247, chúng tôi giới thiệu máy chủ Safari MCP — một máy chủ Giao thức Ngữ cảnh Mô hình (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 AI ngày càng đóng vai trò quan trọng trong quy trình viết mã và 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ất kỳ máy 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ư truy cập DOM, 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 quy trình gỡ lỗi của bạn và cho phép bạn làm việc ngay trong terminal quen thuộc, nghĩa là ít phải chuyển qua lại giữa các cửa sổ và gõ lệnh để gỡ lỗi mã của bạn.
Các trường hợp sử dụng
Nếu bạn xây dựng cho web, bạn sẽ biết đến "vũ điệu gỡ lỗi". Nó thường diễn ra như thế này:
Bạn thấy điều gì đó sai với trang web của mình trong trình duyệt. Bạn mở bảng điều khiển để truy tìm. Bạn nhấp vào tab kiểu dáng. Bạn thấy những 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ó tự sửa. Hy vọng 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 làm việc đó một lần nữa — Trình duyệt. Lời nhắc. Tác nhân.
Và cứ lặp đi lặp lại, cho đến khi cuối cùng bạn dẹp được lỗi.
Bất kể trình duyệt hoặc công cụ bạn sử dụng, quy trình gỡ lỗi đòi hỏi rất nhiều cú nhấp chuột, công cụ và chuyển cửa sổ chỉ để 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 AI 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ự mình thực hiện nhiều việc gỡ lỗi và khắc phục sự cố hơn. Dưới đây chỉ là một vài ví dụ về những gì nó có thể hỗ trợ:
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ừ 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 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. Thử nghiệm chỉ trên một trình duyệt có nghĩa là bỏ sót các lỗi tiềm ẩn trên trình duyệt khác, khiến những người dùng đó có trải nghiệm kém. 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 đã tính toán, kiểm tra bố cục và so sánh với những gì bạn mong đợi mà không cần chuyển cửa sổ.
Phân tích hiệu suất. Xem phần nào của trang web đ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 chỉ số 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 sửa 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 đề truy cập phổ biến 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 mọi trạng thái người dùng. Biết rằng trang đang hoạt động và hiển thị 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 các 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 trường hợp sử dụng. Dù bạn quyết định triển khai theo cách nào, máy chủ Safari MCP giúp tác nhân của bạn làm được nhiều hơn cho bạn và giảm bớt sự qua lại mà phát triển web thường đòi hỏi. Quy trình làm việc dễ dàng hơn có nghĩa là nhiều lỗi được dẹp 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_messages | Trả về nhật ký bảng điều khiển đã lưu trong bộ nhớ đệm cho tab hiện tại hoặc tab được chỉ định |
| browser_dialogs | Liệt kê và phản hồi các hộp thoại trình duyệt (chấp nhận, từ chối 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 mã xử lý của nó |
| create_tab | Tạo một tab trình duyệt mới, tùy chọn tải một URL |
| evaluate_javascript | Thực thi mã JavaScript trong trang và trả về kết quả |
| get_network_request | Lấy chi tiết đầy đủ cho một yêu cầu mạng đã ghi lại (tiêu đề, nội dung, thời gian) |
| get_page_content | Trích xuất nội dung văn bản của một trang ở nhiều định dạng (markdown, HTML, JSON, v.v.) |
| list_network_requests | Liệt kê tóm tắt 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_tabs | Liệt kê tất cả các tab trình duyệt đang mở với mã xử lý 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_info | Lấy thông tin về trang hiện tại: URL, tiêu đề và trạng thái tải |
| page_interactions | Thự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. |
| screenshot | Chụp ảnh màn hình của trang hiện tại dưới dạng PNG |
| set_emulated_media | Mô phỏng một loại phương tiện CSS (ví dụ: "print") để kiểm tra thiết kế đáp ứng |
| set_viewport_size | Đặt kích thước khung nhìn trình duyệt theo pixel CSS |
| switch_tab | Chuyển sang một tab trình duyệt khác bằng mã xử lý của nó |
| wait_for_navigation | Chờ trang hiện tại tải xong; trả về URL cuối cùng và tiêu đề |
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
Safari 27
Đầu tiên, bạn cần cài đặt Safari 27. Sau khi cài đặt, hãy đảm bảo bật các tính năng dành cho nhà phát triển web và tự động hóa từ xa. Để bật các tính năng cho nhà phát triển web, chọn Safari > Cài đặt > Nâng cao > đánh dấu vào ô Hiển thị các tính năng cho nhà phát triển web. Sau đó, vào Safari > Cài đặt > Nhà phát triển > đánh dấu vào "Cho phép tự động hóa từ xa và tác nhân bên ngoài."
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 -- "/usr/bin/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 -- "/usr/bin/safaridriver" --mcp
Đối với các tác nhân khác, bạn có thể đặt nội dung sau vào tệp mcp.json hoặc config.json của mình.
{
"mcpServers": {
"safari-mcp": {
"command": "/usr/bin/safaridriver",
"args": ["--mcp"]
}
}
}
Safari Technology Preview
Đầu 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 Cài đặt Safari > Nâng cao > Hiển thị các tính năng cho nhà phát triển web. Sau đó, vào Cài đặt Safari > Nhà phát triển > Bật tự động hóa từ xa và tác nhân bên ngoài.
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 cho nó bất cứ thứ gì bạn thích, 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, nó không cần phải được yêu cầu sử dụng máy chủ Safari MCP một cách tường minh — nó sẽ tự tìm ra. Các lời nhắc đơn giản như trên là đủ để khởi động MCP.
Dưới đâ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 xét.
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 vấn đề cho người dùng Safari không?
Tác nhân: Có, thêm hai điều nữa đáng để nêu ra. Hoạt ảnh hiển thị 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 xử lý cả hai luôn 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ó thu thậ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 cho phép 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ả 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ĩ công cụ này sẽ giúp nó trở nên năng suất hơn. 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 tra 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 cách mọi thứ trông như thế nào và hoạt động ra sao trong trình duyệt.
Nếu bạn thử nó 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.