Antigravity CLI + Scrapeless: Thêm một Máy chủ MCP từ xa
Expert Network Defense Engineer
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
serverUrlvà một tiêu đềx-api-token, được thêm bằngagy mcp addhoặ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 listhiển thị cấu hình, không phải một kết nối hoạt động. Một máy chủ đọcenabledcó 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 -pkhông thể hỏi, vì vậy nó từ chối cuộc gọi.mcp(scrapeless/scrape_markdown)trongpermissions.allowcho 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ới401 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_htmlvàscrape_screenshottrả 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_createvàbrowser_gotođếnbrowser_click,browser_typevàbrowser_snapshot, điều khiển một phiên trình duyệt đám mây từng bước. crawl_start,crawl_resultvàcrawl_cancelchạy một cuộc quét trong nền và thu thập sau đó.google_searchvàgoogle_trendstrả về kết quả tìm kiếm và dữ liệu xu hướng, vàai_scraperthu 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
agy1.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
agy mcp add -H "x-api-token: YOUR_SCRAPELESS_API_KEY" scrapeless https://api.scrapeless.com/mcp
Nó trả lời:
text
Added MCP server "scrapeless" (http)
và viết mục này vào ~/.gemini/config/mcp_config.json:
json
{
"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
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
agy mcp list
text
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
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
{
"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
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
"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 response và denied_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_trends và ai_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.



