Claude Acp Server banner
0xSero 0xSero

Claude Acp Server

Development community

Description

Anthropic-compatible HTTP facade over claude-agent-acp

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

`claude-acp-server`

`claude-acp-server` is a small HTTP server that makes a `claude-agent-acp` backend look like the Anthropic Messages API.

The northbound interface is Anthropic-compatible enough for clients that expect:

  • POST /v1/messages
  • GET /v1/models
  • server-sent events for stream: true
  • anthropic-version
  • x-api-key or Authorization: Bearer ...

The southbound interface is ACP over stdio.

What This Is

This project exists for one specific reason: some clients only know how to talk to the Anthropic API, while the real agent runtime is exposed through ACP. This server sits between those two sides and translates requests in both directions.

The shape is:

Anthropic client
  -> claude-acp-server
  -> claude-agent-acp
  -> ACP-backed Claude agent

It does not try to replace `claude-agent-acp`. It uses `claude-agent-acp` as the backend engine and only changes the interface that clients talk to.

Why It Works

It works because the problem is mostly interface translation, not model translation.

  • Anthropic clients send a structured message request.
  • ACP expects a session plus a prompt payload.
  • claude-agent-acp already knows how to run the agent and manage ACP session state.
  • This server turns an Anthropic request into ACP prompt input, forwards it to claude-agent-acp, then turns the resulting ACP updates back into Anthropic message JSON or Anthropic SSE events.

The server stays small because it does not try to emulate Anthropic's full platform. It only implements the inference surface needed for normal message-based clients.

What It Does

  • Validates Anthropic-style request headers.
  • Starts and maintains a persistent claude-agent-acp subprocess.
  • Creates a new ACP session when x-acp-session-id is absent.
  • Reuses an ACP session when x-acp-session-id is present.
  • Maps Anthropic message content into ACP prompt blocks.
  • Maps ACP streamed text updates into Anthropic SSE events.
  • Returns Anthropic-shaped no