Mcp Milvus について
Mcp Milvusは、Milvusベクトルデータベースを操作するGo製MCPサーバーです。データベース、コレクション、インデックス、データ、接続のツールを備え、セッション接続プールとミドルウェアにも対応します。
主な機能
- 01データベースとコレクションのライフサイクル管理
- 02インデックスの作成と削除
- 03データの挿入、更新、削除、検索
- 04類似度検索とハイブリッド検索
- 05セッション単位の接続プール
- 06ログ記録と認証のミドルウェア
活用シーン
- 01Milvusのデータベースとコレクションの管理
- 02ベクトル検索とハイブリッド検索の実行
- 03ベクトルデータベースのレコードの追加や更新
MCP 対応
MCPクライアントにMilvus接続とデータベース操作のツールを提供します。SSEインターフェースでの通信に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Milvus
Milvus ベクトルデータベース向けの Model Context Protocol (MCP) サーバーです。包括的なベクトルデータベース操作を提供します。
🚀 特長
- Milvus の包括的な操作:データベース、コレクション、インデックスのライフサイクルを完全に管理します
- 高性能なベクトル検索:類似度検索、ハイブリッド検索など、さまざまな検索方法に対応します
- インテリジェントなセッション管理:Ristretto キャッシュに基づく効率的な接続プーリングを実現します
- 堅牢なアーキテクチャ:拡張と保守が容易なモジュール設計です
- ミドルウェア対応:ロギング、認証などのミドルウェアを内蔵しています
- Docker 対応:コンテナ化された完全なデプロイソリューションを提供します
- 型安全性:Go の強力な型システムにより API の安全性を確保します
📋 対応ツール
データベース管理
milvus_create_database- データベースを作成しますmilvus_list_databases- すべてのデータベースを一覧表示しますmilvus_use_database- データベースを切り替えます
コレクション管理
milvus_create_collection- コレクションを作成しますmilvus_drop_collection- コレクションを削除しますmilvus_list_collections- コレクションを一覧表示しますmilvus_get_collection_info- コレクション情報を取得しますmilvus_rename_collection- コレクションの名前を変更しますmilvus_load_collection- コレクションをメモリにロードしますmilvus_release_collection- コレクションをメモリから解放します
インデックス管理
milvus_create_index- インデックスを作成しますmilvus_drop_index- インデックスを削除します
データ操作
milvus_insert_data- データを挿入しますmilvus_upsert- データを挿入または更新しますmilvus_delete_entities- エンティティを削除しますmilvus_query- 条件付きクエリを実行しますmilvus_vector_search- ベクトル類似度検索を実行します
接続管理
milvus_connector- Milvus への接続を確立します
🛠️ インストールと使用方法
前提条件
- Go 1.24 以降
- 起動中の Milvus インスタンス
ソースからインストール
git clone https://github.com/tailabs/mcp-milvus.git
cd mcp-milvus
make deps
make build
または、Go を直接使用します:
git clone https://github.com/tailabs/mcp-milvus.git
cd mcp-milvus
go mod download
go build -o mcp-milvus ./cmd/mcp-milvus
Docker によるデプロイ
# Build image
docker build -t mcp-milvus .
# Run container
docker run -p 8080:8080 mcp-milvus
使用方法
- サーバーを起動する
# Using Makefile
make run
# Or directly
./build/mcp-milvus
- Milvus に接続する
milvus_connectorツールを使用して接続を確立します:
{
"address": "localhost:19530",
"token": "username:password",
"db_name": "default"
}
- 操作を実行する 接続が確立したら、ほかのツールを使用してデータベースを操作できます。
🏗️ プロジェクト構成
mcp-milvus/
├── cmd/mcp-milvus/ # Main application entry
├── internal/
│ ├── middleware/ # Middleware (logging, auth, etc.)
│ ├── registry/ # Tool registry
│ ├── schema/ # Schema builder
│ ├── session/ # Session management
│ └── tools/ # Milvus tool implementations
├── Dockerfile # Docker build file
├── go.mod # Go module definition
└── README.md # Project documentation
🔧 設定
環境変数
LOG_LEVEL:ログレベル(debug/info/warn/error)、デフォルト:infoPORT:サービスのポート、デフォルト:8080
接続設定
次の接続パラメーターに対応しています:
address:Milvus サービスのアドレスtoken:認証トークン(形式:username:password)db_name:データベース名
🤝 コントリビューション
あらゆる形の貢献を歓迎します!詳しくは CONTRIBUTING.md をご覧ください。
開発ワークフロー
- このリポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/AmazingFeature) - 開発環境をセットアップします(
make deps && make tools) - 変更を加えてテストします(
make test && make lint) - 変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします(
git push origin feature/AmazingFeature) - プルリクエストを作成します
利用可能な Make コマンド
利用可能なコマンドをすべて確認するには、make help を実行します:
make help # Show all available commands
make build # Build binary
make test # Run tests
make lint # Run linter
make fmt # Format code
make run # Build and run
make dev # Run with live reload
make docker # Build Docker image
make build-all # Build for all platforms
make release # Prepare release
make clean # Clean build artifacts
📝 ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。
🔗 関連リンク
📞 サポート
問題が発生した場合や質問がある場合は、次の手順をご確認ください:
- 類似の問題がないか Issues を確認します
- 問題の内容を説明する新しい Issue を作成します
- Discussions で議論に参加します
🙏 謝辞
⭐ このプロジェクトが役に立った場合は、Star を付けてください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。