Meilisearch

oficial

Interaja 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

Meilisearch

Servidor MCP do Meilisearch

Meilisearch | Meilisearch Cloud | Documentação | Discord

PyPI version Python Versions Tests License Downloads

[!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 /mcp da 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 structuredContent junto 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

  1. Inicie o Meilisearch:

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. Instale as dependências de desenvolvimento:

    uv pip install -r requirements-dev.txt
    
  3. Execute os testes:

    python -m pytest tests/ -v
    
  4. 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:

🤗 Como contribuir

Contribuições são bem-vindas! Veja como começar:

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/amazing-feature)
  3. Escreva testes para suas alterações
  4. Faça suas alterações e execute os testes
  5. Formate seu código com black
  6. Faça commit das suas alterações (git commit -m 'Add amazing feature')
  7. Envie para sua branch (git push origin feature/amazing-feature)
  8. 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 API
  • update-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 opcional
  • list-indexes: Listar todos os índices disponíveis
  • delete-index: Excluir um índice existente e todos os seus documentos
  • get-index-metrics: Obter métricas detalhadas de um índice específico

Operações com documentos

  • get-documents: Recuperar documentos de um índice com paginação
  • add-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 índice
  • update-settings: Atualizar as configurações do índice (classificação, facetas etc.)

Gerenciamento de chaves de API

  • get-keys: Listar todas as chaves de API
  • create-key: Criar uma nova chave de API com permissões específicas
  • delete-key: Excluir uma chave de API existente

Gerenciamento de tarefas

  • get-task: Obter informações sobre uma tarefa específica
  • get-tasks: Listar tarefas com filtros opcionais
  • cancel-tasks: Cancelar tarefas pendentes ou enfileiradas

Monitoramento do sistema

  • health-check: Verificação básica de integridade
  • get-health-status: Status abrangente de integridade
  • get-version: Obter informações sobre a versão do Meilisearch
  • get-stats: Obter estatísticas do banco de dados
  • get-system-info: Obter informações no nível do sistema

Configuração do ambiente de desenvolvimento

Pré-requisitos

  1. 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
    
  2. 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

  1. Faça fork e clone o repositório
  2. Configure o ambiente de desenvolvimento seguindo a seção Configuração do ambiente de desenvolvimento acima
  3. Crie uma branch de recurso a partir de main
  4. Escreva os testes primeiro ao adicionar novas funcionalidades (Desenvolvimento Orientado a Testes)
  5. Execute os testes localmente para garantir que todos passem antes de fazer commit
  6. Formate o código com Black e garanta a qualidade do código
  7. Faça commit das alterações com mensagens descritivas
  8. 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

  1. Publicação automatizada: quando o número da versão em pyproject.toml muda na branch main, uma GitHub Action automaticamente:

    • Compila o pacote Python
    • Publica-o no PyPI usando publicação confiável
    • Cria um novo lançamento no GitHub
  2. Detecção de versão: o fluxo de trabalho compara a versão atual em pyproject.toml com a do commit anterior para detectar alterações

  3. 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:

  1. Detecte a alteração da versão
  2. Compile o pacote
  3. Publique no PyPI em https://pypi.org/p/meilisearch-mcp
  4. 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.toml foi 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