Skip to main content
Glama

MCP Memory Server with Qdrant Persistence

Qdrant Persistence를 갖춘 MCP 메모리 서버

대장간 배지

이 MCP 서버는 Qdrant 벡터 데이터베이스로 구동되는 의미 검색 기능을 갖춘 지식 그래프 구현을 제공합니다.

특징

  • 엔티티와 관계를 포함하는 그래프 기반 지식 표현

  • 파일 기반 지속성(memory.json)

  • Qdrant 벡터 데이터베이스를 사용한 의미 검색

  • 의미적 유사성을 위한 OpenAI 임베딩

  • 역방향 프록시 호환성을 갖춘 HTTPS 지원

  • 간편한 배포를 위한 Docker 지원

환경 변수

다음 환경 변수가 필요합니다.

지엑스피1

설정

로컬 설정

  1. 종속성 설치:

npm install
  1. 서버를 빌드하세요:

npm run build

도커 설정

  1. Docker 이미지를 빌드합니다.

docker build -t mcp-qdrant-memory .
  1. 필요한 환경 변수로 Docker 컨테이너를 실행합니다.

docker run -d \ -e OPENAI_API_KEY=your-openai-api-key \ -e QDRANT_URL=http://your-qdrant-server:6333 \ -e QDRANT_COLLECTION_NAME=your-collection-name \ -e QDRANT_API_KEY=your-qdrant-api-key \ --name mcp-qdrant-memory \ mcp-qdrant-memory

MCP 설정에 추가:

{ "mcpServers": { "memory": { "command": "/bin/zsh", "args": ["-c", "cd /path/to/server && node dist/index.js"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "QDRANT_API_KEY": "your-qdrant-api-key", "QDRANT_URL": "http://your-qdrant-server:6333", "QDRANT_COLLECTION_NAME": "your-collection-name" }, "alwaysAllow": [ "create_entities", "create_relations", "add_observations", "delete_entities", "delete_observations", "delete_relations", "read_graph", "search_similar" ] } } }

도구

엔티티 관리

  • create_entities : 여러 개의 새 엔터티를 만듭니다.

  • create_relations : 엔티티 간 관계 생성

  • add_observations : 엔티티에 관찰 추가

  • delete_entities : 엔티티와 엔티티 관계를 삭제합니다.

  • delete_observations : 특정 관찰을 삭제합니다.

  • delete_relations : 특정 관계 삭제

  • read_graph : 전체 지식 그래프를 가져옵니다

의미 검색

  • search_similar : 의미적으로 유사한 엔터티 및 관계 검색

    interface SearchParams { query: string; // Search query text limit?: number; // Max results (default: 10) }

구현 세부 사항

서버는 두 가지 형태의 지속성을 유지합니다.

  1. 파일 기반(memory.json):

    • 완전한 지식 그래프 구조

    • 전체 그래프에 빠르게 접근

    • 그래프 작업에 사용됨

  2. Qdrant 벡터 DB:

    • 엔티티 및 관계의 의미적 임베딩

    • 유사성 검색을 활성화합니다

    • 파일 저장소와 자동으로 동기화됨

동기화

엔터티 또는 관계가 수정되는 경우:

  1. 변경 사항은 memory.json에 기록됩니다.

  2. 임베딩은 OpenAI를 사용하여 생성됩니다.

  3. 벡터는 Qdrant에 저장됩니다.

  4. 두 저장 시스템은 일관성을 유지합니다.

검색 프로세스

검색할 때:

  1. 쿼리 텍스트가 임베딩으로 변환됩니다.

  2. Qdrant는 유사성 검색을 수행합니다.

  3. 결과에는 엔터티와 관계가 모두 포함됩니다.

  4. 결과는 의미적 유사성에 따라 순위가 매겨집니다.

사용 예

// Create entities await client.callTool("create_entities", { entities: [{ name: "Project", entityType: "Task", observations: ["A new development project"] }] }); // Search similar concepts const results = await client.callTool("search_similar", { query: "development tasks", limit: 5 });

HTTPS 및 역방향 프록시 구성

이 서버는 HTTPS 및 역방향 프록시를 통한 Qdrant 연결을 지원합니다. 이는 특히 다음과 같은 경우에 유용합니다.

  • Nginx 또는 Apache와 같은 역방향 프록시 뒤에서 Qdrant 실행

  • 자체 서명 인증서 사용

  • 사용자 정의 SSL/TLS 구성 필요

역방향 프록시 설정

  1. 역방향 프록시를 구성합니다(예: Nginx 사용):

server { listen 443 ssl; server_name qdrant.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:6333; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
  1. 환경 변수를 업데이트하세요.

QDRANT_URL=https://qdrant.yourdomain.com

보안 고려 사항

서버는 다음을 사용하여 강력한 HTTPS 처리를 구현합니다.

  • 사용자 정의 SSL/TLS 구성

  • 적절한 인증서 검증 옵션

  • 연결 풀링 및 Keepalive

  • 지수 백오프를 통한 자동 재시도

  • 구성 가능한 시간 초과

HTTPS 연결 문제 해결

연결 문제가 발생하는 경우:

  1. 인증서를 확인하세요:

openssl s_client -connect qdrant.yourdomain.com:443
  1. 직접 연결 테스트:

curl -v https://qdrant.yourdomain.com/collections
  1. 프록시 설정을 확인하세요.

env | grep -i proxy

기여하다

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성

  3. 변경 사항을 만드세요

  4. 풀 리퀘스트 제출

특허

MIT

-
security - not tested
F
license - not found
-
quality - not tested

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/delorenj/mcp-qdrant-memory'

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