mcp-server-qdrant
무엇인가
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
유사 도구
- SimpleMemLLM 에이전트에 장기 기억을 붙이는 Python 패키지다. 대화를 원자적 기억으로 압축해 저장하고 의미 기반으로 검색하며, 텍스트와 이미지·오디오·비디오를 함께 다룬다.
- mem0AI 에이전트에 장기 기억 계층을 붙이는 Python 라이브러리이자 CLI다. 단일 패스 추출과 다중 신호 검색으로 대화 맥락을 축적한다.
- cognee에이전트에 세션을 넘어 지속되는 장기 기억을 붙이는 오픈소스 AI 메모리 플랫폼이다. 자체 호스팅 지식 그래프 엔진 위에서 동작한다.
- langflowLLM·벡터 DB·도구를 노드로 연결해 에이전트 플로우를 시각적으로 만들고, 이를 REST API나 MCP 서버로 배포하는 Python 플랫폼이다.
- composio1000개 이상 앱 도구를 세션 단위로 인증·검색·실행하게 해주는 TypeScript·Python SDK 모노레포다. CLI와 호스팅 MCP 엔드포인트를 함께 내놓는다.
- jan로컬 LLM을 내려받아 오프라인으로 실행하고 대화하는 Tauri 데스크톱 앱이다. localhost:1337에 OpenAI 호환 API 서버를 열고 MCP로 도구를 연결한다.