mcp-server-qdrant
Agentic RAG(Tavily + Context7 + Qdrant)
できること
エージェントが自分自身で構築する知識ベース。エージェントが参照できる複数のコンテキストエンジニアリングソースの一つです。
RAG(検索拡張生成)は、モデルに関連するドキュメントを与えて回答を裏付ける手法です。通常の設定では、事前にドキュメントをベクトルストアに読み込んでおきます。Agentic RAG はこれを逆転させます: エージェントが自ら知識ベースを構築し、何を保持する価値があるかを判断しながら、作業の過程で保存していきます。
このセットアップでは、公式のQdrant MCP サーバーを使用します。Qdrant はベクトルデータベースであり、サーバーは2つのツールを公開します。1つはテキストの断片を保存し、もう1つはクエリに対して最も関連性の高い保存済みテキストを見つけます。これは完全にローカルで動作します — QDRANT_LOCAL_PATH によりすべてのデータをディスク上に保持し、別途データベースを起動する必要はなく、テキストの埋め込みにはローカルモデルを使用するため、追加のAPIキーも不要です。
エージェントは3つのMCPサーバーを利用します:
サーバー | トランスポート | 目的 |
Tavily ( | stdio 経由 | ライブWeb検索、 |
Context7 ( | streamable HTTP | ライブラリ、フレームワーク、SDK、APIの最新ドキュメント |
Qdrant ( | stdio 経由 | エージェントが書き込み・読み取りを行うローカルベクトルストア |
このスクリプトは、RAGの2つの部分を別々のエージェントとして実行します:
保存 — Tavily検索、Context7、Qdrantを持つ1つのエージェント。Nvidiaに関する最新情報をWebから調査し、Context7を通じて現在のOpenAI Agents SDKのドキュメントを参照し、両方から重要な事実を保存します。
取得 — Qdrantのみを持つ2番目のエージェント。Web検索もContext7もありません。エージェントが何を言うにしても、それは最初のエージェントが保存した内容を思い出しているものです。
Related MCP server: Qdrant MCP Server
Context7 の理由
モデルの学習データにはカットオフがあるため、急速に変化するライブラリに関する記憶は古くなっており、もはや存在しないAPIを自信を持ってでっち上げてしまいます。Context7 は、ライブラリのドキュメントをインデックス化し、要求に応じて最新バージョンを提供するホスト型MCPサーバーです。2つのツール:
resolve-library-id— パッケージ名や製品名("openai-agents"、"next.js")をContext7のライブラリIDに変換します。query-docs— そのライブラリの最新のドキュメントとコード例を、質問に絞り込んで取得します。
エージェントの指示では、ライブラリに関連するものは、メモリや一般的なWeb検索ではなく、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:
...2つのタイムアウトが関与しており、それぞれ異なる役割を果たします。パラメータ内の timeout はHTTPリクエストのタイムアウトです。client_session_timeout_seconds はMCPセッション読み取りのタイムアウトで、デフォルトはわずか5秒です — この値が低いと、遅いドキュメント取得が失敗する可能性があるため、ここでは60秒に引き上げています。
セットアップ
Node 22+(Tavilyは
npx経由で実行、Qdrantはuvx経由で実行(uvがすでに提供)、Context7はインストール不要):Windows(PowerShell):
winget install OpenJS.NodeJS.LTSMac:
brew install nodeLinux / その他: パッケージマネージャーまたは nodejs.org からインストール
無料のTavily APIキーを tavily.com で取得(月1,000回の検索、クレジットカード不要、
tvly-で始まります)。オプション: 無料のContext7 APIキーを context7.com で取得。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はリモートサーバーであるため、他の2つとは異なり、ローカルプロセスではなく
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-