> ## Documentation Index
> Fetch the complete documentation index at: https://lab.pollack.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ACP Java SDK

> Agent Communication Protocol — build agents, consume agents, integrate with IDEs using a standard protocol

**[What's New →](/docs/acp-java-sdk/whats-new)**

Pure Java implementation of the Agent Communication Protocol (ACP) — a standard for agent-to-agent and agent-to-IDE communication. Build agents that any ACP-compatible IDE can connect to, or consume agents from any ACP-compatible runtime. Three-phase lifecycle: Initialize → Session → Prompt. Three agent API styles: sync, async, and annotation-driven.

ACP is the planned wire protocol for `A2AStep` in [Agent Workflow](/projects/agent-workflow) — wrapping a remote agent as a local `Step<I,O>`.

**What's new in 0.14.0:** stable `logout` and `session/delete` agent methods; the session config-option API promoted to stable; unstable provider-configuration methods (`providers/list`, `providers/set`, `providers/disable`); `additionalDirectories` workspace roots and per-chunk `messageId`; Jackson aligned to 2.21.2.

## Getting Started

<CardGroup cols={2}>
  <Card title="Overview" icon="play" href="/docs/acp-java-sdk/index">
    Client SDK, agent SDK, test utilities — three-phase lifecycle, three API styles
  </Card>

  <Card title="First Contact" icon="rocket" href="/docs/acp-java-sdk/tutorial/01-first-contact">
    Launch an agent subprocess, create a session, send your first prompt
  </Card>
</CardGroup>

## Tutorials

Progressive modules across multiple parts:

<CardGroup cols={2}>
  <Card title="Client Basics" icon="graduation-cap" href="/docs/acp-java-sdk/tutorial/02-protocol-basics">
    Protocol basics, sessions, prompts, streaming updates, agent requests, permissions, error handling
  </Card>

  <Card title="Building Agents" icon="robot" href="/docs/acp-java-sdk/tutorial/12-echo-agent">
    Echo agent (25 lines), handlers, sending updates, agent requests, in-memory testing, capability negotiation, MCP servers
  </Card>

  <Card title="Advanced" icon="bolt" href="/docs/acp-java-sdk/tutorial/21-async-client">
    Async client with Project Reactor, async agent, reactive patterns
  </Card>

  <Card title="IDE Integration" icon="window" href="/docs/acp-java-sdk/tutorial/28-zed-integration">
    Zed, JetBrains, and VS Code integration guides
  </Card>
</CardGroup>

## Reference

<CardGroup cols={2}>
  <Card title="Java API Reference" icon="code" href="/docs/acp-java-sdk/reference/java">
    Client classes, agent classes, protocol types, transports, error codes
  </Card>

  <Card title="Source Code" icon="github" href="https://github.com/agentclientprotocol/java-sdk">
    SDK implementation — client and server support
  </Card>

  <Card title="Tutorial Code" icon="github" href="https://github.com/markpollack/acp-java-tutorial">
    Runnable tutorial modules with integration tests
  </Card>
</CardGroup>

## Role in the Lab

* **[Agent Workflow](/projects/agent-workflow)** — planned `A2AStep` will wrap remote ACP agents as local `Step<I,O>` in workflows
* ACP standardizes how agents discover, connect, and delegate — the communication backbone for multi-agent architectures
* IDE integration enables agents built with Agent Workflow to run inside Zed, JetBrains, and VS Code
