Agent Builder는 이제 이제 정식 버전으로 이용 가능합니다. Elastic Cloud 체험판으로 시작하고, 여기에서 Agent Builder 문서를 확인 해 보세요.
데이터와 상호 작용하는 것이 동료와 채팅하는 것처럼 쉬우면 어떨까요? "지난달의 500달러 이상 모든 주문 표시" 또는 "어떤 제품이 가장 많은 별점 리뷰를 받았나요?" 라고 질문하고 쿼리할 필요 없이 즉각적이고 정확한 답변을 받는다고 상상해 보세요.
모델 컨텍스트 프로토콜(MCP)이 이를 가능하게 합니다. 대화형 AI를 데이터베이스 및 외부 API와 원활하게 연결하여 복잡한 요청을 자연스러운 대화로 변환합니다. 최신 LLM은 언어 이해 능력이 뛰어나지만, 실제 시스템과 통합될 때 진정한 잠재력을 발휘합니다. MCP는 이러한 간극을 메워 데이터 상호 작용을 보다 직관적이고 효율적으로 만들어 줍니다.
이 게시물에서는 이에 대해 알아보겠습니다:
- MCP 아키텍처 - 내부 작동 방식
- Elasticsearch에 연결된 MCP 서버의 이점
- Elasticsearch 기반 MCP 서버구축하기
앞으로의 흥미로운 시간! MCP와 Elastic 스택의 통합은 정보와의 상호 작용 방식을 혁신하여 복잡한 쿼리를 일상적인 대화처럼 직관적으로 만듭니다.
모델 컨텍스트 프로토콜
Anthropic에서 개발한 MCP(모델 컨텍스트 프로토콜 )는 안전한 양방향 채널을 통해 AI 모델을 외부 데이터 소스에 연결하는 개방형 표준입니다. 대화 컨텍스트를 유지하면서 외부 시스템에 대한 실시간 액세스라는 AI의 주요 한계를 해결합니다.
MCP 아키텍처
모델 컨텍스트 프로토콜 아키텍처는 두 가지 주요 구성 요소로 이루어져 있습니다:
- MCP 클라이언트 - 사용자를 대신하여 정보를 요청하거나 작업을 실행하는 AI 어시스턴트 및 챗봇입니다.
- MCP 서버 - 관련 정보를 검색하거나 요청된 작업(예: 외부 API 호출)을 수행하는 데이터 저장소, 검색 엔진 및 API입니다.
MCP 서버는 네 가지 주요 기능을 클라이언트에 노출합니다:
- 리소스 - LLM 상호 작용을 위한 컨텍스트로 검색 및 사용할 수 있는 구조화된 데이터, 문서 및 콘텐츠입니다. 이를 통해 AI 어시스턴트는 데이터베이스, 검색 인덱스 또는 기타 소스에서 관련 정보에 액세스할 수 있습니다.
- 도구 - LLM이 외부 시스템과 상호 작용하거나 계산을 수행하거나 실제 작업을 수행할 수 있도록 하는 실행 가능한 함수입니다. 이러한 도구는 텍스트 생성을 넘어 AI 기능을 확장하여 어시스턴트가 워크플로우를 트리거하거나 API를 호출하거나 데이터를 동적으로 조작할 수 있도록 지원합니다.
- 프롬프트 - 재사용 가능한 프롬프트 템플릿 및 워크플로를 통해 일반적인 LLM 상호 작용을 표준화하고 공유할 수 있습니다.
- 샘플링 - 클라이언트를 통해 LLM 완료를 요청하여 보안과 개인정보 보호를 유지하면서 정교한 에이전트 동작을 가능하게 합니다.

