Meilisearch
oficialInteraja e consulte com Meilisearch (API de busca de texto completo e semântica)
O que você pode fazer com Meilisearch MCP?
- Gerenciamento de índices — Crie, liste e exclua índices de busca, incluindo a definição de uma chave primária personalizada ao criar um índice.
- Gerenciamento de documentos — Adicione ou atualize documentos em um índice e recupere-os com paginação.
- Busca — Faça buscas em um ou vários índices com filtros, ordenação e facetas.
- Controle de configurações — Consulte e atualize configurações do índice, como regras de classificação, facetas e atributos pesquisáveis.
- Monitoramento de tarefas e integridade — Verifique a integridade da instância, a versão e as estatísticas, além de acompanhar ou cancelar tarefas de indexação.
- Gerenciamento de chaves de API — Liste, crie e exclua chaves de API com permissões específicas.
Documentação
Servidor MCP do Meilisearch
Meilisearch | Meilisearch Cloud | Documentação | Discord
[!WARNING] Este pacote foi descontinuado. Use o servidor MCP nativo do Meilisearch.
O Meilisearch agora inclui um servidor MCP integrado (Meilisearch v1.54 e posteriores). Ele é disponibilizado na rota
/mcpda sua instância via HTTP, então você não precisa mais instalar nem executar este pacote Python.👉 Siga o guia do MCP do Meilisearch para configurá-lo.
Este repositório é um wrapper local de stdio criado antes da existência do suporte nativo. Ele não é mais mantido ativamente e é mantido apenas para usuários existentes.
⚡ Conecte qualquer LLM ao Meilisearch e potencialize sua IA com recursos de busca ultrarrápidos! 🔍
🤔 O que é isto?
O servidor MCP do Meilisearch é um servidor do Model Context Protocol que permite que qualquer cliente compatível com MCP (incluindo Claude, agentes OpenAI e outros LLMs) interaja com o Meilisearch. Este servidor baseado em stdio permite que assistentes de IA gerenciem índices de busca, realizem pesquisas e manipulem seus dados por meio de conversas naturais.
Por que usar isto?
- 🤖 Compatibilidade universal - Funciona com qualquer cliente MCP, não apenas com o Claude
- 🗣️ Controle em linguagem natural - Gerencie o Meilisearch por meio de conversas com qualquer LLM
- 🚀 Curva de aprendizado zero - Não é necessário aprender a API do Meilisearch
- 🔧 Acesso completo aos recursos - Todos os recursos do Meilisearch ao seu alcance
- 🔄 Conexões dinâmicas - Alterne entre instâncias do Meilisearch em tempo real
- 📡 Transporte stdio - Usa apenas stdio; para HTTP, use o servidor MCP nativo do Meilisearch
✨ Principais recursos
- 📊 Gerenciamento de índices e documentos - Crie, atualize e gerencie índices de busca
- 🔍 Busca inteligente - Pesquise em um ou vários índices com filtros avançados
- ⚙️ Configuração de definições - Ajuste a relevância e o desempenho da busca
- 📈 Monitoramento de tarefas - Acompanhe o progresso da indexação e as operações do sistema
- 🔐 Gerenciamento de chaves de API - Controle de acesso seguro
- 🏥 Monitoramento de integridade - Acompanhe sua instância do Meilisearch
- 🧱 Saída estruturada das ferramentas - Cada ferramenta que retorna dados fornece
structuredContentjunto com o texto, conforme a especificação MCP mais recente - 🔀 Pilha MCP moderna - Desenvolvida com o SDK oficial MCP para Python v2 (spec 2026-07-28), compatível com versões anteriores de clientes MCP
- 🐍 Implementação em Python - Também há uma versão em TypeScript
🚀 Início rápido
Comece a usar em apenas 3 etapas!
1️⃣ Instale o pacote
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Configure o Claude Desktop
Adicione isto ao seu claude_desktop_config.json:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Inicie o Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
Pronto! Agora você pode pedir ao seu assistente de IA para pesquisar e gerenciar seus dados do Meilisearch! 🎉
📚 Exemplos
💬 Converse naturalmente com seu assistente de IA:
You: "Create a new index called 'products' with 'id' as the primary key"
AI: I'll create that index for you... ✓ Index 'products' created successfully!
You: "Add some products to the index"
AI: I'll add those products... ✓ Added 5 documents to 'products' index
You: "Search for products under $50 with 'electronics' in the category"
AI: I'll search for those products... Found 12 matching products!
🔍 Exemplo de busca avançada:
You: "Search across all my indices for 'machine learning' and sort by date"
AI: Searching across all indices... Found 47 results from 3 indices:
- 'blog_posts': 23 articles about ML
- 'documentation': 15 technical guides
- 'tutorials': 9 hands-on tutorials
🔧 Instalação
Pré-requisitos
- Python ≥ 3.10
- Instância do Meilisearch em execução
- Cliente compatível com MCP (Claude Desktop, agentes OpenAI etc.)
Pelo PyPI
pip install meilisearch-mcp
A partir do código-fonte (para desenvolvimento)
# Clone repository
git clone https://github.com/meilisearch/meilisearch-mcp.git
cd meilisearch-mcp
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
Usando Docker
Ideal para ambientes conteinerizados, como fluxos de trabalho do n8n!
Pelo Docker Hub
# Pull the latest image
docker pull getmeili/meilisearch-mcp:latest
# Or a specific version
docker pull getmeili/meilisearch-mcp:0.5.0
# Run the container
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
getmeili/meilisearch-mcp:latest
Compilar a partir do código-fonte
# Build your own image
docker build -t meilisearch-mcp .
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
meilisearch-mcp
Integração com n8n
Para fluxos de trabalho do n8n, você pode usar a imagem Docker diretamente na sua configuração:
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ O que você pode fazer?
🔗 Gerenciamento de conexões
- Visualizar as configurações atuais de conexão
- Alternar dinamicamente entre instâncias do Meilisearch
- Atualizar chaves de API em tempo real
📁 Operações com índices
- Criar novos índices com chaves primárias personalizadas
- Listar todos os índices com estatísticas
- Excluir índices e seus dados
- Obter métricas detalhadas dos índices
📄 Gerenciamento de documentos
- Adicionar ou atualizar documentos
- Recuperar documentos com paginação
- Importar dados em lote
🔍 Recursos de busca
- Pesquisar com filtros, ordenação e facetas
- Busca em vários índices
- Busca semântica com vetores
- Busca híbrida (por palavras-chave + semântica)
⚙️ Configurações e definições
- Configurar regras de classificação
- Configurar facetas e filtros
- Gerenciar atributos pesquisáveis
- Personalizar a tolerância a erros de digitação
🔐 Segurança
- Criar e gerenciar chaves de API
- Definir permissões granulares
- Monitorar o uso das chaves
⚠️ Observação: embora seja possível adicionar e atualizar hosts e chaves de API diretamente no chat por conveniência, essa abordagem foi projetada principalmente para casos de uso em desenvolvimento (como conectar-se a várias instâncias em tempo real). Ela não segue as melhores práticas de segurança do MCP e não deve ser usada em ambientes de produção sem as devidas proteções.
📊 Monitoramento e integridade
- Verificações de integridade
- Estatísticas do sistema
- Monitoramento de tarefas
- Informações sobre a versão
🌍 Variáveis de ambiente
Configure as definições padrão de conexão:
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 Desenvolvimento
Configuração do ambiente de desenvolvimento
-
Inicie o Meilisearch:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
Instale as dependências de desenvolvimento:
uv pip install -r requirements-dev.txt -
Execute os testes:
python -m pytest tests/ -v -
Formate o código:
black src/ tests/
Testes com o MCP Inspector
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 Comunidade e suporte
Adoraríamos ouvir você! Veja como obter ajuda e se conectar:
- 💬 Entre no nosso Discord - Converse com a comunidade
- 🐛 Relate problemas - Encontrou um bug? Conte para nós!
- 💡 Sugestões de recursos - Tem uma ideia? Queremos ouvir!
- 📖 Documentação do Meilisearch - Saiba mais sobre o Meilisearch
🤗 Como contribuir
Contribuições são bem-vindas! Veja como começar:
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Escreva testes para suas alterações
- Faça suas alterações e execute os testes
- Formate seu código com
black - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para sua branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Consulte nossas Diretrizes de contribuição para mais detalhes.
📦 Processo de lançamento
Este projeto usa versionamento e publicação automatizados. Quando a versão em pyproject.toml muda na branch main, o pacote é publicado automaticamente no PyPI.
Consulte a seção Processo de lançamento para obter instruções detalhadas.
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.
Meilisearch é um mecanismo de busca de código aberto que oferece uma experiência de busca agradável.
Saiba mais sobre o Meilisearch em meilisearch.com
📖 Documentação completa
Ferramentas disponíveis
Gerenciamento de conexões
get-connection-settings: Visualizar a URL de conexão atual do Meilisearch e o status da chave de APIupdate-connection-settings: Atualizar a URL e/ou a chave de API para conectar-se a outra instância
Gerenciamento de índices
create-index: Criar um novo índice com chave primária opcionallist-indexes: Listar todos os índices disponíveisdelete-index: Excluir um índice existente e todos os seus documentosget-index-metrics: Obter métricas detalhadas de um índice específico
Operações com documentos
get-documents: Recuperar documentos de um índice com paginaçãoadd-documents: Adicionar ou atualizar documentos em um índice
Busca
search: Busca flexível em um ou vários índices, com opções de filtragem e ordenação
Gerenciamento de configurações
get-settings: Visualizar as configurações atuais de um índiceupdate-settings: Atualizar as configurações do índice (classificação, facetas etc.)
Gerenciamento de chaves de API
get-keys: Listar todas as chaves de APIcreate-key: Criar uma nova chave de API com permissões específicasdelete-key: Excluir uma chave de API existente
Gerenciamento de tarefas
get-task: Obter informações sobre uma tarefa específicaget-tasks: Listar tarefas com filtros opcionaiscancel-tasks: Cancelar tarefas pendentes ou enfileiradas
Monitoramento do sistema
health-check: Verificação básica de integridadeget-health-status: Status abrangente de integridadeget-version: Obter informações sobre a versão do Meilisearchget-stats: Obter estatísticas do banco de dadosget-system-info: Obter informações no nível do sistema
Configuração do ambiente de desenvolvimento
Pré-requisitos
-
Inicie o servidor Meilisearch:
# Using Docker (recommended for development) docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 # Or using brew (macOS) brew install meilisearch meilisearch # Or download from https://github.com/meilisearch/meilisearch/releases -
Instale as ferramentas de desenvolvimento:
# Install uv for Python package management pip install uv # Install Node.js for MCP Inspector testing # Visit https://nodejs.org/ or use your package manager
Execução dos testes
Este projeto inclui testes de integração abrangentes que verificam a funcionalidade das ferramentas MCP:
# Run all tests
python -m pytest tests/ -v
# Run specific test file
python -m pytest tests/test_mcp_client.py -v
# Run tests with coverage report
python -m pytest --cov=src tests/
# Run tests in watch mode (requires pytest-watch)
pytest-watch tests/
Importante: os testes exigem uma instância do Meilisearch em execução em http://localhost:7700.
Qualidade do código
# Format code with Black
black src/ tests/
# Run type checking (if mypy is configured)
mypy src/
# Lint code (if flake8 is configured)
flake8 src/ tests/
Diretrizes de contribuição
- Faça fork e clone o repositório
- Configure o ambiente de desenvolvimento seguindo a seção Configuração do ambiente de desenvolvimento acima
- Crie uma branch de recurso a partir de
main - Escreva os testes primeiro ao adicionar novas funcionalidades (Desenvolvimento Orientado a Testes)
- Execute os testes localmente para garantir que todos passem antes de fazer commit
- Formate o código com Black e garanta a qualidade do código
- Faça commit das alterações com mensagens descritivas
- Envie para seu fork e crie um pull request
Fluxo de trabalho de desenvolvimento
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes, write tests first
# Edit files...
# Run tests to ensure everything works
python -m pytest tests/ -v
# Format code
black src/ tests/
# Commit and push
git add .
git commit -m "Add feature description"
git push origin feature/your-feature-name
Diretrizes de teste
- Todos os novos recursos devem incluir testes
- Os testes devem passar antes do envio de PRs
- Use nomes de teste descritivos e verificações claras
- Teste os casos de sucesso e de erro
- Verifique se o Meilisearch está em execução antes de executar os testes
Processo de lançamento
Este projeto usa versionamento e publicação automatizados no PyPI. O processo de lançamento foi projetado para ser simples e automatizado.
Como funcionam os lançamentos
-
Publicação automatizada: quando o número da versão em
pyproject.tomlmuda na branchmain, uma GitHub Action automaticamente:- Compila o pacote Python
- Publica-o no PyPI usando publicação confiável
- Cria um novo lançamento no GitHub
-
Detecção de versão: o fluxo de trabalho compara a versão atual em
pyproject.tomlcom a do commit anterior para detectar alterações -
Publicação no PyPI: usa a ação oficial de publicação da PyPA com publicação confiável (sem necessidade de chaves de API manuais)
Criar um novo lançamento
Para criar um novo lançamento, siga estas etapas:
1. Determine o número da versão
Siga o Versionamento Semântico (MAJOR.MINOR.PATCH):
- PATCH (por exemplo, 0.4.0 → 0.4.1): correções de bugs, atualizações da documentação, pequenas melhorias
- MINOR (por exemplo, 0.4.0 → 0.5.0): novos recursos, novas ferramentas MCP, melhorias significativas
- MAJOR (por exemplo, 0.5.0 → 1.0.0): alterações incompatíveis, grandes mudanças na API
2. Atualize a versão e crie um PR
# 1. Create a branch from latest main
git checkout main
git pull origin main
git checkout -b release/v0.5.0
# 2. Update version in pyproject.toml
# Edit the version = "0.4.0" line to your new version
# 3. Commit and push
git add pyproject.toml
git commit -m "Bump version to 0.5.0"
git push origin release/v0.5.0
# 4. Create PR and get it reviewed/merged
gh pr create --title "Release v0.5.0" --body "Bump version for release"
3. Faça merge na branch principal
Depois que o PR for aprovado e integrado à main, a GitHub Action fará automaticamente:
- Detecte a alteração da versão
- Compile o pacote
- Publique no PyPI em https://pypi.org/p/meilisearch-mcp
- Disponibilize a nova versão por meio de
pip install meilisearch-mcp
4. Verificar a versão
Após a mesclagem, verifique a versão:
# Check GitHub Action status
gh run list --workflow=publish.yml
# Verify on PyPI (may take a few minutes)
pip index versions meilisearch-mcp
# Test installation of new version
pip install --upgrade meilisearch-mcp
Arquivo do fluxo de trabalho de publicação
A publicação automatizada é gerenciada por .github/workflows/publish.yml, que:
- É acionado por envios para a branch
main - Verifica se a versão
pyproject.tomlfoi alterada - Usa Python 3.10 e ferramentas oficiais de compilação
- Publica usando publicação confiável (sem necessidade de chaves de API)
- Fornece saída detalhada para depuração
Solução de problemas de publicação
A publicação não foi acionada: Verifique se a versão em pyproject.toml realmente mudou entre os commits
Falha na compilação: Verifique os logs do GitHub Actions em busca de erros na compilação do pacote Python
Falha na publicação no PyPI: Verifique o nome do pacote e se a publicação confiável está configurada corretamente
Conflitos de versão: Certifique-se de que o novo número de versão ainda não tenha sido usado no PyPI
Versões de desenvolvimento e produção
- Desenvolvimento: Instale a partir do código-fonte usando
pip install -e . - Produção: Instale do PyPI usando
pip install meilisearch-mcp - Versão específica: Instale usando
pip install meilisearch-mcp==0.5.0