Google의 Antigravity CLI (agy)를 위한 MCP 도구 모음
요약
Google의 Antigravity CLI (`agy`)를 다양한 에이전트 환경에서 활용할 수 있도록 MCP(Multi-Client Protocol) 도구 모음으로 포장한 프로젝트입니다. 이 백엔드는 FastMCP stdio를 통해 11개의 타입 지정 JSON 도구를 노출하며, Claude Code와 OpenAI Codex 등 여러 플랫폼의 스킬 번들로도 배포됩니다.
핵심 포인트
- `agymcp`는 모든 MCP 클라이언트가 사용할 수 있는 표준 서버입니다.
- `agy_start`, `agy_continue` 등의 도구로 장기 작업을 백그라운드에서 처리할 수 있습니다.
- 이 프로젝트는 API 재구현 없이 포장, 라우팅, 격리, 감사 기능에 중점을 둡니다.
Google이 새로 발표한 Antigravity CLI (agy)를 임의의 MCP 클라이언트가 호출할 수 있는 협업 에이전트 백엔드로 포장합니다. 두 가지 동등한 경로가 있습니다:
MCP 서버: agymcp는 FastMCP stdio를 통해 11개의 typed JSON 도구를 노출하며, pydantic envelope로 안정적으로 파싱됩니다. 모든 MCP 클라이언트가 사용 가능합니다.
Skill bundles: ~/.claude/skills/, ~/.agents/skills/, ~/.agy/skills/에 설치하여 에이전트에게 언제 agy를 호출하고, 어떤 모드를 사용할지, 어떤 보안 규칙을 주의해야 하는지 가르칩니다. Claude Code / OpenAI Codex / Antigravity 세 곳에서만 유효합니다.
공유 백엔드: 두 경로 모두 동일한 bridge.py → adapter → safety policy → worktree를 거치므로 동작이 일관됩니다.
agy_doctor와 --dry-run을 제외하고, agy/agy_start는 실제 agy --print를 시작하여 Antigravity 요청 할당량을 소모할 수 있습니다. 본 프로젝트는 단순히 포장(wrapping), 라우팅(routing), 격리(isolating), 감사(auditing)만 하며, agy API 자체를 재구현하지 않습니다.
# 1. uv 설치 (이미 되어 있다면 건너뛰기)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. agy-mcp 설치 (PyPI에서)
...
로컬 에이전트가 직접 설치하도록 하기 (권장: 아래 프롬프트를 Claude Code / OpenAI Codex CLI에 복사하여 붙여넣으면, 스스로 읽고 실행하고 검증합니다.)
저에게 agy-mcp 오픈 소스 MCP를 설치하는 것을 도와주세요. 구체적인 목표는 다음과 같습니다:
1. uv 도구를 사용하여 이 저장소의 콘솔 스크립트(`agymcp` / `agy-bridge` / `agy-doctor` / `agy-install-skill`)를 설치합니다. 만약 로컬에 uv가 없다면, 먼저 다음을 사용하세요...
...
```toml
[mcp_servers.agy]
command =
| 도구 | 용도 |
|---|---|
`agy` | 일회성 동기 호출 (PROMPT / cd / sandbox / SESSION_ID + `mode` / `backend` / `output_protocol` / `worktree` / `allow_write` / `extra_env` ) |
`agy_continue` | `SESSION_ID` 이어가기 |
`agy_start` | 백그라운드에서 장기 작업 시작, 즉시 `job_id` 반환 |
`agy_status` | job 상태 확인: running / completed / failed / cancelled / upstream_error; `job_id`는 고유 접두사로 사용 가능 |
`agy_read` | job 이벤트 스트림 읽기 (raw / claude / codex 세 가지 프로토콜); `job_id`는 고유 접두사로 사용 가능 |
`agy_result` | 완료된 job 결과 가져오기; `job_id`를 전달하지 않으면 가장 최근에 완료된 작업 반환; 매개변수는 고유 접두사로 사용 가능 |
`agy_cancel` | 크로스 플랫폼 프로세스 그룹 종료; `job_id`는 고유 접두사로 사용 가능 |
`agy_sessions` | 최근 세션 목록 나열 |
`agy_doctor` | 환경 + 인증(credential) + 기능 탐지 (secrets 누출 없음) |
`agy_install_skill` | SKILL 번들을 Claude / Codex / Antigravity 디렉토리에 설치 |
`agy_purge` | 로컬 session-store 디렉토리 정리 (refuse `days<=0` ) |
| 시나리오 | 권장 경로 |
|---|---|
| 컨텍스트에서 직접 답변 가능한 Q&A | 호출하지 않고, 스스로 답변 |
| ... |
- 모든 오류 / 로그 / 응답 필드는 먼저 거쳐야 함
`SafetyPolicy.redact`
: `/Users/<u>/`
→`~/`
, PEM / JWT / AKID / Bearer는 모두 비식별화(de-sensitize); `mode=execute`
쓰기는 명시적으로 `allow_write=True`가 필요함
; 파괴적 프롬프트(destructive prompt)도 설정해도 거부됨; `execute`
모드에서는 읽기 / 언급하는 `~/.ssh`,
`~/.aws/credentials`,
브라우저 cookie, OS keychain 모두 거부됨; `mode=execute + allow_write`
기본적으로 `worktree=True` (설정 가능: `~/.config/agy-mcp/config.toml` 또는 `AGY_MCP_WORKTREE_DEFAULT=0`으로 비활성화); - `~/.gemini/`에 아무 파일도 쓰지 않음
(Antigravity CLI 자체 상태 디렉토리); user-scope antigravity skill은 `~/.agy/skills/`에 위치함.
완전한 위협 모델 및 「**방어하지 않는**」 목록 → `docs/security.md`
. 프로젝트 루트의 `CLAUDE.md` / `AGENTS.md`에 직접 복사:
`prompts/CLAUDE.md`
— Claude Code 협업 프로토콜
`prompts/AGENTS.md`
— OpenAI Codex 협업 프로토콜
`prompts/antigravity-system.md`
— `agy`
엔드 시스템 프롬프트 권장 사항
| 파일 | 내용 |
|---|---|
`docs/installation.md` | 설치 + Claude Code / Codex 등록 + SKILL + 검증 |
`docs/architecture.md` | 모듈 다이어그램 (caller / MCP server / bridge / supervisor / adapter / safety) |
`docs/output-strategy.md` | 하이브리드 백엔드: stdout + klog + transcript.jsonl + 프로토콜 변환기 |
`docs/README_EN.md` | 영어 README |
`docs/README_ZH-TW.md` | 번체 중국어 README |
`docs/README_JA.md` | 일본어 README |
`docs/security.md` | 위협 모델, 방어 목록, 명시적 비방어 항목 |
`docs/cli-capabilities.md` | `agy --help` 실측 + 기능(capability) 매트릭스 |
`docs/examples.md` | 7가지 전형적인 시나리오 |
`docs/comparison-with-cli-wrappers.md` | Stream-json passthrough vs 하이브리드 백엔드 두 가지 wrapper 모드 비교 |
`docs/release.md` | PyPI 신뢰 출판 + GitHub Release 배포 매뉴얼 (일회성 설정 + 일반 프로세스) |
`CHANGELOG.md` | 버전 변경 기록 (Keep a Changelog)
uv sync
uv run pytest # 전체 테스트
uv run agymcp # MCP stdio 서버 시작 (수동 테스트용)
...
MIT.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기