mcp-server-qdrant
에이전틱 RAG (Tavily + Context7 + Qdrant)
기능
에이전트가 스스로 구축하는 지식 베이스 — 에이전트가 활용할 수 있는 여러 컨텍스트 엔지니어링 소스 중 하나입니다.
RAG(검색 증강 생성)는 모델이 답변을 뒷받침할 관련 문서를 제공하는 것을 의미합니다. 일반적인 설정은 미리 문서를 벡터 저장소에 로드합니다. 에이전틱 RAG는 이를 뒤집습니다: 에이전트가 스스로 지식 베이스를 구축하여, 무엇을 보관할 가치가 있는지 결정하고 작업하면서 저장합니다.
이것은 공식 Qdrant MCP 서버를 사용합니다. Qdrant는 벡터 데이터베이스이며, 서버는 두 가지 도구를 제공합니다. 하나는 텍스트 조각을 저장하고, 다른 하나는 쿼리에 가장 관련성 높은 저장된 텍스트를 찾습니다. 완전히 로컬에서 실행됩니다 — QDRANT_LOCAL_PATH는 별도의 데이터베이스를 실행할 필요 없이 모든 것을 디스크에 보관하며, 로컬 모델로 텍스트를 임베딩하므로 추가 API 키가 필요하지 않습니다.
에이전트는 세 가지 MCP 서버를 활용합니다:
서버 | 전송 방식 | 목적 |
Tavily ( | stdio via | 실시간 웹 검색, |
Context7 ( | streamable HTTP | 라이브러리, 프레임워크, SDK 및 API에 대한 최신 문서 |
Qdrant ( | stdio via | 에이전트가 쓰고 읽는 로컬 벡터 저장소 |
스크립트는 RAG의 두 부분을 두 개의 별도 에이전트로 실행합니다:
저장 — Tavily 검색, Context7 및 Qdrant를 사용하는 하나의 에이전트. 웹에서 Nvidia에 대한 최신 정보를 조사하고, Context7을 통해 최신 OpenAI Agents SDK 문서를 찾아보고, 두 소스의 주요 사실을 저장합니다.
검색 — 오직 Qdrant만 사용하는 두 번째 에이전트, 웹 검색이나 Context7 없음. 말하는 모든 것은 첫 번째 에이전트가 저장한 내용을 회상하는 것입니다.
Related MCP server: Qdrant MCP Server
Context7을 사용하는 이유
모델의 학습 데이터에는 기준 시점이 있으므로 빠르게 변화하는 라이브러리에 대한 기억은 오래되었고 더 이상 존재하지 않는 API를 자신 있게 지어낼 것입니다. Context7은 라이브러리 문서를 인덱싱하고 요청 시 최신 버전을 제공하는 호스팅 MCP 서버입니다. 두 가지 도구:
resolve-library-id— 패키지 또는 제품 이름("openai-agents","next.js")을 Context7 라이브러리 ID로 변환합니다.query-docs— 해당 라이브러리에 대한 최신 문서와 코드 예제를 가져오며, 질문에 맞게 좁혀집니다.
에이전트의 지침은 라이브러리 형태의 모든 것을 메모리나 일반 웹 검색 대신 Context7로 라우팅합니다 — 먼저 ID를 확인한 다음 문서를 쿼리합니다. 일반 HTTP 엔드포인트이므로 설치할 것이 없습니다. MCPServerStdio 대신 MCPServerStreamableHttp로 연결됩니다:
context7_params = {"url": "https://mcp.context7.com/mcp", "timeout": 60}
async with MCPServerStreamableHttp(params=context7_params, client_session_timeout_seconds=60) as docs_server:
...두 가지 타임아웃이 작동하며 서로 다른 역할을 합니다. params 내부의 timeout은 HTTP 요청 타임아웃이고, client_session_timeout_seconds는 MCP 세션 읽기 타임아웃이며 기본값이 5초에 불과합니다 — 느린 문서 가져오기가 실패할 정도로 낮기 때문에 여기서는 60으로 높였습니다.
설정
Node 22+ (Tavily는
npx를 통해 실행되고, Qdrant는uv가 이미 제공하는uvx를 통해 실행되며, Context7은 설치가 필요 없습니다):Windows (PowerShell):
winget install OpenJS.NodeJS.LTSMac:
brew install nodeLinux / 기타: 패키지 관리자 또는 nodejs.org에서 설치
tavily.com에서 무료 Tavily API 키를 받으세요 (월 1,000회 검색, 신용카드 불필요;
tvly-로 시작).선택 사항: context7.com에서 무료 Context7 API 키를 받으세요. Context7은 익명으로 작동합니다 — 키는 속도 제한만 높여줍니다.
.env.example을.env로 복사하고 다음을 입력하세요:OPENAI_API_KEY=sk-... TAVILY_API_KEY=tvly-... CONTEXT7_API_KEY= # optional, leave blank to run anonymously의존성 설치:
uv sync실행:
uv run main.py
참고 사항
첫 실행 시 한 번 일시 중지되며, 때로는 꽤 오래 걸립니다: 첫 저장 또는 검색 시 Qdrant의 작은 로컬 임베딩 모델을 다운로드합니다. 이것이 Qdrant 서버가 60초가 아닌 120초의 클라이언트 타임아웃을 받는 이유입니다.
벡터 저장소는
memory/qdrant/(컬렉션knowledge)에 있으며, 작업 디렉토리를 기준으로 생성됩니다 — 프로젝트 폴더에서 실행하세요. 빈 지식 베이스로 시작하려면 삭제하세요.스크립트를 다시 실행하면 1단계가 이미 저장된 내용을 대체하지 않고 추가합니다.
CONTEXT7_API_KEY가 설정되면Authorization: Bearer ...헤더로 전송됩니다. 없으면 헤더가 완전히 생략되고 서버가 익명으로 사용됩니다.검색 에이전트는 의도적으로 Qdrant만 사용하도록 남겨졌습니다. Context7도 함께 제공하면 데모가 모호해집니다 — 답변이 지식 베이스에서 왔는지 새로운 문서 조회에서 왔는지 구분할 수 없게 됩니다.
Context7은 원격 서버이므로 다른 두 서버와 달리 로컬 프로세스가 아닌
mcp.context7.com의 네트워크 연결 가능성에 의존합니다.추적은 platform.openai.com/traces에서 확인하세요.
Windows, 경로에 공백이 있는 경우:
npx실행이 실패하면 대신{"command": "powershell", "args": ["/c", "npx", ...]}를 사용하세요.
This server cannot be deployed
Maintenance
Related MCP Connectors
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Persistent memory for AI agents. Search, store, and recall across sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides semantic memory capabilities using Qdrant vector database with configurable embedding providers, allowing storage and retrieval of information using vector similarity.2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables semantic search and document management using a local Qdrant vector database with OpenAI embeddings. Supports natural language queries, metadata filtering, and collection management for AI-powered document retrieval.33 npm36MIT
- AlicenseNot gradedqualityDmaintenanceEnables storing and retrieving information using semantic search with Qdrant vector database. Acts as a memory layer for LLMs to persistently store and semantically search through information and metadata.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Qdrant vector database for storing, searching, and managing vectors with automatic text embedding.1-