Quay lại blog

Antigravity CLI + Scrapeless: Thêm một Máy chủ MCP từ xa

Michael Lee
Michael Lee

Expert Network Defense Engineer

21-Sep-2026

TL;DR:

  • Antigravity CLI kết nối với Scrapeless như một máy chủ MCP từ xa. Một mục với serverUrl và một tiêu đề x-api-token, được thêm bằng agy mcp add hoặc viết tay, là toàn bộ cài đặt.
  • Viết khóa chính vào tiêu đề. Một tham chiếu ${SCRAPELESS_API_KEY} được gửi dưới dạng văn bản ký tự, và mọi lần gọi công cụ sau đó đều thất bại với mã 401 trong một lần chạy vẫn báo cáo thành công.
  • agy mcp list hiển thị cấu hình, không phải một kết nối hoạt động. Một máy chủ đọc enabled có hợp lệ hay không.
  • Các lần chạy không giao diện cần một quy tắc cho phép. Các công cụ MCP bắt đầu ở chế độ Ask, và agy -p không thể hỏi, vì vậy nó từ chối cuộc gọi. mcp(scrapeless/scrape_markdown) trong permissions.allow cho phép công cụ đó chạy.
  • Tên tiêu đề là x-api-token. Scrapeless trả lời một yêu cầu mà không có nó với 401 Unauthorized: Missing x-api-token header.
  • Nhận một khóa trên kế hoạch miễn phí Scrapeless và kết nối nó trong vài phút.

Antigravity CLI, lệnh agy, chạy tác nhân Antigravity của Google từ một terminal, và đó là nơi Google hiện gửi những người đã sử dụng Gemini CLI với một tài khoản cá nhân. Tác nhân có thể đọc tệp, chạy lệnh và tìm kiếm trên web. Máy chủ MCP Scrapeless thêm các trang được hiển thị trong một trình duyệt đám mây và trả về dưới dạng Markdown, một phiên làm việc mà tác nhân có thể điều khiển từng bước, các cuộc quét nền và dữ liệu kết quả từ Google.

Hướng dẫn này thêm máy chủ lưu trữ vào Antigravity CLI và chạy một cuộc gọi công cụ từ một kịch bản. Cấu hình rất ngắn. Ba chi tiết quyết định xem nó hoạt động: cách mà khóa được viết, dòng trạng thái nào để tin tưởng, và quy tắc quyền hạn mà một lần chạy không giao diện cần.

Những gì Scrapeless thêm vào Antigravity CLI

Máy chủ cung cấp 25 công cụ, được nhóm theo công việc:

  • scrape_markdown, scrape_htmlscrape_screenshot trả về một trang được hiển thị dưới dạng Markdown, HTML thô hoặc một hình ảnh trong một cuộc gọi.
  • Mười sáu công cụ browser_*, từ browser_createbrowser_goto đến browser_click, browser_typebrowser_snapshot, điều khiển một phiên trình duyệt đám mây từng bước.
  • crawl_start, crawl_resultcrawl_cancel chạy một cuộc quét trong nền và thu thập sau đó.
  • google_searchgoogle_trends trả về kết quả tìm kiếm và dữ liệu xu hướng, và ai_scraper thu thập câu trả lời từ các trợ lý AI như ChatGPT, Gemini và Perplexity.

Antigravity CLI giữ một bản sao của từng sơ đồ công cụ dưới ~/.gemini/antigravity-cli/mcp/scrapeless/, một tệp JSON cho mỗi công cụ, và trong quá trình thử nghiệm, tác nhân đã đọc sơ đồ scrape_markdown trước khi gọi công cụ.

Nếu bạn sử dụng ứng dụng máy tính để bàn Antigravity thay vào đó, hướng dẫn Antigravity IDE của chúng tôi sẽ cover cài đặt đó.

Nơi Antigravity CLI đọc máy chủ MCP

Tài liệu MCP của Google cho Antigravity đặt cấu hình trong ~/.gemini/config/mcp_config.json, với một tệp workspace tại .agents/mcp_config.json như một tùy chọn địa phương. Hướng dẫn này sử dụng tệp toàn cầu, tệp mà các thử nghiệm dưới đây đọc. Một máy chủ từ xa có hai thuộc tính:

  • serverUrl, URL của một máy chủ Streamable HTTP hoặc SSE từ xa.
  • headers, tiêu đề HTTP tùy chỉnh gửi đến máy chủ đó.

Scrapeless là một điểm cuối Streamable HTTP tại https://api.scrapeless.com/mcp, vì vậy không cần thiết lập vận chuyển nào.

Điều kiện tiên quyết

  • Antigravity CLI, đăng nhập bằng tài khoản Google. Hướng dẫn này đã sử dụng agy 1.2.2 trên Linux với một tài khoản Google cá nhân.
  • Một khóa API Scrapeless từ bảng điều khiển Scrapeless.

