Agent Client Protocol (ACP)

Eintrag zuletzt aktualisiert am: 11.09.2026

Das Agent Client Protocol (ACP) ist ein offener Standard für die Kommunikation zwischen einer Entwicklungsumgebung (IDE/Editor) und einem KI-Coding-Agenten. Man kann ACP vereinfacht als das "LSP für KI-Agenten" betrachten.

Beide Seiten können Methoden aufrufen und Notifications senden:


Client: IDE oder Editor; stellt Oberfläche, geöffnete Dateien, Terminal und Benutzerinteraktion bereit.

Agent: KI-gestütztes Programm, das Aufgaben analysiert, Dateien bearbeitet, Befehle ausführt und Ergebnisse liefert.

Beispiele:
  • VS Code steuert einen Coding-Agenten
  • CRM startet einen Vertriebs-Agenten
  • Web-Anwendung startet einen Recherche-Agenten

Protokolle (wie bei MCP)

Ursprung

ACP entstand 2025 aus dem Umfeld moderner Code-Editoren. Ziel war es, AI-Agenten unabhängig von einer bestimmten IDE nutzbar zu machen. Besonders Zed, Google und später JetBrains treiben ACP voran.

Abgrenzung

ACP (Editor/IDE ↔ Coding-Agent ): Agent im Entwicklungsarbeitsplatz steuern
MCP ( KI-Host/Agent ↔ Tool-, Daten- oder Kontextserver ): Werkzeuge, Ressourcen und Prompts bereitstellen
A2A ( Agent ↔ Agent ): Aufgaben zwischen eigenständigen Agenten delegieren

Ein ACP-Agent kann intern MCP-Server verwenden. Beispielsweise kann ein Agent über ACP von einer IDE den Auftrag „Füge eine Funktion hinzu“ erhalten und über MCP auf Tickets, Datenbanken oder Unternehmensdokumentation zugreifen.

SDKs

Kotlin: https://github.com/agentclientprotocol/kotlin-sdk
Java: https://github.com/agentclientprotocol/java-sdk
Python: https://github.com/agentclientprotocol/python-sdk
Rust: https://crates.io/crates/agent-client-protocol
TypeScript: https://www.npmjs.com/package/@agentclientprotocol/sdk
.NET: https://github.com/AgenticDesktop/ACPLibrary
Weitere: https://agentclientprotocol.com/libraries/community

Beispiel

Ein typischer Ablauf:
  • Der Client ruft initialize auf. Beide Seiten handeln Protokollversion und unterstützte Fähigkeiten aus.
  • Falls nötig, erfolgt eine Anmeldung, in ACP v2 etwa über auth/login.
  • Der Client erzeugt mit session/new eine Arbeitssitzung.
  • Mit session/prompt übermittelt er die Benutzeraufgabe.
  • Der Agent sendet fortlaufend session/update-Notifications, z. B. Mit Textausgaben, Fortschritt, Bearbeitungen oder Rückfragen nach Berechtigungen.
  • Der Client kann den Vorgang mit session/cancel abbrechen. Ist der Agent wieder bereit, meldet er einen Leerlaufzustand.

Beispiel einer Anfrage zum Start einer Sitzung:

{
"jsonrpc": "2.0",
"id": 1,
"method": "session/new",
"params": {
"cwd": "/src/MyProject"
}
}

Die konkrete Ausgestaltung ist umfangreicher: ACP berücksichtigt Sitzungen, Arbeitsverzeichnisse, Dateiinhalte und -änderungen, Terminalzugriff, Berechtigungsabfragen, Fortschrittsmeldungen sowie die Wiederaufnahme von Sitzungen. Dateipfade müssen absolut sein; Zeilennummern sind einsbasiert.