mcp-server-qdrant: Qdrant MCP サーバー
モデルコンテキストプロトコル(MCP)は、LLMアプリケーションと外部データソースおよびツールとのシームレスな統合を可能にするオープンプロトコルです。AI搭載IDEの構築、チャットインターフェースの拡張、カスタムAIワークフローの作成など、MCPはLLMと必要なコンテキストを接続する標準化された方法を提供します。
このリポジトリは、ベクター検索エンジンであるQdrant用の MCP サーバーを作成する方法の例です。
概要
Qdrantベクトル検索エンジンにおけるメモリの保存と取得のための公式モデルコンテキストプロトコルサーバー。Qdrantデータベース上のセマンティックメモリレイヤーとして機能します。
Related MCP server: SearXNG Server
コンポーネント
ツール
qdrant-storeQdrantデータベースに情報を保存する
入力:
information(文字列):保存する情報metadata(JSON): 保存するオプションのメタデータcollection_name(文字列): 情報を保存するコレクションの名前。デフォルトのコレクション名がない場合、このフィールドは必須です。デフォルトのコレクション名がある場合、このフィールドは無効になります。
戻り値: 確認メッセージ
qdrant-findQdrantデータベースから関連情報を取得する
入力:
query(文字列): 検索に使用するクエリcollection_name(文字列): 情報を保存するコレクションの名前。デフォルトのコレクション名がない場合、このフィールドは必須です。デフォルトのコレクション名がある場合、このフィールドは無効になります。
戻り値: Qdrantデータベースに個別のメッセージとして保存された情報
環境変数
サーバーの構成は環境変数を使用して行われます。
名前 | 説明 | デフォルト値 |
| QdrantサーバーのURL | なし |
| QdrantサーバーのAPIキー | なし |
| 使用するデフォルトのコレクションの名前。 | なし |
| ローカル Qdrant データベースへのパス ( | なし |
| 使用する埋め込みプロバイダ(現在は「fastembed」のみがサポートされています) |
|
| 使用する埋め込みモデルの名前 |
|
| ストアツールのカスタム説明 |
|
| 検索ツールのカスタム説明 |
|
注意: QDRANT_URLとQDRANT_LOCAL_PATH両方を同時に提供することはできません。
[!重要] コマンドライン引数はサポートされなくなりました。すべての構成に環境変数を使用してください。
インストール
uvxの使用
uvxを使用する場合*、 mcp-server-qdrant を*直接実行するために特別なインストールは必要ありません。
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
uvx mcp-server-qdrantトランスポートプロトコル
サーバーは、 --transportフラグを使用して指定できるさまざまなトランスポート プロトコルをサポートしています。
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
uvx mcp-server-qdrant --transport sseサポートされているトランスポート プロトコル:
stdio(デフォルト): 標準入出力トランスポート。ローカル MCP クライアントでのみ使用される可能性があります。sse: サーバー送信イベントトランスポート、リモートクライアントに最適
指定されていない場合、デフォルトのトランスポートはstdioなります。
Dockerの使用
MCP サーバーを構築および実行するための Dockerfile が利用可能です。
# Build the container
docker build -t mcp-server-qdrant .
# Run the container
docker run -p 8000:8000 \
-e QDRANT_URL="http://your-qdrant-server:6333" \
-e QDRANT_API_KEY="your-api-key" \
-e COLLECTION_NAME="your-collection" \
mcp-server-qdrantSmithery経由でインストール
Smithery経由で Claude Desktop 用の Qdrant MCP Server を自動的にインストールするには:
npx @smithery/cli install mcp-server-qdrant --client claudeClaude Desktopの手動設定
このサーバーを Claude Desktop アプリで使用するには、 claude_desktop_config.jsonの「mcpServers」セクションに次の構成を追加します。
{
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333",
"QDRANT_API_KEY": "your_api_key",
"COLLECTION_NAME": "your-collection-name",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
}
}
}ローカルQdrantモードの場合:
{
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_LOCAL_PATH": "/path/to/qdrant/database",
"COLLECTION_NAME": "your-collection-name",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
}
}
}この MCP サーバーは、指定された名前のコレクションが存在しない場合は自動的に作成します。
デフォルトでは、サーバーはsentence-transformers/all-MiniLM-L6-v2埋め込みモデルを使用して記憶をエンコードします。現時点では、 FastEmbedモデルのみがサポートされています。
他のツールのサポート
このMCPサーバーは、MCP対応のあらゆるクライアントで使用できます。例えば、モデルコンテキストプロトコル(MCP)の組み込みサポートを提供するCursorやVS Codeで使用できます。
カーソル/ウィンドサーフィンと併用
ツールの説明をカスタマイズすることで、この MCP サーバーを Cursor または Windsurf のコード検索ツールとして機能するように構成できます。
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="code-snippets" \
TOOL_STORE_DESCRIPTION="Store reusable code snippets for later retrieval. \
The 'information' parameter should contain a natural language description of what the code does, \
while the actual code should be included in the 'metadata' parameter as a 'code' property. \
The value of 'metadata' is a Python dictionary with strings as keys. \
Use this whenever you generate some code snippet." \
TOOL_FIND_DESCRIPTION="Search for relevant code snippets based on natural language descriptions. \
The 'query' parameter should describe what you're looking for, \
and the tool will return the most relevant code snippets. \
Use this when you need to find existing code snippets for reuse or reference." \
uvx mcp-server-qdrant --transport sse # Enable SSE transportCursor/Windsurfでは、SSEトランスポートプロトコルを使用してこの実行中のサーバーを指定することにより、設定でMCPサーバーを設定できます。CursorにMCPサーバーを追加する方法については、 Cursorのドキュメントをご覧ください。Cursor/Windsurfをローカルで実行している場合は、次のURLをご利用ください。
http://localhost:8000/sseCursor/WindsurfをMCPサーバーに接続する方法として、リモート接続をサポートできるSSEトランスポートを推奨します。これにより、サーバーをチームで共有したり、クラウド環境で使用したりすることが容易になります。
この構成により、Qdrant MCP サーバーは、次の機能を備えた特殊なコード検索ツールに変換されます。
コードスニペット、ドキュメント、実装の詳細を保存する
セマンティック検索に基づいて関連するコード例を取得する
開発者が特定の実装や使用パターンを見つけられるように支援する
コード スニペットの自然言語による説明 ( informationパラメータ内) と実際のコード ( metadata.codeプロパティ内) を保存してデータベースを作成し、探している内容を説明する自然言語クエリを使用して検索することができます。
上記のツールの説明は例であり、具体的なユースケースに合わせてカスタマイズする必要がある場合があります。チームのワークフローや、保存および取得するコードスニペットの種類に合わせて、説明を調整することを検討してください。
**mcp-server-qdrantのインストールに成功したにもかかわらず、Cursor で動作しない場合は、エージェントが新しいコードスニペットを生成する際に常に MCP ツールが使用されるように、 Cursor ルールを作成することを検討してください。**ルールを特定のファイルタイプにのみ適用するように制限することで、ドキュメントやその他の種類のコンテンツに MCP サーバーが使用されないようにすることができます。
Claude Codeと併用
Claude Code をこの MCP サーバーに接続することで、既存のコードベースでセマンティック検索が可能になり、その機能を強化できます。
mcp-server-qdrant の設定
Claude Code に MCP サーバーを追加します。
# Add mcp-server-qdrant configured for code search claude mcp add code-search \ -e QDRANT_URL="http://localhost:6333" \ -e COLLECTION_NAME="code-repository" \ -e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ -e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \ -e TOOL_FIND_DESCRIPTION="Search for relevant code snippets using natural language. The 'query' parameter should describe the functionality you're looking for." \ -- uvx mcp-server-qdrantサーバーが追加されたことを確認します。
claude mcp list
Claude Code におけるセマンティックコード検索の使用
TOOL_STORE_DESCRIPTIONおよびTOOL_FIND_DESCRIPTIONで指定されるツールの説明は、Claude Code に MCP サーバーの使用方法を案内します。上記の説明は例であり、特定のユースケースに合わせてカスタマイズする必要がある場合があります。ただし、Claude Code では既に以下のことが可能です。
qdrant-storeツールを使用して、説明付きのコード スニペットを保存します。qdrant-findツールを使用して、自然言語で関連するコード スニペットを検索します。
MCPサーバーを開発モードで実行する
MCPサーバーは、 mcp devコマンドを使用して開発モードで実行できます。このコマンドを実行するとサーバーが起動し、ブラウザでMCPインスペクターが開きます。
COLLECTION_NAME=mcp-dev mcp dev src/mcp_server_qdrant/server.pyVS Codeでの使用
ワンクリックでインストールするには、以下のいずれかのインストールボタンをクリックします。
手動インストール
VS Codeのユーザー設定(JSON)ファイルに、以下のJSONブロックを追加します。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力することで実行できます。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}
}または、Docker を使用する場合は、代わりに次の構成を追加します。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "docker",
"args": [
"run",
"-p", "8000:8000",
"-i",
"--rm",
"-e", "QDRANT_URL",
"-e", "QDRANT_API_KEY",
"-e", "COLLECTION_NAME",
"mcp-server-qdrant"
],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}
}あるいは、ワークスペースに次の内容の.vscode/mcp.jsonファイルを作成することもできます。
{
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}Docker を使用したワークスペース構成の場合は、 .vscode/mcp.jsonでこれを使用します。
{
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "docker",
"args": [
"run",
"-p", "8000:8000",
"-i",
"--rm",
"-e", "QDRANT_URL",
"-e", "QDRANT_API_KEY",
"-e", "COLLECTION_NAME",
"mcp-server-qdrant"
],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}貢献
mcp-server-qdrant の改善方法についてご提案がある場合、またはバグを報告したい場合は、問題を報告してください。皆様からのあらゆる貢献を歓迎いたします。
mcp-server-qdrantローカルでテストする
MCPインスペクタは、MCPサーバーのテストとデバッグのための開発者ツールです。クライアントUI(デフォルトポート5173)とMCPプロキシサーバー(デフォルトポート3000)の両方を実行します。インスペクタを使用するには、ブラウザでクライアントUIを開いてください。
QDRANT_URL=":memory:" COLLECTION_NAME="test" \
mcp dev src/mcp_server_qdrant/server.py起動したら、ブラウザでhttp://localhost:5173を開き、インスペクター インターフェイスにアクセスします。
ライセンス
このMCPサーバーはApache License 2.0に基づいてライセンスされています。つまり、Apache License 2.0の条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。