Meilisearch

oficial

Interaja e consulte com Meilisearch (API de busca de texto completo e semântica)

O que você pode fazer com Meilisearch MCP?

  • Criar e gerenciar índices — Peça para criar um índice com uma chave primária personalizada via create-index, liste os existentes ou exclua um índice e seus documentos.
  • Adicionar e recuperar documentos — Use add-documents para importar em massa ou atualizar registros, e get-documents para buscá-los com paginação de qualquer índice.
  • Executar buscas flexíveis — Pesquise em um ou vários índices com filtros, ordenação e facetas usando a ferramenta search, incluindo opções semânticas e híbridas.
  • Ajustar configurações de busca — Visualize ou atualize as regras de classificação, facetamento e atributos pesquisáveis de um índice por meio de get-settings e update-settings.
  • Monitorar tarefas e saúde — Verifique o progresso da indexação com get-tasks, cancele operações na fila ou confirme o status da instância via health-check e get-stats.

Documentação

Meilisearch

Meilisearch MCP Server

Meilisearch | Meilisearch Cloud | Documentação | Discord

PyPI version Python Versions Tests License Downloads

⚡ Conecte qualquer LLM ao Meilisearch e potencialize sua IA com recursos de busca ultrarrápidos! 🔍

🤔 O que é isso?

O Meilisearch MCP Server é um servidor do Model Context Protocol que permite que qualquer cliente compatível com MCP (incluindo Claude, agentes da OpenAI e outros LLMs) interaja com o Meilisearch. Este servidor baseado em stdio permite que assistentes de IA gerenciem índices de busca, realizem buscas e lidem com seus dados por meio de conversa natural.

Por que usar isso?

  • 🤖 Compatibilidade Universal - Funciona com qualquer cliente MCP, não apenas com Claude
  • 🗣️ Controle por Linguagem Natural - Gerencie o Meilisearch por meio de conversa com qualquer LLM
  • 🚀 Zero Curva de Aprendizado - Não é necessário aprender a API do Meilisearch
  • 🔧 Acesso a Todos os Recursos - Todas as funcionalidades do Meilisearch ao seu alcance
  • 🔄 Conexões Dinâmicas - Alterne entre instâncias do Meilisearch em tempo real
  • 📡 Transporte stdio - Atualmente usa stdio; suporte nativo ao MCP do Meilisearch em breve!

✨ Principais Recursos

  • 📊 Gerenciamento de Índices e Documentos - Crie, atualize e gerencie índices de busca
  • 🔍 Busca Inteligente - Busque em um ou vários índices com filtros avançados
  • ⚙️ Configuração de Ajustes - 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 Saúde - Fique de olho na sua instância do Meilisearch
  • 🧱 Saída Estruturada de Ferramentas - Toda ferramenta que retorna dados fornece structuredContent junto com texto, de acordo com a especificação MCP mais recente
  • 🔀 Stack MCP Moderno - Construído no SDK Python oficial do MCP v2 (spec 2026-07-28), compatível com clientes MCP mais antigos
  • 🐍 Implementação em Python - Versão em TypeScript também disponível

🚀 Início Rápido

Comece a usar em apenas 3 passos!

1️⃣ Instale o pacote

# Using pip
pip install meilisearch-mcp

# Or using uvx (recommended)
uvx -n meilisearch-mcp

2️⃣ Configure o Claude Desktop

Adicione isso 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 buscar 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 da OpenAI, etc.)

Via 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

Perfeito para ambientes conteinerizados, como fluxos de trabalho do n8n!

Via 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ão
  • Visualizar as configurações de conexão atuais
  • Alternar entre instâncias do Meilisearch dinamicamente
  • Atualizar chaves de API em tempo real
📁 Operações de Índice
  • Criar novos índices com chaves primárias personalizadas
  • Listar todos os índices com estatísticas
  • Excluir índices e seus dados
  • Obter métricas detalhadas do índice
📄 Gerenciamento de Documentos
  • Adicionar ou atualizar documentos
  • Recuperar documentos com paginação
  • Importar dados em massa
🔍 Recursos de Busca
  • Buscar com filtros, ordenação e facetas
  • Busca em vários índices
  • Busca semântica com vetores
  • Busca híbrida (palavras-chave + semântica)
⚙️ Ajustes e Configuração
  • 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

