Milvus 用 MCP サーバー
モデルコンテキストプロトコル(MCP)は、LLMアプリケーションと外部データソースおよびツールとのシームレスな統合を可能にするオープンプロトコルです。AI搭載IDEの構築、チャットインターフェースの拡張、カスタムAIワークフローの作成など、MCPはLLMと必要なコンテキストを接続する標準化された方法を提供します。
このリポジトリには、 Milvusベクター データベース機能へのアクセスを提供する MCP サーバーが含まれています。
前提条件
この MCP サーバーを使用する前に、次のものを用意してください。
使用法
このMCPサーバーを使用する際の推奨方法は、インストールせずにuv
で直接実行することです。以下の例では、Claude DesktopとCursorの両方でこの設定を使用しています。
リポジトリをクローンする場合:
その後、サーバーを直接実行できます。
あるいは、 src/mcp_server_milvus/
ディレクトリの .env ファイルを変更して環境変数を設定し、次のコマンドでサーバーを実行することもできます。
重要: .env ファイルはコマンドライン引数よりも優先されます。
実行モード
サーバーは、 stdio (デフォルト) とSSE (Server-Sent Events) の 2 つの実行モードをサポートしています。
Stdio モード (デフォルト)
- 説明: 標準入出力を介してクライアントと通信します。モードが指定されていない場合は、これがデフォルトモードになります。
- 使用法:
SSEモード
- 説明: 通信にはHTTPサーバー送信イベントを使用します。このモードでは、複数のクライアントがHTTP経由で接続できるため、Webベースのアプリケーションに適しています。
- 使用法:
--sse
: SSE モードを有効にします。--port
: SSE サーバーのポートを指定します (デフォルト: 8000)。
- SSE モードでのデバッグ:SSE モードでデバッグする場合は、SSE サービスを開始した後、次のコマンドを入力します。出力は次のようになります。その後、テストのために
http://127.0.0.1:6274
で MCP Inspector にアクセスできます。
サポートされているアプリケーション
この MCP サーバーは、モデル コンテキスト プロトコルをサポートするさまざまな LLM アプリケーションで使用できます。
- Claude Desktop : Claude 用の Anthropic のデスクトップ アプリケーション
- カーソル: MCP をサポートする AI 搭載コードエディター
- カスタム MCP クライアント: MCP クライアント仕様を実装したアプリケーション
Claude Desktopでの使用
さまざまなモードの設定
SSEモード構成
Claude Desktop を SSE モード用に構成するには、次の手順に従います。
- https://claude.ai/downloadから Claude Desktop をインストールします。
- Claude Desktop 構成ファイルを開きます。
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- SSE モードの場合は次の構成を追加します。
- 変更を適用するには、Claude Desktop を再起動します。
stdioモードの設定
stdio モードの場合は、次の手順に従います。
- https://claude.ai/downloadから Claude Desktop をインストールします。
- Claude Desktop 構成ファイルを開きます。
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- stdio モードに次の構成を追加します。
- 変更を適用するには、Claude Desktop を再起動します。
カーソルとの使用
CursorはMCPツールもサポートしています。Milvus MCPサーバーをCursorと統合するには、以下の手順に従ってください。
統合手順
Cursor Settings
を開く >MCP
Add new global MCP server
をクリックします- クリックすると、
mcp.json
ファイルに自動的にリダイレクトされます。存在しない場合は作成されます。
mcp.json
ファイルの設定
Stdio モードの場合:
mcp.json
ファイルを次の内容で上書きします。
SSE モードの場合:
- 次のコマンドを実行してサービスを開始します。
注:
http://your_sse_host
実際の SSE ホスト アドレスに置き換え、port
を使用している特定のポート番号に置き換えます。 - サービスが起動したら、
mcp.json
ファイルを次の内容で上書きします。
統合の完了
上記の手順を完了したら、設定が有効になるようにカーソルを再起動するか、ウィンドウを再読み込みします。
統合の検証
Cursor が Milvus MCP サーバーと正常に統合されたことを確認するには:
Cursor Settings
を開く >MCP
- リストに「milvus」または「milvus-sse」が表示されているかどうかを確認します(選択したモードによって異なります)
- 関連するツールがリストされていることを確認します (例: milvus_list_collections、milvus_vector_search など)。
- サーバーが有効になっているにもかかわらずエラーが表示される場合は、以下のトラブルシューティングセクションを確認してください。
利用可能なツール
サーバーは次のツールを提供します。
検索とクエリ操作
milvus_text_search
: 全文検索を使用して文書を検索する- パラメータ:
collection_name
: 検索するコレクションの名前query_text
: 検索するテキストlimit
: 返される結果の最大数(デフォルト: 5)output_fields
: 結果に含めるフィールドdrop_ratio
: 無視する低頻度用語の割合(0.0-1.0)
- パラメータ:
milvus_vector_search
: コレクションに対してベクトル類似度検索を実行する- パラメータ:
collection_name
: 検索するコレクションの名前vector
: クエリベクトルvector_field
: ベクトル検索のフィールド名(デフォルト: "vector")limit
: 返される結果の最大数(デフォルト: 5)output_fields
: 結果に含めるフィールドfilter_expr
: フィルター式metric_type
: 距離メトリック(COSINE、L2、IP)(デフォルト: "COSINE")
- パラメータ:
milvus_hybrid_search
: コレクションに対してハイブリッド検索を実行する- パラメータ:
collection_name
: 検索するコレクションの名前query_text
: 検索用のテキストクエリtext_field
: テキスト検索のフィールド名vector
: テキストクエリのベクトルvector_field
: ベクトル検索のフィールド名limit
: 返される結果の最大数output_fields
: 結果に含めるフィールドfilter_expr
: フィルター式
- パラメータ:
milvus_query
: フィルター式を使用してコレクションをクエリする- パラメータ:
collection_name
: クエリするコレクションの名前filter_expr
: フィルター式(例:'age > 20')output_fields
: 結果に含めるフィールドlimit
: 返される結果の最大数(デフォルト: 10)
- パラメータ:
コレクション管理
milvus_list_collections
: データベース内のすべてのコレクションを一覧表示するmilvus_create_collection
: 指定されたスキーマで新しいコレクションを作成する- パラメータ:
collection_name
: 新しいコレクションの名前collection_schema
: コレクションスキーマ定義index_params
: オプションのインデックスパラメータ
- パラメータ:
milvus_load_collection
: 検索とクエリのためにコレクションをメモリにロードする- パラメータ:
collection_name
: ロードするコレクションの名前replica_number
: レプリカの数(デフォルト: 1)
- パラメータ:
milvus_release_collection
: メモリからコレクションを解放する- パラメータ:
collection_name
: 解放するコレクションの名前
- パラメータ:
milvus_get_collection_info
: 特定のコレクションのスキーマ、プロパティ、コレクション ID、その他のメタデータなどの詳細情報を一覧表示します。- パラメータ:
collection_name
: 詳細情報を取得するコレクションの名前
- パラメータ:
データ操作
milvus_insert_data
: コレクションにデータを挿入します- パラメータ:
collection_name
: コレクションの名前data
: フィールド名を値のリストにマッピングする辞書
- パラメータ:
milvus_delete_entities
: フィルター式に基づいてコレクションからエンティティを削除します- パラメータ:
collection_name
: コレクションの名前filter_expr
: 削除するエンティティを選択するためのフィルター式
- パラメータ:
環境変数
MILVUS_URI
: Milvus サーバー URI (--milvus-uri の代わりに設定可能)MILVUS_TOKEN
: オプションの認証トークンMILVUS_DB
: データベース名(デフォルトは「default」)
発達
サーバーを直接実行するには:
例
Claudeデスクトップの使用
例1: コレクションの一覧表示
その後、Claude は MCP を使用して、Milvus DB でこの情報を確認します。
例2: ドキュメントの検索
クロードは、Milvus の全文検索機能を使用して、関連するドキュメントを検索します。
カーソルの使用
例: コレクションの作成
カーソルでは、次のことを尋ねることができます。
カーソルは MCP サーバーを使用してこの操作を実行します。
トラブルシューティング
よくある問題
接続エラー
「Milvus サーバーに接続できませんでした」などのエラーが表示された場合:
- Milvusインスタンスが実行中であることを確認します:
docker ps
(Dockerを使用している場合) - 設定内のURIが正しいことを確認してください
- 接続をブロックするファイアウォールルールがないことを確認する
- URIで
localhost
代わりに127.0.0.1
使用してみてください
認証の問題
認証エラーが表示された場合:
MILVUS_TOKEN
が正しいことを確認してください- Milvusインスタンスに認証が必要かどうかを確認する
- 実行しようとしている操作に対する適切な権限があることを確認してください
ツールが見つかりません
MCP ツールが Claude Desktop または Cursor に表示されない場合は、次の手順に従ってください。
- アプリケーションを再起動します
- サーバーログにエラーがないか確認してください
- MCPサーバーが正しく動作していることを確認する
- MCP設定の更新ボタンを押します(カーソル用)
ヘルプの取得
問題が引き続き発生する場合:
- 同様の問題についてはGitHub Issuesを確認してください
- サポートを受けるには、 ZillizコミュニティDiscordに参加してください
- 問題に関する詳細情報を記載した新しい問題を提出してください
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
LLM アプリケーションが Milvus ベクター データベース機能と対話できるようにし、自然言語によるベクター検索、コレクション管理、およびデータ操作を可能にするモデル コンテキスト プロトコルを実装する統合サーバー。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.Last updated 3 months ago636316JavaScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.Last updated 2 months ago10124PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with Databricks workspaces through natural language, allowing SQL query execution and job management operations.Last updated 3 months ago38Python
Aiven MCP Serverofficial
AsecurityAlicenseAqualityA Model Context Protocol server that provides access to Aiven services (PostgreSQL, Kafka, ClickHouse, Valkey, OpenSearch), enabling LLMs to build full stack solutions by interacting with these services.Last updated 3 months ago36PythonApache 2.0