agy-acp
Purpose
agy-acp is a security-focused ACP v1 adapter for the Antigravity CLI (agy). It lets an ACP client use an authenticated local agy installation over standard input and output. It is a protocol adapter, not an interactive chat command or a network server.
The project passes a pinned revision of the experimental official ACP TCK, but that tool does not certify complete protocol coverage.
Requirements
- Linux or macOS
- Python 3.13 or 3.14
- An installed and authenticated
agyexecutable available onPATH
Windows is outside the current support scope. Verify the backend before installing the adapter:
agy --version
agy models
agy-acp discovers the account-available model list with agy models at startup, so that command must succeed in the same environment used by the ACP client.
Installation
For an isolated command-line installation, use pipx:
pipx install agy-acp
agy-acp --version
Upgrade an existing installation with pipx upgrade agy-acp. pipx install creates the isolated environment during installation. It does not install or authenticate the required agy backend.
Without a permanent installation, pipx run creates and caches a temporary environment on first use:
pipx run agy-acp --help
Pin an exact release when reproducibility matters:
pipx run --spec "agy-acp==X.Y.Z" agy-acp --help
If pipx selects an unsupported interpreter, pass an installed Python 3.13 or 3.14 executable with --python. A project virtual environment can instead use:
python -m pip install agy-acp
Run the adapter
Check the installed command and its public options:
agy-acp --version
agy-acp --help
Starting the command without an option launches the ACP stdio server:
agy-acp
The process then waits for newline-delimited ACP JSON-RPC on standard input and writes protocol messages to standard output. No prompt or terminal UI is displayed; normally an ACP client launches and manages this process. Pressing Ctrl+C exits a direct invocation.
Configure an ACP client
ACP client configuration formats differ, but the command and argument pair for an installed adapter is:
{
"command": "agy-acp",
"args": []
}
To let pipx provide the adapter without a permanent installation, use:
{
"command": "pipx",
"args": ["run", "agy-acp"]
}
Place the object under the agent entry required by the client, then restart or reconnect the client. Ensure its launch environment can resolve both agy-acp (or pipx) and agy on PATH. The client supplies an existing absolute working directory when creating or resuming a session.
Options
Command-line options
| Option | Behavior |
|---|---|
-h, --help |
Show command usage and exit. |
--version |
Print the installed agy-acp version and exit. |
The public CLI intentionally has no --model or --effort flags. Those values are negotiated per session through standard ACP configuration options.
ACP session options
Compatible ACP clients receive these model and reasoning effort selectors and session fields:
| Option or field | Behavior |
|---|---|
model |
Offers default, followed by the account-specific models returned by agy models. |
effort |
Offers default for the agy-selected model and unsuffixed concrete models. For models ending in -low, -medium, -high, or -max, it offers the discovered sibling variants from that family. |
cwd |
Required existing absolute directory for a new or resumed session. |
additionalDirectories |
Optional ordered absolute directories passed to agy as literal arguments. |
mcpServers |
session/new requires a list (use [] when none); session/resume may omit it. Entries define stdio MCP servers with command, arguments, and environment values. |
Model and effort changes apply from the next prompt. An unsuffixed concrete model keeps effort at default. Returning model to default also resets effort to default. Restarting the adapter refreshes the cached model catalog.
Supported ACP behavior
- Create, prompt, cancel, resume, and close independent sessions.
- Stream ordered text updates and accept text or resource-link prompt blocks.
- Resume an
agyconversation identity without replaying prior history. - Run client-provided stdio MCP servers and preserve ordered additional directories.
- Reject unsupported or malformed methods and values with sanitized protocol errors.
session/load, HTTP/SSE/ACP MCP transports, image/audio prompt blocks, and experimental ACP v2 features are not supported or advertised.
Troubleshooting
agy-acp: server failed: runagy --versionandagy modelsin the same launch environment. The adapter intentionally keeps stderr errors generic and does not expose backend output.agycannot be found: add the directory containingagyto the ACP client's inheritedPATH; a terminal and a GUI-launched client may inherit different environments.- No output after running
agy-acp: this is expected for a stdio server waiting for an ACP client, not an interactive prompt. - Models or effort levels look stale: restart the adapter so it reruns bounded model discovery.
- pipx uses the wrong Python: reinstall or run with pipx's
--pythonoption pointing to Python 3.13 or 3.14.
Report reproducible defects through the GitHub issue tracker. Security reports follow the security policy.
Privacy and support
The adapter adds no telemetry, network listener, or credential store. Prompts, responses, MCP configuration, and account access remain subject to the installed agy CLI and its configured services.
Treat the ACP client and its stdio MCP definitions as trusted local code: configured commands run as the current user and inherit the launch environment after adapter-reserved and Python import controls are removed. The installed agy process is also inside the trusted boundary.
Metadata
Release files for agy-acp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agy_acp-0.2.1.tar.gz | 93.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agy_acp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.4 kB
Release files / agy_acp-0.2.1.tar.gz
| Download URL | agy_acp-0.2.1.tar.gz |
|---|---|
| Size | 93.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e214ec6cb3ec8cda9e055eb77c6f0f70d08bc1c1e838ae870c390040a14f259
|
|
BLAKE2b-256 checksum How to use checksums |
1e94234e2496e75a11a5e29e19a30975adbc3d4413582191ec568c080ecd8af8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / agy_acp-0.2.1-py3-none-any.whl
| Download URL | agy_acp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 42.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4dc485628204adf1a04fb167faa6c86d3a9e03f7c949bbf19adf6a136029bdbf
|
|
BLAKE2b-256 checksum How to use checksums |
fc89c8f88a8a0359bb11d81bc217bf7b64ccffb0665073c4346e448382b10d92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log