LlamaIndex MCP 서버
LlamaIndex
LlamaIndex MCP 서버는 LlamaIndex 프레임워크를 기반으로 구축된 MCP 서버로, LLM(대규모 언어 모델)이 데이터 색인, 쿼리 및 검색 기능에 접근할 수 있도록 해주는 도구입니다. 이 서버는 RAG(Retrieval-Augmented Generation) 애플리케이션 개발을 위한 강력한 기능을 제공합니다.
특징
- 다양한 데이터 소스(PDF, 텍스트, CSV, JSON 등)에서 데이터 로딩
- 효율적인 인덱싱 및 청크 처리
- 다양한 벡터 저장소 지원(Pinecone, Weaviate, Chroma 등)
- 복잡한 쿼리 처리 및 응답 합성
- 문서 검색 및 질문-답변(Q&A) 시스템 구축 지원
API
리소스
llamaindex://indexes- 사용 가능한 인덱스 목록llamaindex://indexes/{index_name}- 특정 인덱스의 정보llamaindex://documents- 로드된 문서 목록llamaindex://documents/{document_id}- 특정 문서의 상세 정보
도구
인덱스 관리 도구
create_index
새 인덱스를 생성합니다.
- 입력:
- name: 인덱스 이름
- index_type: 인덱스 유형 (예: "vector_store", "list", "tree", "keyword_table")
- vector_store_type: 벡터 저장소 유형 (선택 사항, 예: "chroma", "pinecone", "weaviate")
- vector_store_params: 벡터 저장소 매개변수 (선택 사항)
delete_index
인덱스를 삭제합니다.
- 입력:
- name: 삭제할 인덱스 이름
index_documents
문서를 인덱싱합니다.
- 입력:
- index_name: 대상 인덱스 이름
- documents: 인덱싱할 문서 배열 또는 문서 경로
- metadata: 연관된 메타데이터 (선택 사항)
- chunk_size: 청크 크기 (선택 사항, 기본값: 1024)
- chunk_overlap: 청크 오버랩 (선택 사항, 기본값: 20)
쿼리 도구
query_index
인덱스를 쿼리합니다.
- 입력:
- index_name: 쿼리할 인덱스 이름
- query: 쿼리 텍스트
- mode: 쿼리 모드 (예: "default", "summarize", "tree")
- similarity_top_k: 검색할 유사 문서 수 (선택 사항, 기본값: 2)
- response_mode: 응답 모드 (예: "refine", "compact", "tree_summarize")
chat_query
대화형 쿼리를 처리합니다.
- 입력:
- index_name: 쿼리할 인덱스 이름
- message: 사용자 메시지
- chat_history: 대화 이력 (선택 사항)
- similarity_top_k: 검색할 유사 문서 수 (선택 사항, 기본값: 2)
문서 관리 도구
load_documents
문서를 로드합니다.
- 입력:
- source: 문서 소스 (파일 경로, URL 등)
- reader_type: 문서 리더 유형 (예: "pdf", "csv", "json", "text")
- metadata: 연관된 메타데이터 (선택 사항)
delete_document
문서를 삭제합니다.
- 입력:
- document_id: 삭제할 문서 ID
사용 방법
설치
# NPM 패키지 설치
npm install llamaindex-mcp-server
# 또는 pip로 설치
pip install llamaindex-mcp-server
# 또는 Python 모듈로 직접 실행
python -m llamaindex_mcp_server
구성
Claude Desktop에서 LlamaIndex MCP 서버를 사용하려면 다음과 같이 구성 파일을 설정합니다:
{
"mcpServers": {
"llamaindex": {
"command": "python",
"args": ["-m", "llamaindex_mcp_server"],
"env": {
"OPENAI_API_KEY": "<Your OpenAI API Key>",
"INDEX_STORE_DIR": "/path/to/index/storage"
}
}
}
}
사용 예시
다음은 LlamaIndex MCP 서버를 사용하여 문서를 인덱싱하고 질문에 답변하는 예시입니다:
-
문서 인덱싱:
클라이언트: "내 PDF 파일들을 'research' 인덱스에 인덱싱해줘." -
Claude는 LlamaIndex MCP 서버의 도구를 사용하여 인덱싱 작업 수행:
작업 결과: - 인덱스 'research' 생성됨 - 5개 PDF 파일 로드됨 - 총 126개 텍스트 청크로 분할됨 - 인덱싱 완료 -
질문 답변:
클라이언트: "연구 문서에서 기후 변화의 경제적 영향에 대해 요약해줘." -
Claude는 LlamaIndex MCP 서버의
query_index도구를 사용하여 응답 생성:응답: 기후 변화의 경제적 영향은 광범위하고 심각합니다. 연구 문서에 따르면: 1. 전 세계 GDP가 2050년까지 최대 18% 감소할 수 있음 2. 농업 생산성 저하로 인한 식량 가격 상승 3. 연간 자연재해 관련 손실이 2조 달러 이상으로 증가 4. 기후 관련 인프라 투자 필요성이 급증 ...