mcp-server-qdrant

AI MemoryCLIPython

★ 1,527주당 +5조회 4

무엇인가

mcp-server-qdrant는 Qdrant를 시맨틱 메모리 저장소로 쓰는 MCP 서버 구현이다. LLM 애플리케이션이 대화나 코드 조각을 벡터로 저장하고 자연어 질의로 다시 꺼내는 경로를 표준화한다.

어떻게 동작하나

클라이언트는 qdrant-store 도구로 information, metadata, collection_name을 보내 저장을 요청한다. qdrant-find 도구는 query와 collection_name을 받아 유사 벡터를 검색하고 저장된 정보를 별도 메시지로 반환한다. 서버는 QDRANT_URL 또는 QDRANT_LOCAL_PATH로 Qdrant에 연결하며, 컬렉션이 없으면 자동 생성한다. 임베딩은 sentence-transformers/all-MiniLM-L6-v2 모델을 기본으로 쓰고 FastEmbed로 인코딩한다.

무엇과 다른가

일반 Qdrant 클라이언트는 애플리케이션이 직접 컬렉션·벡터·검색 API를 다뤄야 한다. 이 서버는 그 작업을 MCP 도구 두 개로 축소해 LLM 클라이언트가 도구 호출만으로 기억을 저장·검색하게 한다. 자체 벡터 DB를 구현하지 않고 Qdrant에 위임하며, 임베딩도 FastEmbed 모델로 제한한다.

어떻게 쓰나

uvx mcp-server-qdrant로 설치 없이 실행할 수 있고, 기본 전송은 stdio다. Claude Desktop은 claude_desktop_config.json의 mcpServers에 서버를 등록한다. 원격 클라이언트는 --transport sse 또는 --transport streamable-http로 띄우고 FASTMCP_SERVER_PORT로 포트를 바꾼다. Docker에서는 FASTMCP_SERVER_HOST=0.0.0.0으로 모든 인터페이스에 바인딩한다.

전제와 한계

QDRANT_URL과 QDRANT_LOCAL_PATH를 동시에 지정할 수 없다. 기본 컬렉션 이름이 없으면 qdrant-store와 qdrant-find 호출에 collection_name을 반드시 넣어야 한다. 명령줄 인자는 --transport 하나뿐이고 나머지 설정은 환경 변수로 한다. 임베딩은 현재 FastEmbed 모델만 지원한다. stdio는 로컬 MCP 클라이언트 전용이고, SSE·streamable-http는 원격 연결에 쓴다.

관련 논문 3

유사 도구