클라우드 없이 MCP 사용하기
이 글은 로컬 문서 아카이브에 모델이 접근할 수 있도록 MCP(Model Context Protocol)를 대안적으로 사용하는 방법을 설명한다. 기존의 RAG(검색 증강 생성) 대신 index.md와 subindex.md로 구성된 인덱스 구조를 제안하여, 모델이 필요한 조각만 검색할 수 있게 하여 컨텍스트와 토큰을 줄이고 클라우드를 피할 수 있다. 저자는 자체 구현 도구인 DocShelf를 소개하는데, 이 도구는 PDF를 Markdown으로 변환하고, 섹션으로 분할하고, 인덱스를 구축하고, Git에 저장하며, MCP를 통해 연결하는 전체 파이프라인의 예시를 제공한다.
저자는 MCP가 에이전트 전용이 아니라 대규모 로컬 문서 컬렉션에서 검색을 구현하는 등 다른 목적으로도 사용할 수 있다고 주장합니다. 클래식 RAG(검색 증강 생성)를 고려했지만, 이는 상당한 인프라(임베딩 모델, 벡터 데이터베이스, 예약된 재인덱싱)를 필요로 하고 모델이 특정 단편을 선택한 이유를 감사(audit)할 수 있는 투명성을 제공하지 않습니다. 대신 목차 역할을 하는 인덱스 파일(llms.txt 아이디어)을 사용할 것을 제안합니다. 모델은 먼저 인덱스를 읽고, 그 다음 하위 인덱스를 읽은 후에야 문서의 특정 섹션을 가져옵니다. 저자는 PDF를 마크다운으로 변환하고, 정리하고, 섹션으로 분할하고, index.md와 subindex.md를 생성하고, 모든 것을 Git에 저장하고, MCP 서버를 통해 모델에 연결하는 DocShelf 도구를 만들었습니다. 파이프라인은 PDF를 마크다운으로 변환하고, 섹션으로 분할하고, 인덱스를 구축하고, Git에 저장하고, MCP 서버를 통해 LLM(대규모 언어 모델)에 전달하는 순서입니다. 모델은 전체 아카이브의 극히 일부만 소비합니다. 85MB 셸프 예시에서는 약 16.5KB의 컨텍스트만 사용했습니다. 이 기사는 또한 PDF 파싱 문제, 키릴 문자 손상, 잘못된 마크다운 구조와 같은 일반적인 함정을 강조하고 문제 해결 표를 제공합니다. 두 가지 변환기를 사용할 수 있습니다: pymupdf4llm(빠르고 GPU 불필요) 및 marker-pdf(복잡한 경우용이지만 무거움). DocShelf는 Git을 저장소, 버전 관리, 검토로 지원하며 폐쇄 네트워크에서도 작동할 수 있습니다. 저자는 이 접근 방식이 감사가 필요하고 코퍼스가 로컬인 시나리오에서 클래식 RAG에 대한 실행 가능한 대안이라고 결론지었습니다.
출처: Habr — хаб ИИ —
원문
