PyMilvus Code Generate Helper
Recupera trechos de código e documentos relevantes para auxiliar na geração de código PyMilvus, exigindo uma instância do Milvus em execução.
Documentação
milvus-sdk-code-helper
Um servidor Model Context Protocol que recupera trechos de código ou documentos relevantes para ajudar na geração de código pymilvus.


Pré-requisitos
Antes de usar este servidor MCP, certifique-se de ter:
- Python 3.10 ou superior
- Uma instância Milvus em execução (local ou remota)
- uv instalado (recomendado para executar o servidor)
Início Rápido com FastMCP
A maneira recomendada de usar este servidor MCP é através do FastMCP, que oferece melhor desempenho e configuração mais fácil.
Configuração Inicial (com Atualização de Documentos)
Na primeira execução do servidor, use o servidor FastMCP principal, que atualizará automaticamente o banco de dados de documentos:
uv run src/mcp_pymilvus_code_generate_helper/fastmcp_server.py
Isso irá:
- Conectar-se à sua instância Milvus (padrão: http://localhost:19530)
- Baixar e processar a documentação mais recente do Milvus
- Iniciar o servidor MCP com todas as três ferramentas disponíveis
Configuração Personalizada
# Connect to remote Milvus server
uv run src/mcp_pymilvus_code_generate_helper/fastmcp_server.py --milvus_uri http://your-server:19530 --milvus_token your_token
# Change server host and port
uv run src/mcp_pymilvus_code_generate_helper/fastmcp_server.py --host 0.0.0.0 --port 8080
# Use different transport (default is http)
uv run src/mcp_pymilvus_code_generate_helper/fastmcp_server.py --transport sse
Execuções Posteriores (Modo Leve)
Após a configuração inicial, você pode usar o servidor FastMCP leve para inicialização mais rápida:
uv run examples/fastmcp_server.py
Esta versão leve:
- Ignora a sincronização de documentos
- Inicia imediatamente sem tarefas em segundo plano
- Assume que os documentos já estão carregados no Milvus
Opções do Servidor Leve
# Custom configuration for lightweight server
uv run examples/fastmcp_server.py --milvus_uri http://your-server:19530 --host 0.0.0.0 --port 8080 --transport http
Principais Recursos
- Busca e indexa automaticamente a versão mais recente da documentação do Milvus (可以获取最新文档版本)
- Atualização automática semanal via agendador leve em segundo plano
Uso com Cursor
- Vá para
Cursor>Settings>MCP - Clique no botão
+ Add New Global MCP Server - Configure com base no modo escolhido:
Para Transporte HTTP (Recomendado)
{
"mcpServers": {
"milvus-sdk-code-helper": {
"url": "http://localhost:8000/mcp"
}
}
}
Para Transporte SSE
{
"mcpServers": {
"milvus-sdk-code-helper": {
"url": "http://localhost:8000"
}
}
}
Para Transporte STDIO
{
"mcpServers": {
"milvus-sdk-code-helper": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/milvus-sdk-code-helper",
"run",
"examples/fastmcp_server.py",
"--transport",
"stdio",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
Uso com Claude Desktop
- Instale o Claude Desktop a partir de https://claude.ai/download
- Abra sua configuração do Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Adicione a seguinte configuração:
Para Transporte HTTP
{
"mcpServers": {
"milvus-sdk-code-helper": {
"url": "http://localhost:8000/mcp"
}
}
}
Para Transporte STDIO
{
"mcpServers": {
"milvus-sdk-code-helper": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/milvus-sdk-code-helper",
"run",
"examples/fastmcp_server.py",
"--transport",
"stdio",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
- Reinicie o Claude Desktop
⚠️ Nota: Lembre-se de definir a variável de ambiente
OPENAI_API_KEYao usar transporte STDIO.
Uso com Claude Code (VS Code)
Usando CLI (Recomendado)
# HTTP (recommended)
claude mcp add --transport http milvus-sdk-code-helper http://localhost:8000/mcp
# SSE
claude mcp add --transport sse milvus-sdk-code-helper http://localhost:8000
# STDIO
claude mcp add milvus-sdk-code-helper /ABS/PATH/TO/uv -- \
--directory /ABS/PATH/TO/milvus-sdk-code-helper \
run examples/fastmcp_server.py --transport stdio --milvus_uri http://localhost:19530
Configuração Manual
- Global (
~/.claude.json) – transporte HTTP
{
"mcpServers": {
"milvus-sdk-code-helper": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
- Projeto (
.mcp.jsonna raiz do projeto) – transporte STDIO
{
"mcpServers": {
"milvus-sdk-code-helper": {
"type": "stdio",
"command": "/ABS/PATH/TO/uv",
"args": [
"--directory",
"/ABS/PATH/TO/milvus-sdk-code-helper",
"run",
"examples/fastmcp_server.py",
"--transport",
"stdio",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
Uso com Gemini CLI (como servidor MCP)
Você pode adicionar um servidor MCP Gemini junto com este projeto no mesmo cliente. Isso é opcional e independente deste servidor.
Ferramentas Disponíveis
O servidor fornece três ferramentas poderosas para geração e tradução de código Milvus:
1. milvus_code_generator
Gere ou forneça exemplos de código PyMilvus/Milvus com base em entrada em linguagem natural.
- Quando usar: Geração de código, solicitações de exemplos de código, consultas "como escrever"
- Parâmetros:
query: Sua solicitação em linguagem natural para geração de código
- Exemplo: "Gerar código pymilvus para busca híbrida"

2. orm_client_code_convertor
Converta entre formatos de código ORM e cliente PyMilvus.
- Quando usar: Conversão entre estilos ORM e cliente, adaptação de formato
- Parâmetros:
query: Lista de nomes de APIs Milvus para converter (ex.:["create_collection", "insert"])
- Exemplo: "Converter código ORM para cliente PyMilvus"

3. milvus_code_translator
Traduza código Milvus entre diferentes linguagens de programação.
- Quando usar: Tradução de código entre linguagens
- Parâmetros:
query: Lista de nomes de APIs Milvus no formato de aspas duplas escapadas (ex.:[\"create_collection\", \"insert\", \"search\"])source_language: Linguagem de programação de origem (python, java, go, csharp, node, restful)target_language: Linguagem de programação de destino (python, java, go, csharp, node, restful)
- Exemplo: "Traduzir código Python Milvus para Java"

⚠️ Importante: Você não precisa especificar nomes de ferramentas ou parâmetros manualmente. Basta descrever seus requisitos naturalmente, e o sistema MCP selecionará automaticamente a ferramenta apropriada e preparará os parâmetros necessários.
Modos de Transporte Legados
Para compatibilidade reversa, o servidor também suporta modos de transporte SSE e STDIO:
Transporte SSE
# Start SSE server
uv run src/mcp_pymilvus_code_generate_helper/sse_server.py --milvus_uri http://localhost:19530
# Cursor configuration for SSE
{
"mcpServers": {
"milvus-sdk-code-helper": {
"url": "http://localhost:23333/milvus-code-helper/sse"
}
}
}
Transporte STDIO
# Start STDIO server
uv run src/mcp_pymilvus_code_generate_helper/stdio_server.py --milvus_uri http://localhost:19530
# Cursor configuration for STDIO
{
"mcpServers": {
"milvus-sdk-code-helper": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/milvus-sdk-code-helper",
"run",
"src/mcp_pymilvus_code_generate_helper/stdio_server.py",
"--milvus_uri",
"http://localhost:19530"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
Suporte a Docker
Você também pode executar o servidor usando Docker:
Construir a Imagem Docker
docker build -t milvus-code-helper .
Executar com FastMCP (Recomendado)
# First time run with document update
docker run -p 8000:8000 \
-e OPENAI_API_KEY=your_openai_key \
-e MILVUS_URI=http://your-milvus-host:19530 \
-e MILVUS_TOKEN=your_milvus_token \
milvus-code-helper
# Lightweight mode for subsequent runs
docker run -p 8000:8000 \
-e OPENAI_API_KEY=your_openai_key \
-e MILVUS_URI=http://your-milvus-host:19530 \
-e MILVUS_TOKEN=your_milvus_token \
milvus-code-helper examples/fastmcp_server.py
Opções de Configuração
Parâmetros do Servidor
| Parâmetro | Descrição | Padrão |
|---|---|---|
--milvus_uri | URI do servidor Milvus | http://localhost:19530 |
--milvus_token | Token de autenticação Milvus | "" |
--db_name | Nome do banco de dados Milvus | default |
--host | Endereço do host do servidor | 0.0.0.0 |
--port | Porta do servidor | 8000 |
--path | Caminho do endpoint HTTP | /mcp |
--transport | Protocolo de transporte | http |
Opções de Transporte
http: Transporte HTTP RESTful (recomendado)sse: Transporte Server-Sent Eventsstdio: Transporte padrão de entrada/saída
Variáveis de Ambiente
OPENAI_API_KEY: Necessário para processamento de documentos e geração de embeddingsMILVUS_URI: Maneira alternativa de especificar o URI do servidor MilvusMILVUS_TOKEN: Maneira alternativa de especificar o token de autenticação Milvus
Solução de Problemas
Problemas Comuns
- Recusa de conexão: Certifique-se de que o Milvus esteja em execução e acessível
- Falha de autenticação: Verifique seu token e credenciais Milvus
- Conflitos de porta: Altere a porta usando o parâmetro
--port - Documentos ausentes: Execute o servidor completo primeiro para popular o banco de dados
Modo de Depuração
Ative o registro de depuração:
PYTHONPATH=src python -m logging --level DEBUG src/mcp_pymilvus_code_generate_helper/fastmcp_server.py
Contribuindo
Contribuições são bem-vindas! Se você tiver ideias para melhorar os resultados de recuperação ou adicionar novos recursos, envie um pull request ou abra uma issue.
Licença
Este projeto é licenciado sob a Licença MIT.