MCP 서버 + Elasticsearch
기존의 검색 증강 생성(RAG) 시스템은 사용자 쿼리를 기반으로 문서를 검색하지만, MCP는 여기서 한 걸음 더 나아가 AI 에이전트가 실시간으로 동적으로 작업을 구성하고 실행할 수 있도록 지원합니다. 이를 통해 사용자는 다음과 같은 자연어 질문을 할 수 있습니다:
- "지난달의 500달러 이상 주문을 모두 표시합니다."
- "어떤 제품이 가장 많은 별점 리뷰를 받았나요?"
쿼리를 작성하지 않고도 즉각적이고 정확한 답변을 얻을 수 있습니다.
MCP는 이를 통해 이를 달성합니다:
- 동적 도구 선택 - 에이전트는 사용자 의도에 따라 MCP 서버를 통해 노출되는 적합한 도구를 지능적으로 선택합니다. "더 똑똑한" LLM은 일반적으로 상황에 따라 적절한 인수를 사용하여 올바른 도구를 선택하는 데 더 능숙합니다.
- 양방향 커뮤니케이션 - 에이전트와 데이터 소스가 유동적으로 정보를 교환하여 필요에 따라 쿼리를 구체화합니다(예. 조회 인덱스 매핑을 먼저 수행한 다음 ES 쿼리를 구성합니다.)
- 멀티 툴 오케스트레이션 - 워크플로에서 여러 MCP 서버의 툴을 동시에 활용할 수 있습니다.
- 지속적인 컨텍스트 - 상담원은 이전 상호 작용을 기억하여 대화 전반의 연속성을 유지합니다.
Elasticsearch에 연결된 MCP 서버는 강력한 실시간 검색 아키텍처를 제공합니다. AI 에이전트는 필요에 따라 Elasticsearch 데이터를 탐색, 쿼리, 분석할 수 있습니다. 간단한 채팅 인터페이스를 통해 데이터를 검색할 수 있습니다.
MCP는 단순한 데이터 검색을 넘어 조치를 가능하게 합니다. 다른 도구와 통합하여 워크플로를 트리거하고, 프로세스를 자동화하고, 분석 시스템에 인사이트를 제공할 수 있습니다. MCP는 검색과 실행을 분리함으로써 AI 기반 애플리케이션을 유연하고 최신 상태로 유지하며 에이전트 워크플로에 원활하게 통합합니다.
실습하기: Elasticsearch 데이터와 채팅하기 위한 MCP 서버
MCP 서버를 통해 Elasticsearch와 상호 작용하려면 최소한 다음과 같은 기능이 필요합니다:
- 인덱스 검색
- 매핑 가져오기
- Elasticsearch의 쿼리 DSL을 사용해 검색 수행하기
저희 서버는 타입스크립트로 작성되었으며, 공식 MCP 타입스크립트 SDK를 사용할 예정입니다. 설정을 위해서는 MCP 클라이언트가 내장되어 있는 Claude 데스크톱 앱(무료 버전으로도 충분)을 설치하는 것을 권장합니다. 당사의 MCP 서버는 기본적으로 MCP 도구를 통해 공식 JavaScript Elasticsearch 클라이언트를 노출합니다.
먼저 Elasticsearch 클라이언트와 MCP 서버를 정의해 보겠습니다:
Elasticsearch와 상호 작용할 수 있는 다음 MCP 서버 도구를 사용할 것입니다:
- 인덱스 목록 (list_indices): 이 도구는 사용 가능한 모든 Elasticsearch 인덱스를 검색하여 인덱스 이름, 상태, 문서 수와 같은 세부 정보를 제공합니다.
- 매핑 가져오기(get_mappings): 이 도구는 사용자가 저장된 문서의 구조와 데이터 유형을 이해할 수 있도록 지정된 Elasticsearch 인덱스에 대한 필드 매핑을 가져옵니다.
- 검색(검색): 이 도구는 제공된 쿼리 DSL을 사용하여 Elasticsearch 검색을 실행합니다. 텍스트 필드에 자동으로 하이라이트를 활성화하여 관련 검색 결과를 더 쉽게 식별할 수 있습니다.
전체 Elasticsearch MCP 서버 구현은 elastic/mcp-server-elasticsearch 리포지토리에서 확인할 수 있습니다.
색인과 채팅하기
"지난달의 500달러 이상 모든 주문 찾기와 같이 데이터에 대해 자연어 질문을 할 수 있도록 Elasticsearch MCP 서버를 설정하는 방법을 살펴보겠습니다."
Claude 데스크톱 앱 구성
- Claude 데스크톱 앱 열기
- 설정으로 이동 > 개발자 > MCP 서버
- "편집 구성" 을 클릭하고
claude_desktop_config.json에 이 구성을 추가합니다:
참고: 이 설정은 Elastic에서 게시한 @elastic/mcp-server-elasticsearch npm 패키지를 활용합니다. 로컬에서 개발하려는 경우, 여기에서 Elasticsearch MCP 서버를 가동하는 방법에 대한 자세한 내용을 확인할 수 있습니다.
Elasticseach 인덱스 채우기
- 예제 데이터를 사용하여 이 데모의 "orders" 인덱스를 채울 수 있습니다.
- "지난달의 $500 이상 모든 주문 찾기와 같은 쿼리를 시도해 볼 수 있습니다."
사용 시작
- Claude 데스크톱 앱에서 새 대화 열기
- MCP 서버가 자동으로 연결됩니다.
- Elasticsearch 데이터에 대한 질문을 시작하세요!
이 데모를 통해 자연어를 사용해 Elasticsearch 데이터를 쿼리하는 것이 얼마나 쉬운지 확인해 보세요:
어떻게 작동하나요?
'지난달의 500달러 이상 모든 주문 찾기'라는 요청을 받으면 LLM은 지정된 제약 조건으로 Elasticsearch 인덱스를 검색하려는 의도를 인식합니다. 효과적인 검색을 수행하기 위해 상담원은 다음과 같이 파악합니다:
- 인덱스 이름을 알아냅니다:
orders orders인덱스의 매핑 이해- 인덱스 매핑과 호환되는 쿼리 DSL을 빌드하고 마지막으로 검색 요청을 실행합니다.
이 상호 작용은 다음과 같이 표현할 수 있습니다:

결론
모델 컨텍스트 프로토콜은 복잡한 쿼리 대신 자연어 대화를 가능하게 하여 Elasticsearch 데이터와 상호 작용하는 방식을 개선합니다. MCP는 AI 기능과 데이터를 연결하여 상호 작용 전반에 걸쳐 컨텍스트를 유지하는 보다 직관적이고 효율적인 워크플로우를 만듭니다.
Elasticsearch MCP 서버는 공개 npm 패키지(@elastic/mcp-server-elasticsearch)로 제공되므로 개발자가 쉽게 통합할 수 있습니다. 최소한의 설정으로 팀은 간단한 대화를 통해 데이터를 탐색하고, 워크플로를 트리거하고, 인사이트를 얻을 수 있습니다.
직접 체험해 볼 준비가 되셨나요? 지금 바로 Elasticsearch MCP 서버를 사용해 보고 데이터와 채팅을 시작하세요.




