Claude-Compatible Milvus MCP Server について
Claude-Compatible Milvus MCP Serverは、FastMCPサーバーを介してClaude DesktopをMilvusベクトルデータベースに接続します。DockerによるMilvusのセットアップと起動スクリプトを含み、Claudeとの互換性のためMilvusの規則に沿ったツール名を使います。
主な機能
- 01Milvus向けFastMCPサーバー
- 02Docker ComposeによるMilvusのセットアップ
- 03サーバー起動用シェルスクリプト
- 04Milvus規則に沿ったツール名
- 05サーバーの手動テスト
活用シーン
- 01Claude DesktopとMilvusの接続
- 02ClaudeからのMilvusコレクション一覧取得
- 03Dockerを使ったMilvusのローカル実行
- 04登録済みサーバーツールの手動テスト
MCP 対応
MCPサーバーとして、create_collection、list_collections、searchなどのツールでMilvus操作をクライアントに提供します。ツール名はClaudeとの互換性を考慮し、Milvusの規則に沿っています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude 互換の Milvus MCP サーバー
このリポジトリには、MCP(Model Context Protocol)を使用して Anthropic の Claude(Claude Desktop 経由)を Milvus ベクトルデータベースに接続するために必要なものがすべて含まれています。次のものが含まれています。
- 🧠 MCP に完全対応した FastMCP サーバー
- 🗃️ Milvus のセットアップ(Docker 経由)
- 🛠️ Claude 向けにサーバーを正しく起動するシェルスクリプト
- ✅ Claude との互換性を保つための Milvus 公式ツール名
📦 フォルダー構成
. ├── milvus-standalone/ # Milvus 用 Docker Compose を格納 │ ├── docker-compose.yml │ └── config/ # Milvus の etcd 設定ファイル(必要な場合) ├── fastmcp/ │ ├── milvus-server/ # カスタム MCP サーバーのファイル │ │ ├── server.py # MCP サーバーのコード │ │ └── run_milvus_server.sh # Claude 用サーバー起動シェルスクリプト │ ├── .venv/ # uv で管理する Python 仮想環境 │ └── pyproject.toml # FastMCP と依存関係 ├── claude_desktop_config.json # このエントリーを Claude の設定に追加 └── README.md
🚀 セットアップガイド
-
リポジトリをクローンする bash Copy Edit git clone https://github.com/YOUR_USERNAME/milvus-mcp-server cd milvus-mcp-server
-
Milvus を起動する(Docker) Docker がインストールされ、起動していることを確認してください。 cd milvus-standalone docker-compose up -d
-
uv をインストールする(まだの場合) brew install uv
-
Python 環境を同期する fastmcp/ 内で実行します。 cd fastmcp uv sync
-
サーバーをテストする uv run python milvus-server/server.py 次のようなログが表示されます。
pgsql Copy Edit INFO: Connected to Milvus ✅ Server loaded and tools are registered
- Claude の設定を更新する 次のように claude_desktop_config.json を更新します。 } "milvus": { "command": "/full/path/to/run_milvus_server.sh", "args": [] }
この後、Claude を再起動してください。
- Claude に尋ねる 次のように試してください。
「Milvus ツールを呼び出して、すべてのコレクションを一覧表示してください。」
これで接続して実行できるはずです。
🧠 ツールの命名規則(重要!)
Claude がツールを認識するのは、Milvus の命名規則と完全に一致している場合だけです。ツール名を変更しないでください。次の名前を使用します。
create_collection
list_collections
search
など。
@mcр.tool(name="create_collection") を使用してください。名前の大文字と小文字は区別されます。
🧪 デバッグのヒント
Milvus の Docker コンテナーが正常に動作していることを確認します(docker ps)
ターミナルで FastMCP サーバーのログを確認します
ツールに print 文を追加してデバッグします
.venv と uv を一貫して使用してください
ツールの説明に絵文字や ASCII 以外の文字を使用しないでください
📌 次のステップ
ツールを追加する(delete_collection、upsert など)
テストスクリプトを追加する(test_server.py)
検証用の GitHub Actions を追加する
🧪 テスト
ツールのテストを手動で実行するには、test_server_full.py または Claude Desktop インターフェースを使用してください。
🤝 クレジット
- @TerrysPOV が作成
- FastMCP を使用
- ベクトルは Milvus に保存
- OpenAI による埋め込み(text-embedding-ada-002)
📜 ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。