Bước 1: Thêm Máy chủ

agy mcp add viết mục đó cho bạn. Cờ đi trước tên máy chủ, và một URL https được phát hiện như một máy chủ HTTP:

bash Copy
agy mcp add -H "x-api-token: YOUR_SCRAPELESS_API_KEY" scrapeless https://api.scrapeless.com/mcp

Nó trả lời:

text Copy
Added MCP server "scrapeless" (http)

và viết mục này vào ~/.gemini/config/mcp_config.json:

json Copy
{
  "mcpServers": {
    "scrapeless": {
      "disabled": false,
      "headers": {
        "x-api-token": "YOUR_SCRAPELESS_API_KEY"
      },
      "serverUrl": "https://api.scrapeless.com/mcp"
    }
  }
}

Lệnh này đặt khóa vào lịch sử shell của bạn. Để tránh điều đó, hãy viết cùng một mục vào tệp bằng một trình soạn thảo, sau đó hạn chế tệp cho người dùng của bạn với chmod 600 ~/.gemini/config/mcp_config.json.

Thiết lập điều này bây giờ? Kế hoạch miễn phí Scrapeless bao gồm kết nối và các lần gọi công cụ đầu tiên của bạn.

Bước 2: Đưa Khóa Chính vào Tiêu đề

Nhiều khách hàng MCP mở rộng biến môi trường bên trong một tệp cấu hình, và thật hấp dẫn khi viết "x-api-token": "${SCRAPELESS_API_KEY}" ở đây nữa. Antigravity CLI không mở rộng nó. Với giá trị đó trong tệp và biến được xuất, một lần chạy mà yêu cầu scrape_markdown đã trả về điều này như câu trả lời của nó:

text Copy
Failed to fetch data. Error: [Scrapeless]: Request POST https://api.scrapeless.com/api/v1/unlocker/request failed with status 401

Chạy bản thân vẫn báo cáo "status": "SUCCESS". Scrapeless nhận được văn bản liter ${SCRAPELESS_API_KEY}, chấp nhận kết nối giống như nó làm cho bất kỳ giá trị tiêu đề nào, và từ chối gọi công cụ. Viết chính khóa vào tiêu đề, và bảo vệ tệp thay vào đó.

Bước 3: Kiểm Tra Danh Sách Máy Chủ

Liệt kê những gì CLI sẽ tải:

bash Copy
agy mcp list
text Copy
NAME        TYPE  STATUS   COMMAND/URL
scrapeless  http  enabled  https://api.scrapeless.com/mcp

enabled có nghĩa là mục xuất hiện và không được tắt. Lệnh trả về trong một phần của giây và không chứng minh được khóa, vì vậy kiểm tra được tính là gọi công cụ trong Bước 5.

Bước 4: Cho Phép Công Cụ Trước Khi Chạy Không Đầu

