Skip to main content
Glama

mcp-server-qdrant: Qdrant MCP サーバー

鍛冶屋のバッジ

モデルコンテキストプロトコル(MCP)は、LLMアプリケーションと外部データソースおよびツールとのシームレスな統合を可能にするオープンプロトコルです。AI搭載IDEの構築、チャットインターフェースの拡張、カスタムAIワークフローの作成など、MCPはLLMと必要なコンテキストを接続する標準化された方法を提供します。

このリポジトリは、ベクター検索エンジンであるQdrant用の MCP サーバーを作成する方法の例です。

概要

Qdrantベクトル検索エンジンにおけるメモリの保存と取得のための公式モデルコンテキストプロトコルサーバー。Qdrantデータベース上のセマンティックメモリレイヤーとして機能します。

Related MCP server: SearXNG Server

コンポーネント

ツール

  1. qdrant-store

    • Qdrantデータベースに情報を保存する

    • 入力:

      • information (文字列):保存する情報

      • metadata (JSON): 保存するオプションのメタデータ

      • collection_name (文字列): 情報を保存するコレクションの名前。デフォルトのコレクション名がない場合、このフィールドは必須です。デフォルトのコレクション名がある場合、このフィールドは無効になります。

    • 戻り値: 確認メッセージ

  2. qdrant-find

    • Qdrantデータベースから関連情報を取得する

    • 入力:

      • query (文字列): 検索に使用するクエリ

      • collection_name (文字列): 情報を保存するコレクションの名前。デフォルトのコレクション名がない場合、このフィールドは必須です。デフォルトのコレクション名がある場合、このフィールドは無効になります。

    • 戻り値: Qdrantデータベースに個別のメッセージとして保存された情報

環境変数

サーバーの構成は環境変数を使用して行われます。

名前

説明

デフォルト値

QDRANT_URL

QdrantサーバーのURL

なし

QDRANT_API_KEY

QdrantサーバーのAPIキー

なし

COLLECTION_NAME

使用するデフォルトのコレクションの名前。

なし

QDRANT_LOCAL_PATH

ローカル Qdrant データベースへのパス (

QDRANT_URL

の代替)

なし

EMBEDDING_PROVIDER

使用する埋め込みプロバイダ(現在は「fastembed」のみがサポートされています)

fastembed

EMBEDDING_MODEL

使用する埋め込みモデルの名前

sentence-transformers/all-MiniLM-L6-v2

TOOL_STORE_DESCRIPTION

ストアツールのカスタム説明

settings.py

のデフォルトを参照してください

TOOL_FIND_DESCRIPTION

検索ツールのカスタム説明

settings.py

のデフォルトを参照してください

注意: QDRANT_URLQDRANT_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-qdrant

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Qdrant MCP Server を自動的にインストールするには:

npx @smithery/cli install mcp-server-qdrant --client claude

Claude 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)の組み込みサポートを提供するCursorVS 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 transport

Cursor/Windsurfでは、SSEトランスポートプロトコルを使用してこの実行中のサーバーを指定することにより、設定でMCPサーバーを設定できます。CursorにMCPサーバーを追加する方法については、 Cursorのドキュメントをご覧ください。Cursor/Windsurfをローカルで実行している場合は、次のURLをご利用ください。

http://localhost:8000/sse
TIP

Cursor/WindsurfをMCPサーバーに接続する方法として、リモート接続をサポートできるSSEトランスポートを推奨します。これにより、サーバーをチームで共有したり、クラウド環境で使用したりすることが容易になります。

この構成により、Qdrant MCP サーバーは、次の機能を備えた特殊なコード検索ツールに変換されます。

  1. コードスニペット、ドキュメント、実装の詳細を保存する

  2. セマンティック検索に基づいて関連するコード例を取得する

  3. 開発者が特定の実装や使用パターンを見つけられるように支援する

コード スニペットの自然言語による説明 ( informationパラメータ内) と実際のコード ( metadata.codeプロパティ内) を保存してデータベースを作成し、探している内容を説明する自然言語クエリを使用して検索することができます。

NOTE

上記のツールの説明は例であり、具体的なユースケースに合わせてカスタマイズする必要がある場合があります。チームのワークフローや、保存および取得するコードスニペットの種類に合わせて、説明を調整することを検討してください。

**mcp-server-qdrantのインストールに成功したにもかかわらず、Cursor で動作しない場合は、エージェントが新しいコードスニペットを生成する際に常に MCP ツールが使用されるように、 Cursor ルールを作成することを検討してください。**ルールを特定のファイルタイプにのみ適用するように制限することで、ドキュメントやその他の種類のコンテンツに MCP サーバーが使用されないようにすることができます。

Claude Codeと併用

Claude Code をこの MCP サーバーに接続することで、既存のコードベースでセマンティック検索が可能になり、その機能を強化できます。

mcp-server-qdrant の設定

  1. 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
  2. サーバーが追加されたことを確認します。

    claude mcp list

Claude Code におけるセマンティックコード検索の使用

TOOL_STORE_DESCRIPTIONおよびTOOL_FIND_DESCRIPTIONで指定されるツールの説明は、Claude Code に MCP サーバーの使用方法を案内します。上記の説明は例であり、特定のユースケースに合わせてカスタマイズする必要がある場合があります。ただし、Claude Code では既に以下のことが可能です。

  1. qdrant-storeツールを使用して、説明付きのコード スニペットを保存します。

  2. qdrant-findツールを使用して、自然言語で関連するコード スニペットを検索します。

MCPサーバーを開発モードで実行する

MCPサーバーは、 mcp devコマンドを使用して開発モードで実行できます。このコマンドを実行するとサーバーが起動し、ブラウザでMCPインスペクターが開きます。

COLLECTION_NAME=mcp-dev mcp dev src/mcp_server_qdrant/server.py

VS Codeでの使用

ワンクリックでインストールするには、以下のいずれかのインストールボタンをクリックします。

VS CodeでUVXを使ってインストールする VS Code Insiders で UVX を使用してインストールする

VS CodeでDockerを使ってインストールする VS Code Insiders で Docker を使用してインストールする

手動インストール

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ファイルをご覧ください。

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/qdrant/mcp-server-qdrant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server