MCP + Milvus: Ligar a IA às bases de dados vectoriais
Introdução
O Protocolo de contexto de modelo (MCP) é um protocolo aberto que permite que aplicativos de IA, como Claude e Cursor, interajam com fontes de dados e ferramentas externas sem problemas. Quer você esteja criando aplicativos de IA personalizados, integrando fluxos de trabalho de IA ou aprimorando interfaces de bate-papo, o MCP fornece uma maneira padronizada de conectar modelos de linguagem grandes (LLMs) com dados contextuais relevantes.
Este tutorial orienta você na configuração de um servidor MCP para o Milvus, permitindo que os aplicativos de IA executem pesquisas vetoriais, gerenciem coleções e recuperem dados usando comandos de linguagem natural - semescrever consultas de banco de dados personalizadas.
Pré-requisitos
Antes de configurar o servidor MCP, verifique se você tem:
- Python 3.10 ou superior
- Uma instância do Milvus em execução
- uv (recomendado para executar o servidor)
Como começar
A forma recomendada de usar este servidor MCP é executá-lo diretamente com uv sem instalação. É assim que o Claude Desktop e o Cursor são configurados para o utilizar nos exemplos abaixo.
Se você quiser clonar o repositório:
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
Então pode executar o servidor diretamente:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
Aplicações suportadas
Este servidor MCP pode ser utilizado com várias aplicações de IA que suportam o Protocolo de contexto de modelo, tais como:
- Claude Desktop: A aplicação de ambiente de trabalho do Anthropic para o Claude
- Cursor: Editor de código alimentado por IA com suporte MCP em seu recurso Composer
- Outros clientes MCP personalizados Qualquer aplicação que implemente a especificação de cliente MCP
Usando a MCP com o Claude Desktop
- Instale o Claude Desktop.
- Abra o arquivo de configuração do Claude:
- No macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- No macOS:
- Adicione a seguinte configuração:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://localhost:19530"
]
}
}
}
- Reinicie o Claude Desktop para aplicar as alterações.
Usando o MCP com o Cursor
O Cursor também oferece suporte a ferramentas MCP por meio do recurso Agente no Composer. Pode adicionar o servidor Milvus MCP ao Cursor de duas formas:
Opção 1: Utilizar a IU de definições do Cursor
- Abra
Cursor Settings→Features→MCP. - Clique em
+ Add New MCP Server. - Preencha:
- Type (Tipo):
stdio - Nome:
milvus - Comando:
/PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530 - ⚠️ Dica: Use
127.0.0.1em vez delocalhostpara evitar possíveis problemas de resolução de DNS.
- Type (Tipo):
Opção 2: Usar a configuração específica do projeto (recomendado)
- Crie um ficheiro
.cursor/mcp.jsonno diretório raiz do seu projeto:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://127.0.0.1:19530"
]
}
}
}
- Reinicie o Cursor para aplicar a configuração.
Após adicionar o servidor, pode ser necessário pressionar o botão atualizar nas configurações do MCP para preencher a lista de ferramentas. O Agente de composição utilizará automaticamente as ferramentas Milvus quando for relevante para as suas consultas.
Verificação da integração
Para garantir que o servidor MCP está corretamente configurado:
Para o Cursor
- Aceda a
Cursor Settings→Features→MCP. - Confirmar que
"Milvus"aparece na lista dos servidores CIM. - Verificar se as ferramentas Milvus (por exemplo,
milvus_list_collections,milvus_vector_search) estão listadas. - Se aparecerem erros, consulte a secção Resolução de problemas abaixo.
Ferramentas do servidor MCP para Milvus
Este servidor MCP fornece várias ferramentas para pesquisar, consultar e gerir dados vectoriais em Milvus. Para obter mais detalhes, consulte a documentação do mcp-server-milvus.
🔍 Ferramentas de pesquisa e consulta
milvus-text-search→ Pesquisa de documentos utilizando a pesquisa de texto completo.milvus-vector-search→ Realizar pesquisa de similaridade de vetores em uma coleção.milvus-hybrid-search→ Efetuar uma pesquisa híbrida que combine a similaridade vetorial e a filtragem de atributos.milvus-multi-vector-search→ Realizar pesquisa de similaridade vetorial com múltiplos vetores de consulta.milvus-query→ Consulta de colecções utilizando expressões de filtragem.milvus-count→ Contar entidades em uma coleção.
📁 Gestão de colecções
milvus-list-collections→ Listar todas as colecções na base de dados.milvus-collection-info→ Obter informação detalhada sobre uma coleção.milvus-get-collection-stats→ Obter estatísticas sobre uma coleção.milvus-create-collection→ Criar uma nova coleção com o esquema especificado.milvus-load-collection→ Carregar uma coleção na memória para pesquisa e consulta.milvus-release-collection→ Libertar uma coleção da memória.milvus-get-query-segment-info→ Obter informação sobre segmentos de consulta.milvus-get-collection-loading-progress→ Obter o progresso do carregamento de uma coleção.
📊 Operações de Dados
milvus-insert-data→ Inserir dados numa coleção.milvus-bulk-insert→ Inserir dados em lotes para um melhor desempenho.milvus-upsert-data→ Inserir dados numa coleção (inserir ou atualizar se existir).milvus-delete-entities→ Eliminar entidades de uma coleção com base numa expressão de filtro.milvus-create-dynamic-field→ Adicionar um campo dinâmico a uma coleção existente.
⚙️ Gestão de índices
milvus-create-index→ Criar um índice sobre um campo vetorial.milvus-get-index-info→ Obter informações sobre índices em uma coleção.
Variáveis de ambiente
MILVUS_URI→ URI do servidor Milvus (pode ser definido em vez de--milvus-uri).MILVUS_TOKEN→ Token de autenticação opcional.MILVUS_DB→ Nome da base de dados (a predefinição é "default").
Desenvolvimento
Para executar o servidor diretamente:
uv run server.py --milvus-uri http://localhost:19530
Exemplos
Usando o Claude Desktop
Exemplo 1: Listagem de colecções
What are the collections I have in my Milvus DB?
O Claude irá então usar o MCP para verificar esta informação na nossa base de dados Milvus.
I'll check what collections are available in your Milvus database.
> View result from milvus-list-collections from milvus (local)
Here are the collections in your Milvus database:
1. rag_demo
2. test
3. chat_messages
4. text_collection
5. image_collection
6. customized_setup
7. streaming_rag_demo
Exemplo 2: Pesquisa de documentos
Find documents in my text_collection that mention "machine learning"
O Claude utilizará as capacidades de pesquisa de texto integral do Milvus para encontrar documentos relevantes:
I'll search for documents about machine learning in your text_collection.
> View result from milvus-text-search from milvus (local)
Here are the documents I found that mention machine learning:
[Results will appear here based on your actual data]
Utilizar o Cursor
Exemplo: Criar uma coleção
No Compositor do Cursor, pode perguntar:
Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)
O Cursor irá utilizar o servidor MCP para executar esta operação:
I'll create a new collection called 'articles' with the specified fields.
> View result from milvus-create-collection from milvus (local)
Collection 'articles' has been created successfully with the following schema:
- title: string
- content: string
- vector: float vector[128]
Resolução de problemas
Problemas comuns
Erros de ligação
Se você vir erros como "Falha ao conectar ao servidor Milvus":
- Verifique se a sua instância do Milvus está em execução:
docker ps(se estiver a utilizar o Docker) - Verifique se o URI está correto na sua configuração
- Certifique-se de que não existem regras de firewall a bloquear a ligação
- Tente usar
127.0.0.1em vez delocalhostno URI
Problemas de autenticação
Se você vir erros de autenticação:
- Verifique se o seu
MILVUS_TOKENestá correto - Verifique se a sua instância Milvus requer autenticação
- Certifique-se de que tem as permissões corretas para as operações que está a tentar executar
Ferramenta não encontrada
Se as ferramentas MCP não aparecerem no Claude Desktop ou no Cursor:
- Reinicie a aplicação
- Verifique se há erros nos logs do servidor
- Verifique se o servidor MCP está sendo executado corretamente
- Pressione o botão de atualização nas configurações do MCP (para o Cursor)
Obter ajuda
Se você continuar a ter problemas:
- Verifique os Problemas do GitHub para problemas semelhantes
- Junte-se ao Discord da Comunidade Zilliz para obter suporte
- Arquivar um novo problema com informações detalhadas sobre o seu problema
Conclusão
Ao seguir este tutorial, tem agora um servidor MCP em execução, permitindo a pesquisa vetorial alimentada por IA em Milvus. Quer esteja a utilizar o Claude Desktop ou o Cursor, pode agora consultar, gerir e pesquisar a sua base de dados Milvus utilizando comandos de linguagem natural - semescrever código de base de dados!