Chuyển đến nội dung
MCP · npx · pip

MCP server trình duyệt với một danh tính thực thụ

Thêm Clearcote vào config của MCP client và model sẽ có một trình duyệt để đọc, click và gõ phím thông qua hai mươi tool. Danh tính được đặt một lần, trong biến môi trường, nên danh sách tool luôn ngắn gọn và fingerprint luôn nhất quán trong lúc agent làm việc.

Chạy bản build mở mà không cần khóa. Thêm khóa GitHub miễn phí để dùng bản build mới nhất.

Thêm vào config của client

{
  "mcpServers": {
    "clearcote": {
      "command": "npx",
      "args": ["-y", "clearcote-mcp"],
      "env": {
        "CLEARCOTE_FINGERPRINT": "acct-1",
        "CLEARCOTE_TIMEZONE": "America/New_York",
        "CLEARCOTE_ACCEPT_LANGUAGE": "en-US"
      }
    }
  }
}

Điểm nổi bật

Hai mươi tool

navigate, read_page, page_elements, click, fill_field và screenshot_page, cùng các tool để chờ, nhấn phím, quản lý tab, cookie, PDF và phiên đã lưu.

Danh tính nằm ngoài prompt

Seed, platform, brand, ngôn ngữ và múi giờ là các biến môi trường CLEARCOTE_*. Model không bao giờ phải bận tâm suy luận về fingerprint.

Những client bạn đang dùng

Claude Desktop, Cursor và Cline dùng chung một cấu trúc config. Cài từ PyPI, rồi chạy trực tiếp hoặc qua trình khởi chạy npx.

Không có switch automation

Server khởi động trình duyệt mà không có switch automation của Playwright, nên navigator.webdriver vẫn là false, và engine giữ các tác dụng phụ thường gặp của CDP tránh xa trang.

Lối thoát sang CDP thô

get_cdp_endpoint trả về CDP URL của trình duyệt, nên một script có thể tiếp tục đúng phiên mà agent đang làm việc.

Bản build mới nhất, chỉ một biến

Thêm CLEARCOTE_LICENSE_KEY để chạy bản build có giấy phép mới nhất thay vì bản build mở.

MCP server hoạt động như thế nào

Server khởi động một trình duyệt Clearcote và giữ nó chừng nào server còn chạy. Mỗi lệnh gọi tool đều tác động lên trình duyệt dùng chung đó: model đọc trang dưới dạng text hoặc markdown, liệt kê các link, nút và ô nhập đang hiển thị kèm CSS selector cho từng phần tử nếu có, rồi thao tác với chúng qua các selector đó, nên hiếm khi phải tự viết selector.

Danh tính được cố định khi server khởi động. Các thông số persona cơ bản (seed, platform, brand, ngôn ngữ, múi giờ, proxy và geoip) là các biến CLEARCOTE_*, nên mỗi mục server trong config là một danh tính, và không tool nào có thể thay đổi nó giữa chừng một task. Với các flag fingerprint còn lại, hãy dùng trực tiếp SDK.

Có hai cách để giao quyền điều khiển Clearcote cho một model. Server này giữ model ở bên ngoài trình duyệt, gọi các tool. Còn agent trong trình duyệt thì chạy bên trong process của trình duyệt, và giao tiếp với một endpoint tương thích OpenAI do bạn chọn.

Các tool dùng nhiều nhất

ToolChức năng
read_pageĐọc trang đang hiển thị dưới dạng Markdown (mặc định) hoặc phần text hiển thị, kèm mã trạng thái HTTP
page_elementsLiệt kê tối đa 200 link, nút và ô nhập đang hiển thị, kèm CSS selector cho từng phần tử nếu có
clickClick vào một phần tử
fill_fieldGõ vào một ô input hoặc textarea
screenshot_pageChụp ảnh PNG toàn trang, lưu vào thư mục ghi của server
navigateTải một URL trong tab hiện tại và trả về URL cuối cùng cùng tiêu đề trang
save_profileLưu cookie và storage vào một file có tên, để khôi phục cookie sau này
get_cdp_endpointTrả về CDP URL cho một client thô

Ngoài ra còn có get_page_html, press_key, wait_for, evaluate_js, current_page, get_cookies, list_tabs, new_tab, close_tab, load_profile, get_egress_info và save_page_pdf (chỉ ở chế độ headless).

Mọi người dùng nó để làm gì

Nghiên cứu bằng trình duyệt thật

Cho model đọc những trang cần JavaScript để hiển thị, thay vì chỉ fetch văn bản thuần.

Việc vặt thường ngày trên web

Đăng ký, trang cài đặt và dashboard mà nếu không bạn sẽ phải tự click qua từng bước.

Debug cùng trợ lý

Nhờ Cursor tái hiện một bug trên site staging của bạn và chụp màn hình từng bước.

Làm prototype cho automation

Đi qua một luồng cùng model, rồi lấy CDP endpoint và viết script cho luồng đó.

Clearcote được xây dựng cho quyền riêng tư, kiểm thử, nghiên cứu và tự động hóa hợp pháp. Bạn chịu trách nhiệm về cách mình sử dụng nó và về việc tuân thủ điều khoản của các trang web bạn truy cập.

Bản diff

38.921 dòng giữa Chromium gốc và Clearcote Pro.

