Observed since 20 Oct, 18:23 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Multi-provider ACP to OpenAI-compatible proxy CLI
Multi-provider ACP proxy CLI that exposes OpenAI-compatible REST APIs backed by Agent Client Protocol subprocess providers.
/chat/completions, Responses API, and Anthropic /v1/messagesstart/stop/status/restart/dashboardRun directly with uvx -- nothing to install:
uvx acp-to-api serve --provider '{"name":"cursor","command":"agent","args":["acp"]}'
Or with a config file:
uvx acp-to-api serve --config acp-to-api.toml
uv add acp-to-api
Or with pip:
pip install acp-to-api
For development:
git clone https://github.com/pingu1m/acp-to-api.git
cd acp-to-api
uv sync --dev
agent, kiro-cli, codex-acp, claude-code-acp)This project uses the official ACP Python SDK.
Example acp-to-api.toml:
port = 11434
host = "127.0.0.1"
[providers.cursor]
command = "agent"
args = ["acp"]
[providers.kiro]
command = "kiro-cli"
args = ["acp", "--trust-all-tools"]
If no config file exists, acp-to-api creates a starter config at ~/.config/acp-to-api/config.toml on first run.
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:11434/api/v1/cursor/openai",
api_key="unused",
)
resp = client.chat.completions.create(
model="cursor",
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
print(resp.choices[0].message.content)
uvx acp-to-api start --config acp-to-api.toml # background
uvx acp-to-api status
uvx acp-to-api stop
uvx acp-to-api restart --config acp-to-api.toml
Install as a system service (auto-start on boot):
uvx acp-to-api setup --config acp-to-api.toml # macOS launchd / Linux systemd
uvx acp-to-api setup --uninstall
Open http://127.0.0.1:11434/dashboard to see live trace events, manage providers, and inspect request/response payloads.
--raw-acp -- logs ACP JSON-RPC traffic--raw-rest -- logs REST requests and responsestemperature, max_tokens) are accepted for API compatibility but not forwarded to the ACP agent.acp-to-api is designed for local/trusted-network use only. The API has no authentication; anyone who can reach the server can invoke providers, which spawn subprocesses.
127.0.0.1 (localhost only). Use --host 0.0.0.0 only if you trust your network.uvx --from . --with pytest --with httpx --with pytest-asyncio pytest -v
uvx ruff check .
uvx ruff format .
uv build
uv publish
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.1 | 1 May 2026 | 7 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 18:23 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6d197635d273dd52800772e5ca6ed91e06bffee5787e80c94c5da478d93c7e20