테마
Agent Client Protocol (ACP)
목표
ACP가 무엇이고 MCP와 어떻게 다른지, 그리고 JetBrains IDE·Zed 같은 ACP 호환 에디터에서 Kiro를 에이전트로 쓰는 방법을 이해합니다.
개념
ACP(Agent Client Protocol)는 에디터, 애플리케이션, 또는 커스텀 통합을 Kiro 에이전트에 연결합니다. Kiro IDE·CLI·Web·Mobile은 모두 ACP로 같은 unified agent harness에 연결하므로, 에이전트 구현이 모든 surface에서 공유됩니다. JetBrains IDE·Zed 같은 ACP 호환 에디터도 같은 프로토콜로 연결되어, 각 클라이언트가 구현한 표준 기능을 받습니다.
Kiro 앱은 표준 ACP 메서드(세션·프롬프트 수명주기)와 함께, 실시간 Steering·Specs·풍부한 권한 상호작용·컨텍스트 추적 같은 Kiro 확장을 씁니다. 호환 에디터는 자신이 구현한 표준 기능을 받고, 양쪽이 지원할 때 선택적 Kiro 확장을 쓸 수 있습니다.
💡 공유 harness가 모든 클라이언트 경험을 같게 만들지는 않습니다. 에디터마다 UI·콜백·전송·선택적 확장이 다르므로, 클라이언트는 기능 동등성을 가정하지 말고 capability를 협상해야 합니다.
ACP와 MCP의 차이
ACP와 MCP는 harness의 서로 다른 쪽에 있습니다.
| 프로토콜 | 연결 대상 | 핵심 질문 |
|---|---|---|
| ACP | 에디터·앱 등 클라이언트 ↔ Kiro 에이전트 harness | 사용자가 에이전트와 어떻게 상호작용하고 제어하는가? |
| MCP | Kiro 에이전트 harness ↔ 외부 도구·데이터 | 에이전트가 쓸 수 있는 시스템은 무엇인가? |
클라이언트는 ACP로 프롬프트를 보내고 세션 업데이트를 받습니다. harness는 작업하는 동안 내장 도구나 MCP 서버를 호출할 수 있습니다. 즉 ACP 클라이언트는 인터페이스를 제공하고, MCP는 에이전트가 할 수 있는 일을 확장합니다.
공유되는 것과 다른 것
에이전트 측 capability는 한 클라이언트가 아니라 harness에 있습니다. 세션에서 사용 가능할 때, harness는 어느 클라이언트가 세션을 열었든 같은 프로젝트 설정, 에이전트 정의, Steering, 권한, Hooks, Skills, MCP 서버를 적용합니다.
클라이언트는 그 capability를 어떻게 보여줄지와 클라이언트 소유 콜백을 책임집니다. 다음과 같은 차이가 있을 수 있습니다.
- 세션·도구 호출 표현 방식
- 권한·구조화 입력 인터페이스
- 에디터 네이티브 파일·터미널·코드 인텔리전스 콜백
- 로컬 또는 원격 전송
- 선택적 Kiro 확장 지원 여부
기능이 모든 클라이언트에서 되는지 가정하지 말고, 각 기능의 공식 availability 안내를 먼저 확인하세요.
호환 에디터에서 Kiro 쓰기
Kiro CLI는 ACP를 구현하므로, 에이전트마다 커스텀 통합을 만들지 않고도 호환 에디터에서 쓸 수 있습니다. Kiro를 ACP 에이전트로 실행합니다.
레거시 CLI v2 ACP 서버 기준
아래 에디터 설정은 공식 Kiro CLI ACP 페이지를 따르며, 이 페이지는 에디터 설정과 레거시 CLI v2 ACP 서버를 설명합니다. CLI V3로 옮기는 ACP 클라이언트를 관리한다면 Migrate an ACP client to CLI V3를 따르세요. V3는 kiro-cli acp --agent-engine=v3로 시작하며, --agent·--model·--effort·--trust-all-tools·--trust-tools 같은 v2 전용 플래그를 acp 명령에서 거부합니다.
bash
kiro-cli acp특정 에이전트 설정을 쓰려면:
bash
kiro-cli acp --agent my-agent에이전트는 stdin/stdout으로 JSON-RPC 2.0을 주고받습니다.
💡 에디터 설정에는
kiro-cli의 전체 경로를 쓰세요. IDE는 셸의 PATH를 상속하지 않는 경우가 많습니다.which kiro-cli로 경로를 확인하세요(Linux/macOS에서 보통~/.local/bin/kiro-cli).
JetBrains IDE
JetBrains IDE(IntelliJ IDEA, WebStorm, PyCharm 등)는 AI Assistant를 통해 ACP를 지원합니다. AI Chat 도구 창을 열고 설정 버튼에서 Add Custom Agent를 선택한 뒤, ~/.jetbrains/acp.json에 추가합니다.
json
{
"agent_servers": {
"Kiro Agent": {
"command": "/full/path/to/kiro-cli",
"args": ["acp"]
}
}
}에이전트가 AI Chat 모드 선택기에 나타납니다.
Zed
Zed는 ACP 에이전트를 기본 지원합니다. Zed 설정(~/.config/zed/settings.json)에 추가합니다.
json
{
"agent_servers": {
"Kiro Agent": {
"type": "custom",
"command": "~/.local/bin/kiro-cli",
"args": ["acp"],
"env": {}
}
}
}Zed의 AI 패널 에이전트 선택기에서 "Kiro Agent"를 고릅니다.
그 밖의 에디터
ACP를 지원하는 모든 에디터는 kiro-cli acp를 spawn하고 stdio로 JSON-RPC를 주고받아 Kiro를 통합할 수 있습니다.
해볼 것
which kiro-cli로 전체 경로를 확인합니다.- 쓰는 에디터(JetBrains 또는 Zed) 설정 파일에 위 예시대로
kiro-cli acp를 등록합니다. - 에디터의 에이전트 선택기에서 "Kiro Agent"를 고르고 간단한 프롬프트를 보내 연결을 확인합니다.
더 알아보기
- Agent Client Protocol (ACP) — 클라이언트·harness 아키텍처
- Kiro CLI ACP — 에디터 설정 — JetBrains·Zed 설정 상세와 레거시 CLI v2 ACP 서버
- Kiro 동작 원리 — unified agent harness 이해
- MCP — 에이전트를 외부 도구·데이터에 연결
출처: kiro.dev 공식 문서 "Agent Client Protocol (ACP)" (2026-10-26 확인).