Skip to main content
Glama

Knowledge Retrieval Server

by cskwork
README.md6.81 kB
# MCP Knowledge Retrieval Server BM25 기반 문서 검색 및 검색을 위한 MCP(Model Context Protocol) 서버입니다. - 참고한 토스결제연동 MCP 기술블로그. https://toss.tech/article/tosspayments-mcp ## 🚀 즉시 시작하기 ### 🎯 초간단 설치 (권장) ```bash # macOS/Linux ./run.sh # Windows run.bat ``` 이 스크립트들이 자동으로 처리합니다: - ✅ Node.js 버전 확인 - ✅ 의존성 설치 (`npm install`) - ✅ 프로젝트 빌드 (`npm run build`) - ✅ 설정 파일 생성 (`config.json`) - ✅ 예시 문서 생성 (`docs/` 폴더) - ✅ Claude Desktop 설정 가이드 출력 - ✅ MCP 서버 실행 ### 수동 설치 ```bash # 단계별 설치 npm install && npm run build && cp config.example.json config.json # 서버 실행 npm start ``` ### 개발 모드 ```bash npm run dev ``` ## 📋 기본 설정 ### config.json (자동 생성됨) ```json { "serverName": "knowledge-retrieval", "serverVersion": "1.0.0", "documentSource": { "type": "local", "basePath": "./docs", "domains": [ { "name": "company", "path": "company", "category": "회사정보" }, { "name": "customer", "path": "customer", "category": "고객서비스" }, { "name": "product", "path": "product", "category": "제품정보" }, { "name": "technical", "path": "technical", "category": "기술문서" } ] }, "bm25": { "k1": 1.2, "b": 0.75 }, "chunk": { "minWords": 30, "contextWindowSize": 1 }, "logLevel": "info" } ``` ### 주요 설정 항목 - **documentSource.basePath**: 문서 파일들이 위치한 기본 경로 - **domains**: 검색할 도메인들의 설정 - **bm25.k1**: BM25 알고리즘의 term frequency saturation 파라미터 (기본값: 1.2) - **bm25.b**: BM25 알고리즘의 field length normalization 파라미터 (기본값: 0.75) - **chunk.minWords**: 청크의 최소 단어 수 (기본값: 30) ## 🔧 Claude Desktop 연동 ### 설정 파일 위치 - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows**: `%APPDATA%/Claude/claude_desktop_config.json` ### 설정 내용 (절대 경로) ```json { "mcpServers": { "knowledge-retrieval": { "command": "node", "args": ["<프로젝트_경로>/dist/index.js"], "env": { "NODE_ENV": "production" } } } } ``` **중요**: `<프로젝트_경로>`를 실제 프로젝트 폴더의 절대 경로로 바꾸세요! ### 권장 설정 (작업 디렉토리 지정) ```json { "mcpServers": { "knowledge-retrieval": { "command": "npm", "args": ["start"], "cwd": "<프로젝트_경로>" } } } ``` ## 📁 문서 구조 문서는 다음과 같은 구조로 구성되어야 합니다: ``` docs/ ├── company/ # 회사 정보 │ ├── about.md │ └── team.md ├── customer/ # 고객 서비스 │ ├── support.md │ └── sla.md ├── product/ # 제품 정보 │ ├── ai-platform.md │ └── web-app.md └── technical/ # 기술 문서 ├── api-guide.md └── deployment.md ``` ### 지원 파일 형식 - `.md` (Markdown) - `.mdx` (MDX) - `.markdown` ## 🛠 사용 가능한 MCP 도구들 ### 1. search-documents 문서 검색을 수행합니다. **파라미터:** - `keywords`: 검색할 키워드 배열 - `maxResults`: 최대 결과 수 (기본값: 10) - `domain`: 특정 도메인으로 검색 제한 (선택사항) **예시:** ```typescript // Claude Desktop에서 사용할 때 "AI 플랫폼의 가격 정책을 알려줘" ``` ### 2. get-document-by-id 특정 문서 ID로 전체 문서를 가져옵니다. **파라미터:** - `documentId`: 문서 ID ### 3. list-domains 사용 가능한 모든 도메인과 문서 수를 조회합니다. ### 4. get-chunk-with-context 특정 청크와 그 주변 컨텍스트를 가져옵니다. **파라미터:** - `chunkId`: 청크 ID - `contextSize`: 컨텍스트 윈도우 크기 (선택사항) ## 🧪 테스트 및 검증 ### 1. 서버 작동 확인 ```bash npm run dev ``` ✅ 성공시 출력 예시: ``` Initializing knowledge-retrieval v1.0.0... Loaded 8 documents Initialized repository with 36 chunks from 8 documents MCP server started successfully ``` ### 2. Claude Desktop에서 즉시 테스트 Claude Desktop 재시작 후 다음 질문들로 테스트: ``` 우리 회사의 비전과 미션이 뭐야? AI 플랫폼의 가격 정책을 알려줘 API 인증 방법을 설명해줘 ``` ### 3. 빠른 문제 해결 | 문제 | 해결 방법 | |------|-----------| | 서버 시작 실패 | `npm install && npm run build` | | 문서 로드 실패 | `docs/` 폴더와 `.md` 파일 확인 | | Claude Desktop 연결 실패 | 설정 파일 경로 확인 후 Claude Desktop 재시작 | ## 📊 성능 최적화 ### BM25 파라미터 튜닝 - **k1 값 증가**: 단어 빈도의 영향 증가 (1.2 → 2.0) - **b 값 조정**: 문서 길이 정규화 강도 (0.75 → 0.5) ### 청크 크기 최적화 - **minWords 증가**: 더 큰 컨텍스트, 느린 검색 - **minWords 감소**: 정확한 매칭, 빠른 검색 ## 🔒 보안 고려사항 1. **파일 권한**: 문서 디렉토리에 적절한 읽기 권한 설정 2. **환경 변수**: 민감한 설정은 환경 변수로 관리 3. **네트워크**: 필요시 방화벽 규칙 설정 ## 📝 환경 변수 설정 ```bash export MCP_SERVER_NAME="my-knowledge-server" export DOCS_BASE_PATH="./my-docs" export BM25_K1="1.5" export BM25_B="0.8" export CHUNK_MIN_WORDS="50" export LOG_LEVEL="debug" ``` ## 🆘 문제 해결 문제 발생 시 확인 순서: 1. 로그 확인: `npm run dev` 출력 메시지 2. 설정 파일: `config.json` 문법 오류 확인 3. 문서 폴더: `docs/` 디렉토리와 `.md` 파일 확인 4. Claude Desktop: 설정 파일 경로 및 재시작 ## 💡 핵심 요약 ### 즉시 사용을 위한 체크리스트 **자동 설치 사용시:** - [ ] `./run.sh` (또는 `run.bat`) 실행 - [ ] 스크립트가 출력하는 Claude Desktop 설정 복사 - [ ] Claude Desktop 재시작 - [ ] 테스트 질문으로 작동 확인 **수동 설치 사용시:** - [ ] `npm install && npm run build && cp config.example.json config.json` - [ ] `docs/` 폴더에 마크다운 파일 추가 - [ ] Claude Desktop 설정 파일에 프로젝트 경로 지정 - [ ] Claude Desktop 재시작 - [ ] 테스트 질문으로 작동 확인 ### 주요 명령어 - **개발**: `npm run dev` - **빌드**: `npm run build` - **실행**: `npm start` - **테스트**: `npm test` --- **MIT 라이선스** | **개발 중에는 `npm run dev` 사용 권장**

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cskwork/keyword-rag-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server