mcp-pymilvus-code-generator について
mcp-pymilvus-code-generatorは、Milvusのコードやドキュメントを検索し、pymilvusコードの生成、変換、翻訳を支援するMCPサーバーです。SSEとstdioに対応し、Milvusインスタンスに接続します。
主な機能
- 01pymilvusのコード例とドキュメントの検索
- 02ORMとクライアントコードの変換
- 03Milvusコードの多言語翻訳
- 04SSEとstdioのトランスポート
- 05ローカルまたはリモートMilvusへの接続
活用シーン
- 01自然言語の依頼からpymilvusコードを生成
- 02ORMとpymilvusクライアントコードを相互変換
- 03Milvus APIコードを別の言語へ翻訳
MCP 対応
pymilvusの例の検索、ORMとクライアントコードの変換、Milvusコードの翻訳を行うツールをMCPクライアントに提供します。SSEまたはstdioで実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-pymilvus-code-generate-helper
pymilvus コードの生成を支援するために、関連するコードスニペットやドキュメントを取得する Model Context Protocol サーバーです。


前提条件
この MCP サーバーを使用する前に、以下を確認してください。
使用方法
この MCP サーバーの推奨される使用方法は、インストールせずに uv で直接実行することです。以下の例では、Claude Desktop と Cursor の両方がこの方法で使用するように設定されています。サーバーは現在、sse と stdio の両方をサポートしています。
SSE
サーバーの実行
uv run src/mcp_pymilvus_code_generate_helper/sse_server.py
# mcp server will connect to local milvus server(http://localhost:19530) by default if no milvus_uri is provided
# to connect to a remote milvus server, you can specify the milvus_uri like this:
# uv run src/mcp_pymilvus_code_generate_helper/sse_server.py --milvus_uri http://<your-server-ip>:<your-server-port>
Cursor での使用方法
Cursor>Preferences>Cursor Settings>MCPに移動します+ Add New MCP Serverボタンをクリックします- フォームに入力します。
- 名前:
pymilvus-code-generate-helper(または任意の名前) - 種類:
sseを選択します - サーバー URL:
http://localhost:23333/milvus-code-helper/sse(サーバーの IP アドレスに置き換えてください)
- 名前:
Saveをクリックします
以下のように mcp.json を直接編集することもできます。
{
"mcpServers": {
"pymilvus-code-generate-helper": {
"url": "http://localhost:23333/milvus-code-helper/sse"
}
}
}
Claude Desktop での使用方法
⚠️ Claude Desktop は現在、リモート MCP サーバーへの接続機能に制限があります
STDIO
サーバーの実行
uv run src/mcp_pymilvus_code_generate_helper/stdio_server.py
# mcp server will connect to local milvus server(http://localhost:19530) by default if no milvus_uri is provided
# to connect to a remote milvus server, you can specify the milvus_uri like this:
# uv run src/mcp_pymilvus_code_generate_helper/stdio_server.py --milvus_uri http://<your-server-ip>:<your-server-port>
Cursor での使用方法
Cursor>Preferences>Cursor Settings>MCPに移動します+ Add New MCP Serverボタンをクリックします- フォームに入力します。
- 名前:
pymilvus-code-generate-helper(または任意の名前) - 種類:
stdioを選択します - コマンド:
/PATH/TO/uv --directory /path/to/mcp-pymilvus-code-generator run src/mcp_pymilvus_code_generate_helper/stdio_server.py
- 名前:
Saveをクリックします
以下のように mcp.json を直接編集することもできます。
{
"mcpServers": {
"pymilvus-code-generate-helper": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-pymilvus-code-generator",
"run",
"src/mcp_pymilvus_code_generate_helper/stdio_server.py",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR OPENAI API KEY HERE"
}
}
}
}
Claude Desktop での使用方法
- https://claude.ai/download から Claude Desktop をインストールします
- Claude Desktop の設定を開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS:
- 以下の設定を追加します。
{
"mcpServers": {
"pymilvus-code-generate-helper": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"src/mcp_pymilvus_code_generate_helper/stdio_server.py",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR OPENAI API KEY HERE"
}
}
}
}
- Claude Desktop を再起動します
⚠️ 注意:OPENAI_API_KEY 環境変数を設定してください
ユーザールール
Cursor でのツール呼び出しの精度を高めるために、ユーザー向けに追加できる指示を以下に示します。 Cursor の使用時にツール呼び出しの精度を高めるには、次のようにユーザールールを設定できます。
Cursor > Preferences > Cursor Settings > Rules に移動し、以下の内容をユーザールールに追加します。参考として、効果が確認されているユーザールールの例を示します。
Always use tools in milvus code generation, convertion and translation tasks.
1.milvus code generation.
- Can you help me generate a sample pymilvus code to hybrid search?
Call milvus_pypmilvus_code_generate_helper
2.milvus client and orm code convertion.
- Can you help me translate the following orm code to create collection to pymilvus client?
- <code context> translate to orm
Call milvus_orm_client_code_convert_helper
3.milvus code translation between different programming language.
- Can you help me translate the following milvus code to java.
- <code context> translate to nodejs
Call milvus_code_translate_helper
If you meet the milvus code translation between different programming language task or convert between orm and milvus client, you must identify all API calls of the selected codes related to the Milvus SDK. The "query" argument should be a list of API call descriptions.
Here is the examples:
Example 1
Context:
```
from pymilvus import MilvusClient, DataType
CLUSTER_ENDPOINT = "http://localhost:19530"
TOKEN = "root:Milvus"
# 1. Set up a Milvus client
client = MilvusClient(
uri=CLUSTER_ENDPOINT,
token=TOKEN
)
# 2. Create a collection in quick setup mode
client.create_collection(
collection_name="quick_setup",
dimension=5
)
res = client.get_load_state(
collection_name="quick_setup"
)
print(res)
```
Parsed arguments of tool using:
["create_collection", "get_load_state"]
Example 2
Context:
```
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530", token="root:Milvus")
if not client.has_collection("my_collection"):
client.create_collection(collection_name="my_collection", dimension=128)
client.insert(
collection_name="my_collection",
data=[{"vector": [0.1, 0.2, 0.3, 0.4, 0.5]}]
)
client.flush(["my_collection"])
```
Parsed arguments of tool using:
["has_collection", "create_collection", "insert", "flush"]
ワークフローに合わせて、ルールを自由に調整、追加してください。
利用可能なツール
サーバーは以下のツールを提供します。
-
milvus-pypmilvus-code-generate-helper:自然言語のユーザー入力からコードを生成するために、関連する pymilvus コード/ドキュメントを検索します- パラメーター:
query:コード生成に関するユーザーのクエリ
- パラメーター:
-
milvus-orm-client-code-convert-helper:orm コードを pymilvus クライアントに(またはその逆に)変換するために、関連する orm および pymilvus クライアントのコード/ドキュメントを検索します- パラメーター:
query:orm と milvus クライアント間の変換に使う、ユーザーのクエリとコードコンテキストから抽出した Milvus API 名のリスト形式の文字列
- パラメーター:
-
milvus-code-translate-helper:Milvus コードの翻訳に役立つ、さまざまなプログラミング言語の関連ドキュメントやコードスニペットを検索します -
パラメーター:
query:あるプログラミング言語から別のプログラミング言語に翻訳する Milvus API 名のリスト形式の文字列(例:['create_collection', 'insert', 'search'])source_language:ソースのプログラミング言語(例:'python', 'java', 'go', 'csharp', 'node', 'restful')target_language:ターゲットのプログラミング言語(例:'python', 'java', 'go', 'csharp', 'node', 'restful')
⚠️ 注意:クエリでツール名やパラメーターを指定する必要はありません。LLM でコーディングするときと同じように、要件を述べ、関連するコードコンテキストを選択してください。MCP がクエリの内容に基づいて適切なツールを自動的に選択し、対応するパラメーターを準備します。
Docker
Docker を使って milvus コードヘルパー MCP サーバーをビルドして実行することもできます。
Docker イメージをビルドする
docker build -t milvus-code-helper .
Docker コンテナを実行する
docker run -p <YOUR_HOST_IP>:<YOUR_HOST_PORT>:23333 -e OPENAI_API_KEY -e MILVUS_URI=<YOUR_MILVUS_URI> -e MILVUS_TOKEN=<YOUR_MILVUS_TOKEN> milvus-code-helper
貢献
貢献を歓迎します!検索結果を改善するアイデアがあれば、プルリクエストを送信するか、イシューを作成してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。