反重力↔ 克劳德代码桥(MCP)
A. 模型上下文协议(MCP) 连接Google Antigravity和Claude Code的服务器。反重力扮演着战略协调者的角色;Claude Code通过一个委托工具处理咨询、验证和实际实施。
建筑
Antigravity (Orchestrator)
│
│ stdio (MCP)
▼
Python MCP Server
│
│ subprocess --output-format json
▼
Claude Code CLI
│
▼
Local Filesystem / Tests每一次处决都是 短暂的:每次调用后,Claude Code会话历史记录都会立即删除,以确保下一次请求的清白。
工具暴露在反重力下
delegate(context, role, task, required_skill?, target_files?)
将任何任务委托给Claude Code。这 role 字段定义了代理的姿态——同一工具用于咨询、验证和实现。
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
context | string | yes | 当前场景概述 |
role | string | yes | 任务的角色(例如。, "Python Performance Expert") |
task | string | yes | 要执行的确切操作 |
required_skill | string | no | 要激活的技能(例如。, "python-expert", "gin-expert") |
target_files | string\[\] | no | 要修改或创建的文件-- 硬限制为3 |
硬失败: 请求超过3个 target_files 立即被拒绝 "status": "error"反重力必须把任务分解。
保持模式: 任何故障(克劳德代码错误、超时、子模块污染)都会返回 "status": "holding"反重力必须暂停自动化,等待人类干预。
______________________________________________________________________
先决条件
- Python 3.13+
- 克劳德代码CLI 已安装并验证(
claude --version)
______________________________________________________________________
本地设置
1.克隆并进入项目
git clone claude-advisor
cd claude-advisor2.配置环境
cp .env.example .env编辑 .env 并设置 WORKSPACE_PATH 该MCP服务器将管理的项目的绝对路径。
3.创建Python环境并安装依赖项
make setup4.启动MCP服务器
make serve服务器通过以下方式进行通信 标准 --它将静默等待MCP消息。这是预期的行为。
(可选)启动时自动启动
要将服务器注册为Ubuntu自动启动的systemd用户服务:
make install-service这会产生 ~/.config/systemd/user/claude-advisor.service,启用它,并运行 loginctl enable-linger 因此,即使没有活动的登录会话,服务也会持续存在。
要删除它:
make uninstall-serviceMakefile引用
| 命令 | 描述 |
|---|---|
make setup | 创建 .venv 并安装依赖项 |
make serve | 启动MCP服务器 |
make dev | 别名为 serve |
make install-service | 注册为systemd用户服务(启动时自动启动) |
make uninstall-service | 停止、禁用和删除systemd服务 |
______________________________________________________________________
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
WORKSPACE_PATH | . | 此服务器管理的项目的绝对路径 |
CLAUDE_BIN | claude | Claude Code CLI二进制文件的绝对路径——如果 claude 不在子进程PATH中 |
EXECUTION_TIMEOUT_SECONDS | 300 | 单身人士的硬性截止日期 delegate 呼叫 |
______________________________________________________________________
注册反重力
将以下条目添加到您的反重力MCP配置中:
{
"mcpServers": {
"claude-advisor": {
"command": "/absolute/path/to/claude-advisor/.venv/bin/python",
"args": ["-m", "src.server"],
"cwd": "/absolute/path/to/claude-advisor",
"env": {
"WORKSPACE_PATH": "/absolute/path/to/managed/project",
"CLAUDE_BIN": "/absolute/path/to/claude"
}
}
}
}始终使用绝对路径。MCP服务器作为子进程生成——相对路径将无法正确解析。
______________________________________________________________________
使用Claude Code注册(作为MCP服务器)
claude mcp add claude-advisor \
/absolute/path/to/.venv/bin/python \
-a "-m" -a "src.server" \
--cwd /absolute/path/to/claude-advisor验证注册:
claude mcp list______________________________________________________________________
验证服务器是否正常工作
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' \
| python -m src.server您应该收到一个JSON响应 serverInfo.name: "claude-advisor" 和那个 delegate 下面列出的工具 capabilities.
______________________________________________________________________
项目结构
claude-advisor/
├── .env.example
├── requirements.txt
├── Makefile
├── src/
│ ├── server.py # MCP server entrypoint — exposes delegate tool
│ ├── config.py # Settings via pydantic-settings
│ ├── tools/
│ │ └── executor.py # delegate tool implementation
│ └── bridge/
│ ├── cli.py # Claude Code subprocess handler, JSON parsing, session history cleanup
│ └── workspace.py # analyze_workspace + submodule contamination check______________________________________________________________________
子模块安全
Git子模块通过以下方式自动检测 git submodule status --recursive.Claude Code在其提示符中收到显式的只读约束,桥运行 git status --porcelain 执行后在每个子模块内部。任何检测到的变化都会触发 holding 状态。
