acp-proxy-server
v1.0.5
Published
Proxy server that connects ACP agents to Chrome extension, exposing browser tools via MCP
Readme
ACP Proxy Server
A WebSocket proxy server that bridges Chrome extensions to ACP (Agent Client Protocol) agents.
Part of the chrome-acp monorepo.
Installation
From npm
npm install -g acp-proxy-serverFrom source
# From monorepo root
bun installUsage
Via npx
npx acp-proxy-server /path/to/agentVia global install
acp-proxy /path/to/agentVia source
bun src/cli/bin.ts /path/to/agentExamples
# Basic usage
acp-proxy /path/to/agent
# With custom port
acp-proxy --port 9000 /path/to/agent
# With debug logging
acp-proxy --debug /path/to/agent
# Pass arguments to the agent (use -- to separate)
acp-proxy /path/to/agent -- --verbose --model gpt-4CLI Reference
USAGE
acp-proxy [--port value] [--debug] <command>...
acp-proxy --help
acp-proxy --version
FLAGS
[--port] Port to listen on [default = 9315]
[--debug] Enable debug logging
-h --help Print help information and exit
-v --version Print version information and exit
ARGUMENTS
command... Agent command followed by its argumentsHow It Works
The proxy server:
- Listens for WebSocket connections from the Chrome extension
- When a "connect" message is received, spawns the configured ACP agent as a subprocess
- Bridges messages between the WebSocket (extension) and stdin/stdout (agent)
- Exposes browser tools to agents via MCP (Model Context Protocol)
This allows Chrome extensions to communicate with ACP agents despite not being able to spawn subprocesses directly.
Browser Tools (via MCP)
The proxy server exposes an MCP endpoint at http://localhost:{port}/mcp with these tools:
| Tool | Description |
|------|-------------|
| browser_read | Read current page content (returns simplified DOM) |
| browser_execute | Execute JavaScript on the page |
| browser_screenshot | Capture screenshot of current page |
License
MIT