Đó là khoảng cách giữa bản build Pro và bản Chromium do Google phát hành. Mọi giá trị một trang web có thể đọc đều được đặt ở nơi Chromium tính ra nó, nên trang, các worker và iframe của nó đều mô tả cùng một thiết bị.

  • Canvas
  • WebGL
  • WebGPU
  • Âm thanh
  • Phông chữ
  • Màn hình và cửa sổ
  • WebRTC
  • TLS
  • Client hints
  • Thời gian nhập liệu
  • Giọng nói và codec
Đọc các bản vá của bản build mở trên GitHub

Bản build Pro, đếm từ bộ bản vá r57 (Chromium 156.0.8078.47). Bản build mở miễn phí là một bộ bản vá nhỏ hơn và công khai.

Chromium 156.0.8078.47 → Clearcote Pro r57

345 files changed, 35915 insertions(+), 3006 deletions(-)

240 bản vá

Tệp được sửa, theo khu vực

  • Engine kết xuất (Blink)118
  • Trình duyệt (chrome/)52
  • Tầng content42
  • Thành phần39
  • Tầng mạng22
  • Giao diện và cửa sổ14
  • TLS (BoringSSL)11
  • V8 và URL17
  • Phần còn lại30

Gói nào có tính năng này

MCP server miễn phí ở mọi gói. Nó chạy bản build mở trừ khi tìm thấy khóa giấy phép (CLEARCOTE_LICENSE_KEY, hoặc khóa đã lưu bằng clearcote login); khóa GitHub miễn phí chạy bản build mới nhất, mỗi lần một trình duyệt.

So sánh các gói

Câu hỏi thường gặp

Nó hoạt động với những MCP client nào?

Các client khởi chạy MCP server từ một file config. Ví dụ ở trên là Claude Desktop, còn Cursor và Cline dùng cùng một cấu trúc.

Model có điều khiển fingerprint không?

Không. Danh tính lấy từ biến môi trường khi server khởi động, và không tool nào thay đổi nó. Nhờ vậy persona nhất quán trong suốt phiên và danh sách tool được giữ ngắn gọn.

Cần Node hay Python?

Cách nào cũng cần Python 3.10 trở lên: package npm chỉ là trình khởi chạy cho chính server Python đó. Cài bằng pip như trong khối cài đặt ở trên — clearcote-mcp tự khai báo phụ thuộc vào thư viện mcp và chạy được trên cả 1.x lẫn 2.x, nên không cần ghim phiên bản nào — sau đó dùng clearcote-mcp làm lệnh chạy, hoặc để npx -y clearcote-mcp tự tìm hoặc cài nó giúp bạn (bằng uvx, pipx hoặc pip).

Khác gì so với agent trong trình duyệt?

MCP server cho phép một model bên ngoài (model trong chat client của bạn) điều khiển trình duyệt thông qua các tool. Agent trong trình duyệt thì chạy bên trong trình duyệt và gọi tới endpoint model mà bạn cấu hình. Cả hai đều điều khiển cùng một engine.

Script có thể tiếp quản phiên của agent không?

Được. get_cdp_endpoint trả về CDP URL của trình duyệt mà agent đang dùng, và Playwright hoặc Puppeteer có thể kết nối vào đó.

Agent có truy cập được mạng cục bộ của tôi không?

Mặc định thì không. Từ clearcote-mcp 0.3.0, các địa chỉ trên máy của bạn, trong mạng cục bộ và các endpoint metadata của cloud đều bị từ chối với mọi request mà trình duyệt gửi đi, chứ không chỉ với URL được truyền cho một tool. WebSocket do script của trang mở ra và một tên miền có địa chỉ thay đổi sau lần kiểm tra thì không nằm trong phạm vi này, nên đây là lớp chặn để tránh sai sót chứ không phải một sandbox. CLEARCOTE_ALLOW_PRIVATE_EGRESS=1 tắt cơ chế này khi phát triển cục bộ. Văn bản mà các tool trả về từ một trang được đánh dấu là dữ liệu không đáng tin cậy, để model phân biệt được nó với chỉ dẫn của bạn.

Puppeteer MCP server giờ ra sao?

Puppeteer MCP server (@modelcontextprotocol/server-puppeteer) từng là một trong các server tham chiếu (reference server) của Model Context Protocol: bảy tool (navigate, screenshot, click, hover, fill, select và evaluate) cho phép model điều khiển một Chrome chạy local thông qua Puppeteer. Dự án MCP đã lưu trữ (archive) nó vào ngày 29/5/2025, nên nó không còn được cập nhật. Server này đảm nhận đúng phạm vi đó với hai mươi tool, giữ danh tính trình duyệt nhất quán, và vẫn cho Puppeteer kết nối vào: truyền địa chỉ lấy từ get_cdp_endpoint cho puppeteer.connect().

Tìm hiểu sâu hơn trong tài liệu

Tính năng liên quan

Dùng thử Clearcote

Thay thế drop-in cho Playwright & Puppeteer, nhất quán đến tận TLS handshake, với một bản build mã nguồn mở để bắt đầu.

Miễn phí cho một trình duyệt: GitHub, một lần kiểm tra thẻ hoặc tài khoản Google của công ty. Không bao giờ trừ tiền.