MCP Server with Qdrant について
MCP Server with Qdrantは、QdrantのベクトルデータベースとMCPサーバーを組み合わせ、コードスニペットを保存・検索します。自然言語によるセマンティック検索に対応し、SSEで通信できます。
主な機能
- 01コードスニペットの保存と管理
- 02自然言語によるコード検索
- 03セマンティック検索で関連情報を取得
- 04SSEトランスポートに対応
活用シーン
- 01メタデータ付きコードスニペットの保存
- 02自然言語クエリによるコード検索
- 03関連するコード記録から結果を取得
MCP 対応
MCP クライアント向けに情報の保存と関連情報の検索ツールを提供し、SSEで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Qdrant を使用した MCP サーバー
このプロジェクトは、Qdrant ベクトルデータベースと MCP(Model Control Protocol)サーバーを統合し、コードスニペットを保存および検索できるシステムです。
機能
- コードスニペットの保存と管理
- 自然言語によるコード検索
- セマンティック検索による関連コードの検索
- SSE(Server-Sent Events)転送方式のサポート
システム構成
- Qdrant:ベクトルデータベースサーバー(ポート:6333、6334)
- MCP サーバー:コードスニペット管理サーバー(ポート:8000)
- 埋め込みモデル:(デフォルト)sentence-transformers/all-MiniLM-L6-v2
MCP ツール
QDRANT MCP サーバーは、次のツールを提供します。
1. qdrant-store
- 機能:Qdrant データベースに情報を保存します
- 入力:
information(string):保存する情報metadata(JSON):任意のメタデータ
- 戻り値:保存確認メッセージ
2. qdrant-find
- 機能:Qdrant データベースから関連情報を検索します
- 入力:
query(string):検索に使用するクエリ
- 戻り値:Qdrant データベースに保存された情報を個別のメッセージとして返します
はじめに
必要条件
- Docker
- Docker Compose
インストールと実行
1. リポジトリをクローン
git clone <repository-url>
cd <repository-name>
2. サービスを起動
docker-compose up -d
3. サービスの状態を確認
docker-compose ps
サービスへのアクセス
- Qdrant UI:http://localhost:6333/dashboard
- MCP サーバー:http://localhost:8000
- cursor などの AI IDE に設定する場合は、以下の JSON 形式で追加できます
"qdrant": {
"url": "http://localhost:8000/sse"
},
環境変数
Qdrant
RUST_LOG:ログレベル(デフォルト値:info)
MCP サーバー
QDRANT_URL:Qdrant サーバーのアドレスCOLLECTION_NAME:コレクション名EMBEDDING_MODEL:埋め込みモデルTOOL_STORE_DESCRIPTION:保存ツールの説明TOOL_FIND_DESCRIPTION:検索ツールの説明
データの保存
データは ./qdrant_storage ディレクトリに永続的に保存されます。
サービスの管理
ログの確認
docker-compose logs -f
サービスの停止
docker-compose down
注意事項
- データをバックアップするため、
qdrant_storageディレクトリを定期的にバックアップしてください。 - 本番環境では、適切なセキュリティ設定を追加してください。
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。