AWS, Kiro CLI에 Bedrock AgentCore Memory 붙이는 MCP 서버 공개
AWS가 자사 터미널 기반 에이전트 IDE 'Kiro CLI'의 세션 간 대화 기억을 확장하는 커스텀 MCP(Model Context Protocol) 서버 구현 가이드를 ML 블로그에 공개했다. Amazon Bedrock AgentCore Memory와 Kiro CLI를 MCP로 연결해, 매 세션마다 같은 맥락을 반복 입력해야 하는 비효율을 해소하는 것이 핵심이다.
AWS는 대규모 코드베이스와 복잡한 비즈니스 요구사항을 다루는 개발자가 IDE에 같은 컨텍스트를 반복적으로 제공해야 하는 점을 문제로 짚었다. Kiro CLI는 현재 세션 동안만 대화 이력을 기억하기 때문에 새 세션을 열 때마다 대화에서 도출된 사용자 선호도와 인사이트가 사라진다.
솔루션은 세 가지 컴포넌트로 구성된다. 첫째, 풀매니지드 서비스인 Amazon Bedrock AgentCore Memory가 대화 맥락을 저장·검색하고 시맨틱 검색을 내장 제공한다. 둘째, 커스텀 MCP 서버가 AgentCore Memory의 기능을 MCP 호환 클라이언트가 쓸 수 있도록 노출한다. 셋째, Kiro CLI가 STDIO 프로토콜로 이 MCP 서버에 접속해 대화 이력을 저장·조회한다.
MCP 서버는 세 부류의 도구를 제공한다. 대화 도구는 주제·시점별 대화 이력 검색, 일관된 세션 ID로 대화 저장, 전체 대화 내용 조회, 저장 세션 목록 조회를 다룬다. 모니터링 도구는 메모리 사용량 통계와 MCP 서버 구성 확인을 담당하고, 관리 도구는 특정 세션 또는 저장 데이터 삭제 기능을 제공한다.
검색은 2단계 전략을 쓴다. 우선 Bedrock AgentCore Memory의 retrieve_memory_records API로 시맨틱 검색을 시도하고, 시맨틱 처리 완료 전이라도 결과를 얻을 수 있도록 AgentCore Memory 세션에 저장된 원시 대화 페이로드를 이벤트 수준에서 직접 매칭하는 폴백 단계를 둔다. 프롬프트에 'recent', 'last night', 'yesterday' 같은 시간 표현을 그대로 쓸 수 있다.
저장 네임스페이스는 /strategy/semanticMemoryStrategy/actor/{actorId}/session/{sessionId} 형식을 따른다. 행위자 식별자는 두 가지 중에서 선택한다. 기본값은 시스템 USER 환경변수에서 가져오는 User ID 모드이며, 팀이나 프로젝트 단위로 기억을 분리하려면 Project ID 모드를 골라 별도 식별자를 지정한다.
설치는 저장소 클론, 파이썬 가상환경 생성과 의존성 설치, Bedrock AgentCore Memory 리소스 생성과 Kiro 에이전트 설정 자동 생성 명령을 순서대로 실행하는 방식이다. 기본 에이전트로 쓰려면 ~/.kiro/settings/cli.json에 {"chat.defaultAgent": "kiro_memory"}를 추가한다. 로그인은 AWS Builder ID 또는 조직의 Kiro 구독으로 가능하다.
agentcore-memory-mcp-server가 Kiro 세션에 노출하는 도구는 clear_all_data, delete_session, get_direct_conversation_history, get_memory_stats, get_server_config, get_session_details, list_sessions, search_conversation_history, search_memories, store_conversation 등이다. /mcp 명령으로 서버 목록을, /tools 명령으로 도구 목록을 확인할 수 있다.
Kiro CLI는 프롬프트에 따라 MCP 서버를 호출하며, Kiro CLI 훅이 매 대화 후 자동으로 내용을 저장한다. 사용자가 'AWS DevOps agent란 무엇인가'라고 물은 뒤 세션을 종료하고 다시 로그인해 'AWS DevOps agent에 관해 무엇을 이야기했나'라고 물으면, MCP 서버가 Bedrock AgentCore Memory에서 관련 정보를 찾아 답한다.