返回博客

反重力 CLI + 无损:添加远程 MCP 服务器

Michael Lee
Michael Lee

Expert Network Defense Engineer

21-Sep-2026

TL;DR:

  • Antigravity CLI 连接到 Scrapeless 作为远程 MCP 服务器。 一个带有 serverUrlx-api-token 标头的条目,通过 agy mcp add 添加或手动编写,就是整个设置。
  • 将密钥本身写入标头。 ${SCRAPELESS_API_KEY} 引用以文字形式发送,每个工具调用随后都会在仍然报告成功的运行中失败并返回 401。
  • agy mcp list 显示配置,而不是有效连接。 服务器读取 enabled 无论其密钥是否有效。
  • 无头运行需要一个允许规则。 MCP 工具以询问模式启动,而 agy -p 不能询问,因此拒绝了调用。 mcp(scrapeless/scrape_markdown)permissions.allow 中让该工具运行。
  • 标头名称是 x-api-token Scrapeless 在没有该标头的请求上以 401 Unauthorized: Missing x-api-token header 响应。
  • Scrapeless 免费计划 上获取密钥并在几分钟内连接。

Antigravity CLI,agy 命令,从终端运行谷歌的 Antigravity 代理,它是谷歌现在将使用 Gemini CLI 个人账户的用户发送到的地方。该代理可以读取文件、运行命令和搜索网络。Scrapeless MCP 服务器添加在云浏览器中呈现的页面并作为 Markdown 返回,代理可以逐步驱动的浏览器会话,后台爬虫和谷歌结果数据。

本指南将托管服务器添加到 Antigravity CLI 并从脚本运行一个工具调用。配置很简短。三个细节决定它是否有效:密钥的写入方式、信任的状态行以及无头运行所需的权限规则。

Scrapeless 为 Antigravity CLI 添加的内容

服务器公开 25 个工具,按工作分组:

  • scrape_markdownscrape_htmlscrape_screenshot 在一次调用中返回作为 Markdown、原始 HTML 或图像呈现的页面。
  • 十六个 browser_* 工具,从 browser_createbrowser_gotobrowser_clickbrowser_typebrowser_snapshot,逐步驱动云浏览器会话。
  • crawl_startcrawl_resultcrawl_cancel 在后台运行爬虫并稍后收集。
  • google_searchgoogle_trends 返回搜索结果和趋势数据,ai_scraper 从 AI 助手(如 ChatGPT、Gemini 和 Perplexity)捕获答案。

Antigravity CLI 在 ~/.gemini/antigravity-cli/mcp/scrapeless/ 下保留每个工具的架构副本,每个工具一个 JSON 文件,在测试中代理在调用工具之前读取了 scrape_markdown 架构。

如果您改用 Antigravity 桌面应用程序,我们的 Antigravity IDE 指南 覆盖该设置。

Antigravity CLI 从 MCP 服务器读取的位置

谷歌的 Antigravity MCP 文档 将配置放在 ~/.gemini/config/mcp_config.json,工作区文件在 .agents/mcp_config.json 作为本地替代方案。本指南使用全局文件,以下测试读取。远程服务器具有两个属性:

  • serverUrl,远程 Streamable HTTP 或 SSE 服务器的 URL。
  • headers,发送到该服务器的自定义 HTTP 标头。

Scrapeless 是一个位于 https://api.scrapeless.com/mcp 的 Streamable HTTP 端点,因此无需传输设置。

前提条件

  • Antigravity CLI,已使用 Google 账户登录。本指南在 Linux 上使用了 agy 1.2.2,使用的是个人 Google 账户。
  • 从 Scrapeless 仪表板获取的 Scrapeless API 密钥。

第一步:添加服务器

agy mcp add 为您编写条目。标志在服务器名称之前,https URL 被检测为 HTTP 服务器:

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

它的响应是:

text Copy
Added MCP server "scrapeless" (http)

并将此条目写入 ~/.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"
    }
  }
}

该命令将密钥放入您的 shell 历史记录。要避免这种情况,请通过编辑器将相同的条目写入文件,然后使用 chmod 600 ~/.gemini/config/mcp_config.json 限制该文件的权限给您的用户。

现在设置这个?Scrapeless 免费计划 覆盖连接和您的第一个工具调用。

第二步:将密钥本身放入标头

多个 MCP 客户端在配置文件中扩展环境变量,并且很容易在这里写 "x-api-token": "${SCRAPELESS_API_KEY}"。Antigravity CLI 不会扩展它。将该值放入文件并导出变量后,询问 scrape_markdown 的运行将返回这个作为其答案:

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

运行本身仍报告 "status": "SUCCESS"。Scrapeless 收到了字面文本 ${SCRAPELESS_API_KEY},接受了连接,如同处理任何标头值,并拒绝了工具调用。将密钥本身写入标头,并保护文件。

第 3 步:检查服务器列表

列出 CLI 将加载的内容:

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

enabled 意味着条目存在且没有关闭。命令在几分之一秒内返回,并未验证密钥,因此重要的检查是第 5 步中的工具调用。

第 4 步:在无头运行之前允许工具

反重力在运行没有规则的 MCP 工具之前会询问。Antigravity 的权限参考 将 MCP 工具列为默认询问并与 mcp(server/tool)mcp(server/*)mcp(*) 匹配。在交互式会话中,这意味着一个批准提示。打印模式运行没有人询问,因此它拒绝了调用并打印:

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.

其 JSON 输出将调用列在 denied_actions 下,作为 CallMcpTool。为脚本所需的一个工具添加规则至 ~/.gemini/antigravity-cli/settings.json,并放在任何现有规则旁边:

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

更倾向于这样的规则,而不是 --dangerously-skip-permissions,后者批准每个工具、文件和命令操作。mcp(scrapeless/*) 允许所有 25 个 Scrapeless 工具。CLI 的仓库中有一个公开报告,Antigravity CLI 问题 548,描述了打印模式忽略 permissions.allow。使用 agy 1.2.2 时,上述规则已加载并应用:CLI 日志在启动时列出了它,并且调用成功。

第 5 步:运行一个工具调用

请求一个小的、可检查的打印模式作业:

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

JSON 输出在 response 中携带答案:

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

反重力的对话记录显示代理如何获得这个:它读取了缓存的 scrape_markdown 架构,然后调用 scrape_markdownhttps://example.com 上。运行每个耗时略超过两分钟,在有时间的逐步中,工具调用本身大约耗时五秒。

读取 response 文本,而不是 status。错误的密钥、错误的标头名称或未扩展的变量仍然会产生 SUCCESS,并且文本以 Failed to fetch data 开头。

修复常见问题

您看到的 原因 修复
responseFailed to fetch data … 401 开头 密钥错误,或标头包含 ${SCRAPELESS_API_KEY} 将密钥本身写入 headers
空的 responsedenied_actions 列表 CallMcpTool 在无头运行中没有工具的允许规则 mcp(scrapeless/scrape_markdown) 添加到 permissions.allow
代理在没有调用 Scrapeless 的情况下作出回应 它使用了内置的网页工具 在提示中指定服务器和工具
agy mcp add 拒绝标头标志 标志在服务器名称之后 -H 放在 scrapeless 之前

有关服务器本身的更多信息,请阅读 Scrapeless MCP 服务器公告浏览器 MCP 文档 包含配置参考,抓取 API 页面涵盖了工具背后的角色,以及 定价 列出了调用的费用。

结论

将 Scrapeless 添加到 Antigravity CLI 只需在 ~/.gemini/config/mcp_config.json 中输入一项:serverUrl 设置为 https://api.scrapeless.com/mcp 以及一个包含密钥本身的 x-api-token 标头。 agy mcp add -H 一行写入它,而脚本运行需要每个工具一个允许规则。

两个结果看起来不错,但实际上并非如此。enabled 在服务器列表中未提及密钥,而使用错误密钥或未扩展变量的运行仍然报告成功。读取工具的答案,设置也得到了验证。

准备好让 Antigravity 的代理实时查看网络了吗? 从 Scrapeless 免费计划开始 并添加服务器。

常见问题解答

问:我如何将带有 API 密钥标头的远程 MCP 服务器添加到 Antigravity CLI?

运行 agy mcp add -H "x-api-token: YOUR_KEY" scrapeless https://api.scrapeless.com/mcp,或使用 serverUrl 和一个 headers 对象添加条目到 ~/.gemini/config/mcp_config.json。标志必须在服务器名称之前到来。
Q: Antigravity CLI 是否在 MCP 头中扩展环境变量?

在此设置中没有。${SCRAPELESS_API_KEY} 的头值作为文字文本发送,而工具调用失败并返回 401,而运行报告成功。将密钥放入文件中并限制该文件的权限。

Q: 为什么 agy 在打印模式下拒绝我的 MCP 工具调用?

MCP 工具默认以询问模式运行,而打印模式无法显示提示,因此调用会自动被拒绝并列在 denied_actions 之下。在 ~/.gemini/antigravity-cli/settings.json 中将 mcp(server/tool) 添加到 permissions.allow

Q: 在 agy mcp 列表中启用是否意味着连接正常?

不。这意味着条目存在且未被禁用。返回页面内容的工具调用是检查的标准。

Q: 我可以使用 Gemini CLI 替代它吗?

Gemini CLI 不再为个人 Google 帐户服务,Google 现在将其定向到 Antigravity。Antigravity CLI 从 ~/.gemini/config/mcp_config.json 读取 MCP 服务器。

Q: Scrapeless 向 Antigravity CLI 添加了多少个工具?

25:三个 scrape_* 工具,十六个 browser_* 工具,三个 crawl_* 工具,以及 google_searchgoogle_trendsai_scraper

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录