⚠️ Nota: Embora você possa adicionar e atualizar hosts e chaves de API diretamente no chat por conveniência, essa abordagem é projetada principalmente para casos de uso de 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 salvaguardas.

📊 Monitoramento e Saúde
  • Verificações de saúde
  • Estatísticas do sistema
  • Monitoramento de tarefas
  • Informações de versão

🌍 Variáveis de Ambiente

Configure as configurações de conexão padrão:

MEILI_HTTP_ADDR=http://localhost:7700  # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key       # Optional: Default API key

💻 Desenvolvimento

Configurando o 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/
    

Testando 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:

🤗 Contribuindo

Aceitamos contribuições! 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 instruções detalhadas.

📄 Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.


Meilisearch é um mecanismo de busca de código aberto que oferece uma experiência de busca encantadora.
Saiba mais sobre o Meilisearch em meilisearch.com


📖 Documentação Completa

Ferramentas Disponíveis

Gerenciamento de Conexão

  • get-connection-settings: Visualizar a URL de conexão atual do Meilisearch e o status da chave de API
  • update-connection-settings: Atualizar URL e/ou chave de API para conectar a uma instância diferente

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 para 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 filtro e ordenação

Gerenciamento de Ajustes

  • get-settings: Visualizar os ajustes atuais de um índice
  • update-settings: Atualizar ajustes do índice (classificação, facetas, etc.)

Gerenciamento de Chaves de API

  • get-keys: Listar todas as chaves de API
  • create-key: Criar 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 na fila

Monitoramento do Sistema

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

Configuração 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
    

Executando 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 um fork e clone o repositório
  2. Configure o ambiente de desenvolvimento seguindo a seção Configuração de Desenvolvimento acima
  3. Crie uma branch de recurso a partir de main
  4. Escreva testes primeiro se estiver adicionando nova funcionalidade (Desenvolvimento Orientado a Testes)
  5. Execute os testes localmente para garantir que todos passem antes do commit
  6. Formate o código com Black e garanta a qualidade do código
  7. Faça commit das alterações com mensagens de commit 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 asserções claras
  • Teste tanto os casos de sucesso quanto os de erro
  • Garanta que o Meilisearch esteja 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 é 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 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 o commit anterior para detectar alterações

  3. Publicação no PyPI: Usa a ação de publicação oficial do PyPA com publicação confiável (sem necessidade de chaves de API manuais)

Criando um Novo Lançamento

Para criar um novo lançamento, siga estes passos:

1. Determine o Número da Versão

Siga o Versionamento Semântico (MAJOR.MINOR.PATCH):

  • PATCH (ex.: 0.4.0 → 0.4.1): Correções de bugs, atualizações de documentação, melhorias menores
  • MINOR (ex.: 0.4.0 → 0.5.0): Novos recursos, novas ferramentas MCP, melhorias significativas
  • MAJOR (ex.: 0.5.0 → 1.0.0): Alterações de quebra, mudanças importantes na API
2. Atualize a Versão e Crie o 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. Mescle na Main

Quando o PR for aprovado e mesclado em main, a GitHub Action automaticamente:

  1. Detecta a mudança de versão
  2. Compila o pacote
  3. Publica no PyPI em https://pypi.org/p/meilisearch-mcp
  4. Disponibiliza a nova versão via pip install meilisearch-mcp
4. Verifique o Lançamento

Após a mesclagem, verifique o lançamento:

# 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 Lançamento

O lançamento automatizado é gerenciado por .github/workflows/publish.yml, que:

  • É acionado por pushes na branch main
  • Verifica se a versão de pyproject.toml mudou
  • Usa Python 3.10 e ferramentas de compilação oficiais
  • Publica usando publicação confiável (sem necessidade de chaves de API)
  • Fornece saída detalhada para depuração

Solução de Problemas de Lançamentos

Release não disparou: Verifique se a versão em pyproject.toml realmente mudou entre os commits

Build falhou: Verifique os logs do GitHub Actions para erros de build do pacote Python

Publicação no PyPI falhou: Verifique o nome do pacote e se a publicação confiável está configurada corretamente

Conflitos de versão: Garanta que o novo número de versão não foi usado anteriormente no PyPI

Versões de Desenvolvimento vs Produção

  • Desenvolvimento: Instale a partir do código-fonte usando pip install -e .
  • Produção: Instale a partir do PyPI usando pip install meilisearch-mcp
  • Versão específica: Instale usando pip install meilisearch-mcp==0.5.0