云计算百科
云计算领域专业知识百科平台

如何在 Antigravity 中使用 MCP 服务器

如果你是一名开发者,你一定了解「Alt-Tab 之舞」。你正在写代码,需要查看数据库模式,于是 Alt-Tab 切换到 Chrome。需要查看部署日志,Alt-Tab 切换到 Vercel。需要查看 Jira 工单,Alt-Tab 切换到 Jira。

Google 的新 AntiGravity IDE 令人印象深刻,但其真正的威力隐藏在一个叫做 MCP(模型上下文协议)的功能中。

如果你正确集成了 MCP,就可以终结 Alt-Tab 之舞。信息会主动来到你面前。

开发者痛点手动操作步骤
调试测试失败 离开 IDE → 打开 Jenkins/Cloud Build → 找到特定日志文件 → 复制错误追踪 → 粘贴回 IDE。
处理支持工单 离开 IDE → 打开 Linear/Jira → 找到工单 ID → 阅读详情 → 切换到 GitHub → 找到相关提交 → 切换回 IDE。
了解新服务 离开 IDE → 搜索内部文档 → 复制设置说明 → 在终端运行命令。

什么是 MCP?(简单解释)

把 AntiGravity(及其 AI 代理 Gemini)想象成一位从未见过你公司内部工具的杰出开发者。

  • 没有 MCP:AI 很聪明,但如同睁眼瞎。它能看到你打开文件中的代码,但对你的数据库表、云日志或问题追踪器一无所知。
  • 有了 MCP:你给 AI 提供了一根「USB 数据线」,可以直接插入你的工具。它给 AI 提供了读取数据库或在终端运行命令的权限和指令。

架构:工作原理

MCP 基于客户端-主机-服务器架构运行:

  • 主机:Google AntiGravity(你的 IDE)。
  • 客户端:在 AntiGravity 内运行的 AI 代理。
  • 服务器:位于代理和你的工具(如 Supabase)之间的轻量级应用程序(MCP 服务器)。

当你向 AntiGravity 询问「查询 users 表」时,代理会向 Supabase MCP 服务器发送标准化的 JSON-RPC 消息。服务器将其转换为 SQL 查询,对你的数据库执行,并以代理能理解的格式返回结果。

「沉浸式编程」理念

AntiGravity 提倡「沉浸式编程」——一种描述意图、由代理处理实现的心流状态。MCP 是沉浸式编程的引擎。如果你必须停下来复制粘贴数据库类型,就无法进入「沉浸」状态。有了 MCP,你可以保持心流,代理会自动获取所需信息。

「前后对比」:Supabase 案例

假设你需要编写一个获取用户数据的函数,但忘记了 Supabase 数据库中的确切列名。