Antigravity yêu cầu trước khi chạy công cụ MCP mà nó không có quy tắc cho. Tài liệu tham khảo quyền truy cập của Antigravity liệt kê các công cụ MCP dưới dạng Hỏi theo mặc định và khớp chúng với mcp(server/tool), mcp(server/*) hoặc mcp(*). Trong một phiên tương tác có nghĩa là một dấu nhắc phê duyệt. Một lần chạy ở chế độ in không có ai để hỏi, vì vậy nó từ chối cuộc gọi và in:

text Copy
jetski: no output produced — a tool required the "mcp" permission that headless mode cannot prompt for, so it was auto-denied. Add an allow-rule under permissions.allow in settings.json (e.g. mcp(<target>)). Alternatively, re-run with --dangerously-skip-permissions to auto-approve all tools.

Đầu ra JSON của nó liệt kê cuộc gọi dưới denied_actions như CallMcpTool. Thêm một quy tắc cho công cụ mà kịch bản của bạn cần ~/.gemini/antigravity-cli/settings.json, bên cạnh bất kỳ quy tắc nào đã có:

json Copy
{
  "permissions": {
    "allow": ["mcp(scrapeless/scrape_markdown)"]
  }
}

Ưu tiên quy tắc như thế này so với --dangerously-skip-permissions, mà chấp nhận mọi công cụ, tệp và hành động lệnh cho lần chạy. mcp(scrapeless/*) cho phép tất cả 25 công cụ Scrapeless. Một báo cáo mở trên kho lưu trữ của CLI, Vấn đề Antigravity CLI 548, mô tả chế độ in bỏ qua permissions.allow. Với agy 1.2.2 quy tắc trên đã được tải và áp dụng: nhật ký CLI đã liệt kê nó khi khởi động, và cuộc gọi đã đi qua.

Bước 5: Chạy Một Cuộc Gọi Công Cụ

Yêu cầu một công việc nhỏ, có thể kiểm tra được trong chế độ in:

bash Copy
agy -p "Call the scrapeless MCP server's scrape_markdown tool with url https://example.com and reply with the first Markdown heading, verbatim." --output-format json

Đầu ra JSON mang câu trả lời trong response:

text Copy
"status": "SUCCESS"
"response": "# Example Domain\n"

Nhật ký cuộc hội thoại của Antigravity cho thấy cách đại diện đã đạt được điều đó: nó đọc sơ đồ scrape_markdown đã được lưu cache, sau đó gọi scrape_markdown trên https://example.com. Các lần chạy mất hơn hai phút mỗi lần, và trong một bước được thời gian từng bước cuộc gọi công cụ đã mất khoảng năm giây.

Đọc văn bản response, không phải status. Một khóa sai, một tên tiêu đề sai hoặc một biến chưa mở rộng vẫn tạo ra SUCCESS, và văn bản bắt đầu với Failed to fetch data.

Sửa Các Vấn Đề Thông Thường

Những gì bạn thấy Nguyên nhân Sửa chữa
response bắt đầu với Failed to fetch data … 401 Khóa sai, hoặc tiêu đề chứa ${SCRAPELESS_API_KEY} Viết chính khóa vào headers
Danh sách responsedenied_actions trống CallMcpTool Không có quy tắc cho phép cho công cụ trong một lần chạy không đầu Thêm mcp(scrapeless/scrape_markdown) vào permissions.allow
Đại diện đáp lại mà không gọi Scrapeless Nó đã sử dụng một công cụ web tích hợp thay thế Đặt tên máy chủ và công cụ trong dấu nhắc
agy mcp add từ chối cờ tiêu đề Cờ đến sau tên máy chủ Đặt -H trước scrapeless

Để biết thêm về máy chủ, hãy đọc thông báo máy chủ MCP Scrapeless. Tài liệu Browser MCP mang tham chiếu cấu hình, trang Scraping API đề cập đến các diễn viên phía sau các công cụ, và giá cả liệt kê các chi phí của một cuộc gọi.

Kết Luận

Thêm Scrapeless vào Antigravity CLI cần một mục trong ~/.gemini/config/mcp_config.json: serverUrl được đặt thành https://api.scrapeless.com/mcp và một tiêu đề x-api-token giữ chính khóa. agy mcp add -H viết nó trong một dòng, và một lần chạy kịch bản cần một quy tắc cho phép cho mỗi công cụ.

Hai kết quả trông giống như ổn và không phải vậy. enabled trong danh sách máy chủ không nói gì về khóa, và một lần chạy với một khóa sai hoặc một biến chưa mở rộng vẫn báo cáo là thành công. Đọc câu trả lời của công cụ, và thiết lập được chứng minh.

Sẵn sàng để cho đại diện của Antigravity một cái nhìn trực tiếp về web? Bắt đầu với kế hoạch miễn phí Scrapeless và thêm máy chủ.

Câu Hỏi Thường Gặp

H: Làm thế nào để tôi thêm một máy chủ MCP từ xa với tiêu đề khóa API vào Antigravity CLI?

Chạy agy mcp add -H "x-api-token: YOUR_KEY" scrapeless https://api.scrapeless.com/mcp, hoặc thêm một mục với serverUrl và một đối tượng headers vào ~/.gemini/config/mcp_config.json. Cờ phải đến trước tên máy chủ.
Q: Antigravity CLI có mở rộng biến môi trường trong tiêu đề MCP không?

Không trong thiết lập này. Giá trị tiêu đề của ${SCRAPELESS_API_KEY} được gửi dưới dạng văn bản tĩnh, và lệnh công cụ đã thất bại với mã 401 trong khi quá trình chạy báo cáo thành công. Đặt khóa trong tệp và hạn chế quyền truy cập của tệp.

Q: Tại sao agy từ chối lệnh công cụ MCP của tôi trong chế độ in?

Các công cụ MCP chạy ở chế độ Hỏi theo mặc định, và chế độ in không thể hiển thị lời nhắc, vì vậy lệnh bị từ chối tự động và được liệt kê dưới denied_actions. Thêm mcp(server/tool) vào permissions.allow trong ~/.gemini/antigravity-cli/settings.json.

Q: Được bật trong danh sách agy mcp có nghĩa là kết nối hoạt động không?

Không. Nó có nghĩa là mục nhập tồn tại và không bị vô hiệu hóa. Một lệnh công cụ trả về nội dung trang là cách kiểm tra.

Q: Tôi có thể sử dụng Gemini CLI thay thế cho việc này không?

Gemini CLI không còn phục vụ các tài khoản Google cá nhân, mà Google hiện chuyển hướng đến Antigravity. Antigravity CLI đọc các máy chủ MCP từ ~/.gemini/config/mcp_config.json.

Q: Scrapeless thêm bao nhiêu công cụ vào Antigravity CLI?

25: ba công cụ scrape_*, mười sáu công cụ browser_*, ba công cụ crawl_*, cộng với google_search, google_trendsai_scraper.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục