MCP 문서 관리

메뉴

Needle MCP 서버

Needle

Needle MCP 서버는 RAG(Retrieval-Augmented Generation) 기능을 즉시 사용할 수 있는 형태로 제공하여 LLM(대규모 언어 모델)이 자체 문서에서 정보를 검색하고 활용할 수 있도록 해주는 도구입니다. 복잡한 설정이나 벡터 데이터베이스 구성 없이도 바로 사용 가능한 RAG 솔루션을 제공합니다.

특징

  • 다양한 문서 형식(PDF, MS Office, 텍스트 등) 지원
  • 자동 문서 처리 및 임베딩 생성
  • 고급 시맨틱 검색 및 하이브리드 검색
  • 메타데이터 기반 필터링
  • 응답 품질을 높이기 위한 컨텍스트 처리 최적화
  • 복잡한 구성 없이 바로 사용 가능한 RAG 솔루션

API

리소스

  • needle://datasets - 사용 가능한 데이터셋 목록
  • needle://datasets/{dataset_id} - 특정 데이터셋 정보
  • needle://datasets/{dataset_id}/documents - 데이터셋의 문서 목록
  • needle://datasets/{dataset_id}/documents/{document_id} - 특정 문서의 상세 정보
  • needle://embeddings/models - 사용 가능한 임베딩 모델 목록

도구

데이터셋 관리 도구

create_dataset

새 데이터셋을 생성합니다. - 입력: - name: 데이터셋 이름 - description: 데이터셋 설명 (선택 사항) - embedding_model: 사용할 임베딩 모델 (선택 사항, 기본값: "default")

delete_dataset

데이터셋을 삭제합니다. - 입력: - dataset_id: 삭제할 데이터셋 ID

list_documents

데이터셋의 문서를 나열합니다. - 입력: - dataset_id: 데이터셋 ID - filter: 필터링 조건 (선택 사항) - limit: 반환할 최대 문서 수 (기본값: 100) - offset: 건너뛸 문서 수 (선택 사항)

문서 관리 도구

upload_document

문서를 업로드하고 처리합니다. - 입력: - dataset_id: 대상 데이터셋 ID - file: 업로드할 파일 데이터 또는 파일 경로 - metadata: 문서 메타데이터 (선택 사항) - chunk_size: 청크 크기 (선택 사항, 기본값: 1000) - chunk_overlap: 청크 오버랩 (선택 사항, 기본값: 200)

delete_document

문서를 삭제합니다. - 입력: - dataset_id: 데이터셋 ID - document_id: 삭제할 문서 ID

update_document_metadata

문서 메타데이터를 업데이트합니다. - 입력: - dataset_id: 데이터셋 ID - document_id: 문서 ID - metadata: 업데이트할 메타데이터

검색 및 쿼리 도구

search

데이터셋에서 텍스트 검색을 수행합니다. - 입력: - dataset_id: 검색할 데이터셋 ID - query: 검색 쿼리 텍스트 - top_k: 반환할 최대 결과 수 (기본값: 5) - filter: 메타데이터 필터링 조건 (선택 사항) - search_type: 검색 유형 (예: "semantic", "hybrid", "keyword", 기본값: "hybrid") - include_metadata: 메타데이터 포함 여부 (기본값: true)

qa

문서 기반 질문-답변을 수행합니다. - 입력: - dataset_id: 검색할 데이터셋 ID - question: 질문 텍스트 - top_k: 검색할 최대 청크 수 (기본값: 5) - filter: 메타데이터 필터링 조건 (선택 사항) - include_sources: 소스 포함 여부 (기본값: true) - model: 사용할 LLM 모델 (선택 사항)

summarize

문서 또는 검색 결과를 요약합니다. - 입력: - dataset_id: 데이터셋 ID - document_id: 요약할 문서 ID (선택 사항) - query: 검색 쿼리 (document_id가 제공되지 않은 경우) - length: 요약 길이 (예: "short", "medium", "long", 기본값: "medium") - format: 요약 형식 (예: "bullet", "paragraph", 기본값: "paragraph")

사용 방법

설치

# NPM 패키지 설치
npm install needle-ai-mcp-server

# 또는 npx로 직접 실행
npx needle-ai-mcp-server

구성

Claude Desktop에서 Needle MCP 서버를 사용하려면 다음과 같이 구성 파일을 설정합니다:

{
  "mcpServers": {
    "needle": {
      "command": "npx",
      "args": ["needle-ai-mcp-server"],
      "env": {
        "NEEDLE_API_KEY": "<Your Needle API Key>",
        "OPENAI_API_KEY": "<Your OpenAI API Key>" // 필요한 경우
      }
    }
  }
}

사용 예시

다음은 Needle MCP 서버를 사용하여 문서를 업로드하고 질문에 답변하는 예시입니다:

  1. 문서 업로드:

    클라이언트: "내 연구 논문을 'research' 데이터셋에 업로드해줘."

  2. Claude는 Needle MCP 서버의 도구를 사용하여 업로드 작업 수행:

    업로드 결과:
    - 데이터셋 'research'에 문서 'research_paper.pdf' 업로드됨
    - 문서 ID: needle_doc_123456
    - 총 28개 청크로 처리됨
    - 임베딩 생성 완료

  3. 질문 답변:

    클라이언트: "연구 논문에서 사용된 방법론에 대해 요약해줘."

  4. Claude는 Needle MCP 서버의 qa 도구를 사용하여 응답 생성:

    응답:
    연구 논문에서 사용된 방법론은 다단계 접근법을 사용합니다:
    
    1. 데이터 수집: 3개 도시에서 500명의 참가자를 대상으로 구조화된 설문조사 실시
    2. 정량적 분석: SPSS를 사용한 통계 분석 및 회귀 모델링
    3. 정성적 분석: 심층 인터뷰 50건에 대한 테마 분석
    4. 삼각검증: 정량적 결과와 정성적 통찰을 교차 검증하여 발견의 강건성 확인
    
    이 혼합 방법론은 연구 질문에 대한 포괄적인 이해를 제공하고, 단일 방법론이 가질 수 있는 한계를 극복하는 데 도움을 주었습니다.
    
    출처: 연구 논문, 페이지 12-15, 방법론 섹션

연결된 구성 요소

  • LlamaIndex - 벡터 인덱스 및 데이터 로딩 MCP 서버
  • Pinecone - 벡터 검색 및 임베딩을 위한 MCP 서버
  • Weaviate - 벡터 검색 및 구조화된 데이터를 위한 MCP 서버
  • Chroma - 벡터 데이터베이스 기능을 제공하는 오픈소스 MCP 서버