如何在 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+ 数据库、云平台、项目管理工具等领域的集成。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)