hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Required for running the Weaviate vector database option, with included scripts for managing the Docker-based Weaviate environment.
Provides access to Git-related information, including commit message formats and conventions through the knowledge base search functionality.
Enables indexing and searching of Markdown (.md, .mdx) files, allowing AI assistants to retrieve information from documentation stored in Markdown format.
Shared Knowledge MCP Server
각종 AI 어시스턴트(CLINE, Cursor, Windsurf, Claude Desktop)에서 공통으로 사용할 수 있는 지식 기반 MCP 서버입니다. Retrieval Augmented Generation (RAG)을 활용하여 효율적인 정보 검색과 이용을 실현합니다. 여러 AI 어시스턴트 도구 간에 지식 기반을 공유하여 일관된 정보 액세스를 제공합니다.
특징
- 여러 AI 어시스턴트 간에 공통 지식 기반 사용 가능
- RAG로 정밀한 정보 검색
- TypeScript에 의한 형태 안전한 구현
- 여러 벡터 스토어(HNSWLib, Chroma, Pinecone, Milvus) 지원
- 추상화된 인터페이스를 통한 확장성
설치
설정
MCP 서버의 설정은 각 AI 어시스턴트의 구성 파일에 추가됩니다.
VSCode (CLINE/Cursor용)
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
:
Pinecone을 사용하는 예
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
:
HNSWLib(기본값) 사용 예
Weaviate를 사용하는 예
참고 : Weaviate를 사용하는 경우 먼저 Weaviate 서버를 시작해야 합니다. 다음 명령으로 시작할 수 있습니다.
개발
개발 서버 시작
빌드
프로덕션 환경에서 실행
사용 가능한 도구
rag_search
기술 자료에서 정보를 검색합니다.
검색 요청
사용 예
기본 검색:
고급 검색:
검색결과
응답 예
이러한 확장된 검색 기능을 통해 LLM은 보다 정확하고 효율적으로 정보를 처리할 수 있습니다. 위치 정보, 문서 유형, 요약, 키워드 등의 추가 정보는 LLM이 검색 결과를 더 깊이 이해하고 적절하게 활용할 수 있도록 도와줍니다.
메커니즘
- 시작할 때 지정된 디렉토리에 있는 Markdown 파일(.md, .mdx) 및 텍스트 파일(.txt)을 로드합니다.
- 문서를 청크로 분할하고 OpenAI API를 사용하여 벡터화
- 선택한 벡터 저장소(기본값: HNSWLib)를 사용하여 벡터 인덱스를 만듭니다.
- 검색어에 대해 유사도가 높은 문서를 반환합니다.
지원되는 벡터 스토어
- HNSWLib : 로컬 파일 시스템에 저장된 고속 벡터 스토어 (기본값)
- Chroma : 오픈 소스 벡터 데이터베이스
- Pinecone : 관리형 벡터 데이터베이스 서비스(API 키 필요)
- Milvus : 대규모 벡터 검색 엔진
- Weaviate : 스키마 우선 벡터 데이터베이스(Docker 필수)
각 벡터 스토어는 추상화된 인터페이스를 통해 활용되며 필요에 따라 쉽게 전환할 수 있습니다.
벡터 스토어 환경을 조작하는 방법
HNSWLib(기본값)
HNSWLib은 로컬 파일 시스템에 벡터 저장소를 저장하므로 특별한 환경 설정이 필요하지 않습니다.
벡터 스토어 재구성:
Weaviate
Weaviate를 사용하려면 Docker가 필요합니다.
- Weaviate 환경 시작:
- 벡터 스토어 재구성:
- Weaviate 상태 확인:
- Weaviate 환경 중지:
- Weaviate 데이터를 완전히 삭제 (필요한 경우에만) :
Weaviate 설정은 docker-compose.yml
파일에서 관리됩니다. 기본적으로 다음 설정이 적용됩니다.
- 포트: 8080
- 인증: 익명 액세스 사용
- 벡터화 모듈: 없음(외부 포함 포함)
- 데이터 저장: Docker 볼륨(
weaviate_data
)
설정 옵션
환경 변수 | 설명 | 기본값 |
---|---|---|
KNOWLEDGE_BASE_PATH | 지식 기반 경로(필수) | - |
OPENAI_API_KEY | OpenAI API 키(필수) | - |
SIMILARITY_THRESHOLD | 검색 시 유사도 점수 임계값(0-1) | 0.7 |
CHUNK_SIZE | 텍스트 분할시의 청크 크기 | 1000 |
CHUNK_OVERLAP | 청크 중첩 크기 | 200 |
VECTOR_STORE_TYPE | 사용할 벡터 저장소 유형("hnswlib", "chroma", "pinecone", "milvus") | "hnswlib" |
VECTOR_STORE_CONFIG | 벡터 스토어 설정(JSON 문자열) | {} |
라이센스
ISC
기여
- 포크하다
- 피처 브랜치 만들기 (
git checkout -b feature/amazing-feature
) - 변경 커밋 (
git commit -m 'Add some amazing feature'
) - 브랜치로 푸시하기 (
git push origin feature/amazing-feature
) - 풀 요청 작성
This server cannot be installed
This server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.