arabold/docs-mcp-server
Grounded Docs MCP Server: Open-Source Alternative to Context7, Nia, and Ref.Tools
Grounded Docs MCP Server – 무엇인가
Grounded Docs MCP Server는 로컬에서 버전을 인식하는 문서 인덱스를 구축하고, 많은 LLM 기반 IDE 확장 프로그램에서 사용하는 MCP (Message Control Protocol)를 통해 AI 코딩 어시스턴트(Claude, Copilot, Gemini 등)에 노출할 수 있는 오픈 소스 도구입니다. 웹사이트, GitHub 저장소, npm / PyPI 패키지, zip 아카이브 또는 로컬 폴더에서 공식 문서를 가져와 모델에 신뢰할 수 있는 정보원을 제공함으로써 환각 현상을 줄여줍니다.
작동 방식
- 스크랩 / 수집 – CLI(또는 Docker 컨테이너)가 URL이나 로컬 경로에서 문서를 가져와 다양한 형식(PDF, Word, HTML, Markdown, Jupyter notebooks, 90개 이상의 소스 코드 언어 등)을 파싱하고 추출된 텍스트를 로컬 데이터 저장소에 저장합니다.
- 선택적 임베딩 – OpenAI, Ollama, Gemini, Azure 등의 API 키를 제공하면 서버가 페이지에 대한 벡터 임베딩을 생성하여 의미론적 검색을 가능하게 합니다.
- 서버 실행 – 상시 실행되는 HTTP 서버 (
http://localhost:6280)가 두 가지 인터페이스를 노출합니다:- 인덱스를 탐색하고 관리하기 위한 Web UI
- LLM 기반 IDE 플러그인이
search,fetch-url또는scrape문서를 호출할 수 있는 MCP 엔드포인트 (/mcp)
- 클라이언트 측 – MCP URL로 구성된 에이전트는 "React 18에서
useEffect정리(cleanup)는 어떻게 작동하는가?"와 같은 질문을 할 수 있으며, 서버는 버전이 일치하는 문서에서 정확한 스니펫을 반환합니다.
주요 기능 (README에서 발췌)
| 기능 | 의미 |
|---|---|
| 최신, 특정 버전 문서 | 특정 라이브러리 버전(예: react@18.2.0)을 서버에 지정하면 해당 정확한 릴리스만 인덱싱됩니다. |
| 광범위한 형식 지원 | PDF, Office 파일, EPUB, Jupyter notebooks, 아카이브 및 90개 이상의 프로그래밍 언어를 기본적으로 처리합니다. |
| 비공개 및 로컬 | 사용자 컴퓨터나 자체 Docker 호스트에서 실행되므로 코드나 문서가 네트워크 외부로 나가지 않습니다. |
| MCP 호환성 | Claude Desktop, Cline, VS Code 확장 프로그램, Copilot, Gemini CLI 등 모든 "MCP 호환" 클라이언트와 작동합니다. |
| CLI 우선 워크플로우 | npx @arabold/docs-mcp-server@latest scrape …로 인덱스 추가, search …로 쿼리, fetch-url …로 원시 markdown 검색. |
| 임베딩 강화 검색 (선택 사항) | OpenAI, Ollama, Gemini, Azure 등을 연결하여 단순 키워드 매칭 대신 의미론적 벡터 검색을 수행합니다. |
| Docker 이미지 | docker run … ghcr.io/arabold/docs-mcp-server:latest 한 줄로 격리된 배포가 가능합니다. |
| 에이전트 스킬 | LLM 에이전트에게 CLI 호출 방법을 알려주는 사전 작성된 Agent Skills (agentskills.io). |
| 보안 및 인증 | OAuth2/OIDC 및 기타 강화 옵션을 지원합니다(문서 참조). |
누가 사용할까요?
| 사용 사례 | Grounded Docs의 이점 |
|---|---|
| LLM 기반 IDE 확장 프로그램 (Claude, Copilot 등) | 모델에 보장된 버전 일치 정보원을 제공하여 환각된 API 답변을 줄입니다. |
| CI/CD 파이프라인 / 봇 | 특정 의존성 버전에 대한 정확한 문서를 찾아야 하는 경우. |
| 자체 호스팅 AI 어시스턴트 | 개인정보 보호를 위해 오프라인 상태를 유지해야 하는 경우. |
| 내부 라이브러리를 가진 팀 | 스크레이퍼를 비공개 저장소나 zip 아카이브로 지정하여 해당 문서를 LLM에 노출할 수 있습니다. |
시작하기 (빠른 요약)
- 설치 –
npx @arabold/docs-mcp-server@latest(Node 22+) 또는 Docker 이미지 실행. - 문서 추가 –
scrape react https://react.dev/reference/react(덮어쓰려면--replace, SPA 사이트에는--preserve-hashes추가). - 검색 –
search react "useEffect cleanup" --output yaml. - 서버 실행 –
npx @arabold/docs-mcp-server@latest실행 후http://localhost:6280접속. - AI 클라이언트 연결 – 클라이언트 설정에 MCP URL 추가(README에 JSON 예시 있음).
더 알아보기
- 설치 가이드 –
docs/setup/installation.md - 클라이언트 연결 –
docs/guides/mcp-clients.md - 임베딩 모델 설정 –
docs/guides/embedding-models.md - 지원 형식 –
docs/concepts/supported-formats.md - 아키텍처 및 보안 –
ARCHITECTURE.md,docs/infrastructure/*
라이선스
MIT – 자유롭게 사용, 수정 및 재배포 가능.
위의 모든 세부 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 가정은 하지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트