Milvus MCP Server
Milvus MCP Server
本プログラムは、大規模言語モデル向けに設計された、Model Context Protocol (MCP) プロトコルに準拠したMilvusベクトルデータベース接続サービスです。大規模言語モデル(Antigravityなど)の外部ベクトルデータベース対話ツールとして利用できます。
Milvus 2.6 ベクトルデータベースをサポートし、OpenAI互換のEmbeddingサービス(通義千問 text-embedding-v4など)を内蔵しているため、大規模言語モデルが自然言語を使用して直接セマンティック検索を行うことが可能です。
💡 機能のハイライト
ベクトル検索:テキスト入力によるセマンティック検索(自動Embedding)および生のベクトル検索をサポート。
内蔵Embedding:OpenAI互換エンドポイントを統合。大規模言語モデルがテキストを渡すだけで自動的にベクトルへ変換されるため、外部のEmbeddingサービスは不要です。
コレクションのライフサイクル管理:コレクションの作成、表示、削除が可能。作成時に自動でインデックスを作成し、ロードを行います。
データの読み書き:ベクトルデータの挿入および条件付き削除をサポート。
マルチ接続管理:JSON設定ファイルを通じて複数の名前付き接続を定義可能。1つのMCP Serverインスタンスで複数のMilvusインスタンスを管理できます。
安全設計:
drop_collectionおよびdelete_entitiesは独立したツールとしてMCPクライアント側で個別にオン/オフが可能。drop_collectionには二重の安全策としてconfirmDrop=trueパラメータが必須です。ハイブリッド検索:ベクトル類似度検索とスカラーフィルタリングを組み合わせたクエリをサポート。
Related MCP server: MCP Server MySQL
⚙️ 動作環境要件
Node.js 環境:Node.js バージョン v18 以上 が必要です。
Milvus インスタンス:アクセス可能な Milvus 2.6 サービスインスタンスが必要です。
Embedding API:OpenAI互換のEmbeddingサービスエンドポイント(通義千問百煉プラットフォームなど)が必要です。
依存パッケージ:実行マシン上で
npm install --omit=devを実行して依存関係をインストールする必要があります。
🛠 インストールとビルド
1. ソースコードからのビルド
npm install
npm run buildビルド成果物は ./dist ディレクトリに格納されます。
2. グローバルインストール
npm link実行後、システム上のどこからでもグローバルコマンド milvus-mcp-server を使用してサービスを起動できます。
📝 設定ファイル
JSONファイルを使用してMilvus接続とEmbeddingサービスを設定します。
設定ファイルの例
{
"connections": [
{
"name": "my-milvus",
"address": "localhost:19530",
"username": "root",
"password": "Milvus",
"database": "default",
"description": "本地开发 Milvus 实例,存储文档和图片的向量索引"
}
],
"embedding": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "sk-your-api-key",
"model": "text-embedding-v4",
"dimensions": 1024
}
}接続フィールドの説明
フィールド | 型 | 必須 | 説明 |
| string | ✅ | 接続の識別用ユニーク名 |
| string | ✅ | Milvus サービスアドレス、形式 |
| string | ✅ | ユーザー名 |
| string | ✅ | パスワード |
| string | ❌ | データベース名、デフォルトは |
| string | ❌ | 接続の業務説明 |
Embeddingフィールドの説明
フィールド | 型 | 必須 | 説明 |
| string | ✅ | OpenAI互換 API エンドポイント |
| string | ✅ | API Key |
| string | ✅ | モデル名(例: |
| number | ✅ | 出力ベクトルの次元数。text-embedding-v4 対応:2048, 1536, 1024, 768, 512, 256, 128, 64 |
🚀 起動と使用方法
milvus-mcp-server --config <path-to-config.json>パラメータリスト:
-c, --config <path>:設定ファイルのパス(必須)。
🧠 MCP クライアント設定例
一般的な MCP Client(Antigravityなど)の設定例:
{
"mcpServers": {
"MilvusMCP": {
"command": "node",
"args": [
"绝对路径/milvus_mcp_server/dist/index.js",
"--config", "绝对路径/milvus-config.json"
]
}
}
}🧰 モデルが呼び出し可能なツール (Tools)
1. list_milvus_connections
説明:設定されたすべてのMilvus接続情報をリスト表示します(パスワードは除外)。
パラメータ:なし。
2. list_collections
説明:指定された接続内のすべてのコレクションをリスト表示します。
パラメータ:
connectionName(String): 対象の接続名。
3. describe_collection
説明:フィールド定義、インデックス、行数統計を含むコレクションの詳細スキーマ情報を取得します。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): コレクション名。
4. create_collection
説明:新しいコレクションを作成します。ベクトルフィールドに対して自動的にAUTOINDEXを作成し、コレクションをロードして即座に検索可能にします。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 新しいコレクション名。description(String, オプション): コレクションの説明。fields(Array): フィールド定義の配列。各項目にはname,dataType,isPrimaryKey?,autoId?,dimension?,maxLength?,description?を含みます。
5. drop_collection
説明:コレクションとそのすべてのデータを完全に削除します。元に戻すことはできません。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 削除するコレクション名。confirmDrop(Boolean):trueに設定しないと削除は実行されません。安全のための二重確認メカニズムです。
スイッチ制御:このツールはMCPクライアント側で個別に有効/無効化できます。
6. insert_vectors
説明:コレクションにデータを挿入します。各データはJSONオブジェクトであり、各フィールドの値(ベクトルフィールドを含む)を含みます。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 対象のコレクション名。data(Array): データ配列。
7. delete_entities
説明:フィルタ式に基づいてエンティティを削除します。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 対象のコレクション名。filter(String): Milvus フィルタ式(例:'id in [1, 2, 3]')。
スイッチ制御:このツールはMCPクライアント側で個別に有効/無効化できます。
8. vector_search
説明:ベクトル類似度検索。テキスト(自動的にEmbeddingサービスを呼び出してベクトルに変換)または生のベクトルを渡すことができます。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 対象のコレクション名。text(String, オプション): 検索テキスト。vectorとのいずれかを選択。vector(Number[], オプション): 生の検索ベクトル。textとのいずれかを選択。topK(Number, オプション): 返す件数、デフォルトは10。filter(String, オプション): スカラーフィルタ式。outputFields(String[], オプション): 返すフィールドのリスト。
9. query_entities
説明:ベクトル検索を伴わない、スカラー条件によるエンティティクエリ。
パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 対象のコレクション名。filter(String): Milvus フィルタ式。outputFields(String[], オプション): 返すフィールドのリスト。limit(Number, オプション): 最大返却件数、デフォルトは100。
10. hybrid_search
説明:ベクトル検索とスカラーフィルタリングを組み合わせたクエリ。
vector_searchとの違いはfilterが必須パラメータである点です。パラメータ:
connectionName(String): 対象の接続名。collectionName(String): 対象のコレクション名。text(String, オプション): 検索テキスト。vectorとのいずれかを選択。vector(Number[], オプション): 生の検索ベクトル。textとのいずれかを選択。filter(String): 必須、スカラーフィルタ式。topK(Number, オプション): 返す件数、デフォルトは10。outputFields(String[], オプション): 返すフィールドのリスト。
This server cannot be deployed
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
Related MCP Servers
- 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.70 npm37MIT
- AlicenseAqualityCmaintenanceEnables LLMs to interact with MySQL databases through standardized protocol, supporting database management, table operations, data queries, and modifications with configurable permission controls.1548 npm1MIT

Zilliz MCP Serverofficial
AlicenseAqualityCmaintenanceEnables AI agents to interact with Milvus vector databases and Zilliz Cloud through natural language, allowing users to create clusters, manage collections, insert vector data, and perform semantic searches directly from their AI assistants.1633Apache 2.0- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Milvus vector database for search, query, and collection management operations.8-