hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Supports containerized deployment through Docker, allowing the memory server to be run in isolated containers with appropriate build and run commands.
Uses DuckDB as the backend database for storing knowledge graph data, leveraging its fast query processing, SQL interface, and transaction support for efficient storage and retrieval of entities, observations, and relations.
MCP DuckDB 지식 그래프 메모리 서버
공식 지식 그래프 메모리 서버 의 포크 버전입니다.
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 DuckDB Knowledge Graph Memory Server를 자동으로 설치하려면:
지엑스피1
수동 설치
그렇지 않은 경우 claude_desktop_config.json
에 @IzumiSy/mcp-duckdb-memory-server
수동으로 추가하세요( MEMORY_FILE_PATH
는 선택 사항입니다)
해당 경로에 저장된 데이터는 DuckDB 데이터베이스 파일입니다.
도커
짓다
달리다
용법
아래의 예시 지침을 사용하세요
동기 부여
이 프로젝트는 백엔드를 DuckDB로 대체하여 기존 MCP 지식 그래프 메모리 서버를 향상시킵니다.
왜 DuckDB인가요?
원래 MCP 지식 그래프 메모리 서버는 JSON 파일을 데이터 저장소로 사용하여 메모리 내 검색을 수행했습니다. 이 방식은 소규모 데이터세트에는 효과적이지만, 다음과 같은 몇 가지 문제점이 있습니다.
- 성능 : 데이터 세트가 커질수록 메모리 내 검색 성능이 저하됩니다.
- 확장성 : 많은 수의 엔터티와 관계를 처리할 때 메모리 사용량이 크게 증가합니다.
- 쿼리 유연성 : 복잡한 쿼리와 조건 검색은 구현하기 어렵습니다.
- 데이터 무결성 : 트랜잭션 및 CRUD 작업에 대한 원자성을 보장하는 것은 어렵습니다.
DuckDB는 다음과 같은 과제를 해결하기 위해 선택되었습니다.
- 빠른 쿼리 처리 : DuckDB는 분석 쿼리에 최적화되어 있으며 대규모 데이터 세트에서도 우수한 성능을 발휘합니다.
- SQL 인터페이스 : 표준 SQL을 사용하면 복잡한 쿼리를 쉽게 실행할 수 있습니다.
- 거래 지원 : 데이터 무결성을 유지하기 위한 거래 처리를 지원합니다.
- 인덱싱 기능 : 검색 성능을 향상시키기 위한 인덱스 생성 가능
- 내장형 데이터베이스 : 외부 데이터베이스 서버가 필요 없이 애플리케이션 내에서 작동합니다.
구현 세부 사항
이 구현은 DuckDB를 백엔드 저장 시스템으로 사용하여 두 가지 핵심 측면에 초점을 맞춥니다.
데이터베이스 구조
지식 그래프는 아래와 같이 관계형 데이터베이스 구조에 저장됩니다.
이 스키마 설계는 엔터티, 관찰 및 관계 간의 관계를 유지하면서 지식 그래프 구성 요소를 효율적으로 저장하고 검색할 수 있게 해줍니다.
퍼지 검색 구현
이 구현은 유연한 엔터티 검색을 위해 SQL 쿼리와 Fuse.js를 결합합니다.
- DuckDB SQL 쿼리는 데이터베이스에서 기본 데이터를 검색합니다.
- Fuse.js는 검색된 데이터 위에 퍼지 매칭 기능을 제공합니다.
- 이 하이브리드 접근 방식은 구조화된 쿼리와 유연한 텍스트 일치를 모두 허용합니다.
- 검색 결과에는 정확한 일치와 부분 일치가 모두 포함되며 관련성에 따라 순위가 매겨집니다.
개발
설정
테스트
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
You must be authenticated.
Tools
DuckDB에 지식 그래프 데이터를 저장하고 검색하여 지속적인 사용자 정보가 있는 대화에 대한 성능과 쿼리 기능을 향상시키는 Claude용 메모리 서버입니다.