🛑 旧方式(没有 MCP):

  • 离开 IDE。
  • 打开 Chrome 并访问 supabase.com。
  • 登录并找到项目。
  • 等待仪表盘加载。
  • 点击「Table Editor」>「Users」。
  • 记住列名是 full_name,而不是 username。
  • 返回 IDE。
  • 手动输入代码。
  • ✅ AntiGravity 方式(有 MCP):

    你留在编辑器中,直接对代理说: 「@Supabase 检查 'users' 表结构并编写一个 TypeScript 函数来获取个人资料详情。」

    结果:代理通过 MCP 连接在毫秒内「读取」你的实时数据库模式,并自动用正确的列名(full_name)编写代码。无需打开浏览器。

    MCP 的三大支柱

    你连接的每个 MCP 服务器都为代理提供以下一种或多种能力:

    支柱能力实际应用
    资源 只读上下文。获取数据的能力。 代理可以读取:BigQuery 模式、GitHub 仓库结构或团队的 Notion 文档。
    工具 可执行操作。运行授权命令的能力。 代理可以:创建 Linear 问题、执行 Firestore 查询或触发 Cloudflare Worker 部署。
    提示词 预设工作流。优化的操作步骤序列。 代理可以运行:「Firebase GenAI 初始化指南」、「部署到预发布环境」或「修复最近的生产 Bug」。

    逐步说明:如何将这些添加到 AntiGravity

    准备好设置了吗?大约只需 2 分钟。

    第一步:打开代理管理器

  • 启动 Google AntiGravity。
  • 查看右侧的代理面板。
  • 点击顶部的 「…」(更多选项)菜单。
  • 选择 MCP 服务器。
  • 第二步:访问配置文件

    你会看到一个「商店」条目列表(类似迷你应用商店)。虽然可以从这里安装一些服务器,但要完全控制(如添加 Supabase 密钥),你需要原始配置文件。

  • 点击 管理 MCP 服务器按钮。
  • 找到标有 编辑配置或查看原始配置的链接或按钮。
  • 这会打开 mcp_config.json。
  • 第三步:粘贴你的配置

    在 mcpServers 块中添加你的服务器。AntiGravity v1.20.x 支持 ${VAR_NAME} 环境变量替换,无需硬编码密钥。以下是一个结合 Supabase 和 git 工具的完整示例:

    {
    "mcpServers": {
    "my-supabase": {
    "command": "npx",
    "args": [
    "-y",
    "@modelcontextprotocol/server-postgres",
    "${SUPABASE_CONNECTION_STRING}"
    ]
    },
    "git-tool": {
    "command": "npx",
    "args": ["-y", "mcp-server-git", "–repository", "/path/to/your/repo"]
    }
    }
    }

    第四步:重新加载并验证

  • 保存文件。
  • 重启 AntiGravity(或重新加载窗口)。
  • 打开代理聊天并输入:「你有哪些可用工具?」
  • 代理应该列出 query_database、get_table_schema 等工具。
  • 进阶教程:构建你自己的 MCP 服务器

    有时,你需要的工具还没有 MCP 服务器。也许是内部遗留 API 或自定义 CLI 工具。AntiGravity 的美妙之处在于,你可以在大约 10 分钟内构建自己的服务器。

    前提条件

    • 已安装 Node.js。
    • 基本 TypeScript 知识。

    第一步:初始化项目

    mkdir my-custom-mcp
    cd my-custom-mcp
    npm init -y
    npm install @modelcontextprotocol/sdk zod
    npm install -D typescript @types/node
    npx tsc –init

    第二步:服务器代码(src/index.ts)

    我们将创建一个简单的服务器,暴露一个「获取内部系统状态」的工具。

    import { Server } from "@modelcontextprotocol/sdk/server/index.js";
    import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
    import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
    import { z } from "zod";

    // 1. 创建服务器实例
    const server = new Server(
    {
    name: "internal-tools",
    version: "1.0.0",
    },
    {
    capabilities: {
    tools: {},
    },
    }
    );

    // 2. 定义工具
    server.setRequestHandler(ListToolsRequestSchema, async () => {
    return {
    tools: [
    {
    name: "get_system_status",
    description: "检查内部遗留 API 的健康状态",
    inputSchema: {
    type: "object",
    properties: {
    environment: {
    type: "string",
    description: "prod 或 staging",
    },
    },
    required: ["environment"],
    },
    },
    ],
    };
    });

    // 3. 处理工具执行
    server.setRequestHandler(CallToolRequestSchema, async (request) => {
    if (request.params.name === "get_system_status") {
    const env = request.params.arguments?.environment;

    // 在真实应用中,这里会从你的 API 获取数据
    const status = env === "prod" ? "OPERATIONAL" : "MAINTENANCE";

    return {
    content: [
    {
    type: "text",
    text: `System status for ${env}: ${status}`,
    },
    ],
    };
    }
    throw new Error("Tool not found");
    });

    // 4. 通过 Stdio 连接
    const transport = new StdioServerTransport();
    await server.connect(transport);

    第三步:编译并配置

    编译你的 TypeScript:

    npx tsc

    添加到 mcp_config.json:

    {
    "mcpServers": {
    "internal-tools": {
    "command": "node",
    "args": ["/Users/a0000/Desktop/learn/my-custom-mcp/src/index.js"]
    }
    }
    }

    现在,重启 AntiGravity。你可以问代理:「检查 prod 的系统状态」,它就会执行你的自定义代码!

    注意package.json  声明"type": "module",

    故障排查与常见陷阱

    问题:「连接被拒绝」或代理说「工具未找到」

    • 解决方案:检查 mcp_config.json 中的命令路径。必须是绝对路径(如 /Users/name/…),而不是相对路径(./src/…)。
    • 解决方案:确保服务器实际正在运行。如果使用 npx,第一次运行可能会在下载包时超时。先在终端手动运行一次 npx 命令以缓存它。

    问题:「Stdio 错误」/JSON 解析错误

    • 原因:你的 MCP 服务器正在向 stdout 记录 console.log("Starting server…")。
    • 解决方案:MCP 通过 stdout 通信。任何非 JSON 输出都会破坏协议。将日志改用 console.error(),它输出到 stderr 不会破坏连接。

    问题:代理对工具参数产生幻觉

    • 解决方案:你 MCP 服务器定义中的 inputSchema 可能过于模糊。要明确。为 JSON schema 中的每个属性添加描述。代理读取这些描述来了解如何使用工具。

    未来是代理化的

    AntiGravity 是引擎,而 MCP 提供燃料。通过花时间配置这些服务器,你不仅仅是在使用 AI 代码生成器;你正在构建一个 AI 指挥中心。

    从一个集成开始——先尝试连接你的数据库。一旦体验到有实时数据上下文的编码速度,你就再也不会回到「Alt-Tab 之舞」了。

    模型上下文协议不仅仅是一个配置文件——它是下一个开发时代的基础。通过安全地连接你的工具,AntiGravity 打造了一个开发团队,其中 AI 代理不仅仅是参与者,而是完全集成的自主队友。

    迈出下一步:打开你的 AntiGravity IDE,访问管理 MCP 服务器面板,开始为你的代理提供它所需的工具。

    准备好探索了吗?访问我们的MCP 服务器目录,发现 1000+ 数据库、云平台、项目管理工具等领域的集成。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 如何在 Antigravity 中使用 MCP 服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!