Meilisearch

공식

Meilisearch와 상호작용 및 쿼리 (전문 검색 및 의미 검색 API)

Meilisearch MCP(으)로 무엇을 할 수 있나요?

  • 인덱스 관리 — 검색 인덱스를 생성, 나열, 삭제하고, 인덱스 생성 시 사용자 지정 기본 키를 설정합니다.
  • 문서 처리 — 인덱스에 문서를 추가하거나 업데이트하고 페이지네이션을 사용해 문서를 가져옵니다.
  • 검색 — 필터, 정렬, 패싯을 사용해 하나 이상의 인덱스에서 검색을 실행합니다.
  • 설정 제어 — 순위 규칙, 패싯, 검색 가능한 속성 등의 인덱스 설정을 확인하고 업데이트합니다.
  • 작업 및 상태 모니터링 — 인스턴스 상태, 버전, 통계를 확인하고 인덱싱 작업을 추적하거나 취소합니다.
  • API 키 관리 — 특정 권한이 있는 API 키를 나열, 생성, 삭제합니다.

문서

Meilisearch

Meilisearch MCP 서버

Meilisearch | Meilisearch Cloud | 문서 | Discord

PyPI version Python Versions Tests License Downloads

[!WARNING] 이 패키지는 더 이상 사용되지 않습니다. 대신 기본 제공 Meilisearch MCP 서버를 사용하세요.

이제 Meilisearch에는 기본 제공 MCP 서버가 포함되어 있습니다(Meilisearch v1.54 이상). 이 서버는 HTTP를 통해 인스턴스의 /mcp 경로에서 제공되므로, 더 이상 이 Python 패키지를 설치하거나 실행할 필요가 없습니다.

👉 설정 방법은 Meilisearch MCP 가이드를 참조하세요.

이 저장소는 기본 지원이 제공되기 전에 만들어진 로컬 stdio 래퍼입니다. 더 이상 적극적으로 유지 관리되지 않으며 기존 사용자만을 위해 보관됩니다.

⚡ 모든 LLM을 Meilisearch에 연결하고 초고속 검색 기능으로 AI를 강화하세요! 🔍

🤔 이 프로젝트는 무엇인가요?

Meilisearch MCP 서버는 Claude, OpenAI 에이전트 및 기타 LLM을 포함한 모든 MCP 호환 클라이언트가 Meilisearch와 상호작용할 수 있도록 하는 Model Context Protocol 서버입니다. 이 stdio 기반 서버를 사용하면 AI 어시스턴트가 자연스러운 대화를 통해 검색 인덱스를 관리하고, 검색을 수행하며, 데이터를 처리할 수 있습니다.

왜 사용해야 하나요?

  • 🤖 범용 호환성 - Claude뿐 아니라 모든 MCP 클라이언트에서 작동합니다
  • 🗣️ 자연어 제어 - 모든 LLM과 대화하며 Meilisearch를 관리합니다
  • 🚀 학습 과정 불필요 - Meilisearch API를 배울 필요가 없습니다
  • 🔧 모든 기능 이용 - Meilisearch의 모든 기능을 손쉽게 사용할 수 있습니다
  • 🔄 동적 연결 - 실행 중에도 Meilisearch 인스턴스를 전환할 수 있습니다
  • 📡 stdio 전송 - stdio만 사용합니다. HTTP를 사용하려면 기본 제공 Meilisearch MCP 서버를 이용하세요

✨ 주요 기능

  • 📊 인덱스 및 문서 관리 - 검색 인덱스를 생성, 업데이트 및 관리합니다
  • 🔍 스마트 검색 - 고급 필터링을 사용해 하나 또는 여러 인덱스를 검색합니다
  • ⚙️ 설정 구성 - 검색 관련성과 성능을 세밀하게 조정합니다
  • 📈 작업 모니터링 - 인덱싱 진행 상황과 시스템 작업을 추적합니다
  • 🔐 API 키 관리 - 안전한 액세스 제어를 제공합니다
  • 🏥 상태 모니터링 - Meilisearch 인스턴스의 상태를 확인합니다
  • 🧱 구조화된 도구 출력 - 최신 MCP 사양에 따라 데이터를 반환하는 모든 도구가 텍스트와 함께 structuredContent를 제공합니다
  • 🔀 최신 MCP 스택 - 공식 MCP Python SDK v2(spec 2026-07-28)를 기반으로 하며, 이전 MCP 클라이언트와도 호환됩니다
  • 🐍 Python 구현 - TypeScript 버전도 제공됩니다

🚀 빠른 시작

단 3단계로 시작해 보세요!

1️⃣ 패키지 설치

# Using pip
pip install meilisearch-mcp

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

2️⃣ Claude Desktop 구성

claude_desktop_config.json에 다음을 추가하세요.

{
  "mcpServers": {
    "meilisearch": {
      "command": "uvx",
      "args": ["-n", "meilisearch-mcp"]
    }
  }
}

3️⃣ Meilisearch 시작

# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28

# Or using Homebrew
brew install meilisearch
meilisearch

이제 AI 어시스턴트에게 Meilisearch 데이터를 검색하고 관리해 달라고 요청할 수 있습니다! 🎉

📚 예시

💬 AI 어시스턴트와 자연스럽게 대화하기:

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!

🔍 고급 검색 예시:

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

🔧 설치

사전 요구 사항

  • Python ≥ 3.10
  • 실행 중인 Meilisearch 인스턴스
  • MCP 호환 클라이언트(Claude Desktop, OpenAI 에이전트 등)

PyPI에서 설치

pip install meilisearch-mcp

소스에서 설치(개발용)

# 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 .

Docker 사용

n8n 워크플로와 같은 컨테이너 환경에 적합합니다!

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

소스에서 빌드

# 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

n8n과 통합

n8n 워크플로에서는 설정에 Docker 이미지를 직접 사용할 수 있습니다.

meilisearch-mcp:
  image: getmeili/meilisearch-mcp:latest
  environment:
    - MEILI_HTTP_ADDR=http://meilisearch:7700
    - MEILI_MASTER_KEY=masterKey

🛠️ 무엇을 할 수 있나요?

🔗 연결 관리
  • 현재 연결 설정 확인
  • Meilisearch 인스턴스 간 동적 전환
  • API 키를 즉시 업데이트
📁 인덱스 작업
  • 사용자 지정 기본 키로 새 인덱스 생성
  • 통계와 함께 모든 인덱스 목록 확인
  • 인덱스와 해당 데이터 삭제
  • 상세한 인덱스 지표 확인
📄 문서 관리
  • 문서 추가 또는 업데이트
  • 페이지네이션을 사용해 문서 가져오기
  • 데이터 일괄 가져오기
🔍 검색 기능
  • 필터, 정렬 및 패싯을 사용한 검색
  • 여러 인덱스 검색
  • 벡터를 사용한 시맨틱 검색
  • 하이브리드 검색(키워드 + 시맨틱)
⚙️ 설정 및 구성
  • 순위 규칙 구성
  • 패싯 및 필터링 설정
  • 검색 가능한 속성 관리
  • 오타 허용 범위 사용자 지정
🔐 보안
  • API 키 생성 및 관리
  • 세분화된 권한 설정
  • 키 사용량 모니터링

⚠️ 참고: 편의를 위해 채팅에서 호스트와 API 키를 직접 추가하거나 업데이트할 수 있지만, 이 방식은 주로 개발 환경(예: 여러 인스턴스에 즉시 연결)에 맞춰 설계되었습니다. 이는 MCP 보안 모범 사례를 따르지 않으므로 적절한 보호 조치 없이 프로덕션 환경에서 사용해서는 안 됩니다.

📊 모니터링 및 상태
  • 상태 확인
  • 시스템 통계
  • 작업 모니터링
  • 버전 정보

🌍 환경 변수

기본 연결 설정을 구성합니다.

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

💻 개발

개발 환경 설정

  1. Meilisearch 시작:

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. 개발 종속성 설치:

    uv pip install -r requirements-dev.txt
    
  3. 테스트 실행:

    python -m pytest tests/ -v
    
  4. 코드 서식 지정:

    black src/ tests/
    

MCP Inspector로 테스트

npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp

🤝 커뮤니티 및 지원

여러분의 의견을 기다립니다! 도움을 받고 소통하는 방법은 다음과 같습니다.

🤗 기여하기

기여를 환영합니다! 시작하는 방법은 다음과 같습니다.

  1. 저장소를 포크합니다
  2. 기능 브랜치를 만듭니다 (git checkout -b feature/amazing-feature)
  3. 변경 사항에 대한 테스트를 작성합니다
  4. 변경 사항을 적용하고 테스트를 실행합니다
  5. black로 코드 서식을 지정합니다
  6. 변경 사항을 커밋합니다 (git commit -m 'Add amazing feature')
  7. 브랜치에 푸시합니다 (git push origin feature/amazing-feature)
  8. Pull Request를 엽니다

자세한 내용은 기여 가이드라인을 참조하세요.

📦 릴리스 프로세스

이 프로젝트는 자동 버전 관리 및 게시를 사용합니다. main 브랜치에서 pyproject.toml의 버전이 변경되면 패키지가 PyPI에 자동으로 게시됩니다.

자세한 안내는 릴리스 프로세스 섹션을 참조하세요.

📄 라이선스

이 프로젝트는 MIT License에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.


Meilisearch는 즐거운 검색 경험을 제공하는 오픈 소스 검색 엔진입니다.
Meilisearch에 대한 자세한 내용은 meilisearch.com에서 확인하세요.


📖 전체 문서

사용 가능한 도구

연결 관리

  • get-connection-settings: 현재 Meilisearch 연결 URL 및 API 키 상태 확인
  • update-connection-settings: 다른 인스턴스에 연결하도록 URL 및/또는 API 키 업데이트

인덱스 관리

  • create-index: 선택적으로 기본 키를 지정해 새 인덱스 생성
  • list-indexes: 사용 가능한 모든 인덱스 목록 확인
  • delete-index: 기존 인덱스와 모든 문서 삭제
  • get-index-metrics: 특정 인덱스의 상세 지표 확인

문서 작업

  • get-documents: 페이지네이션을 사용해 인덱스에서 문서 가져오기
  • add-documents: 인덱스에 문서 추가 또는 업데이트

검색

  • search: 필터링 및 정렬 옵션을 사용해 하나 또는 여러 인덱스에서 유연하게 검색

설정 관리

  • get-settings: 인덱스의 현재 설정 확인
  • update-settings: 인덱스 설정 업데이트(순위 지정, 패싯 등)

API 키 관리

  • get-keys: 모든 API 키 목록 확인
  • create-key: 특정 권한을 가진 새 API 키 생성
  • delete-key: 기존 API 키 삭제

작업 관리

  • get-task: 특정 작업에 대한 정보 가져오기
  • get-tasks: 선택적 필터를 사용해 작업 목록 확인
  • cancel-tasks: 대기 중이거나 큐에 등록된 작업 취소

시스템 모니터링

  • health-check: 기본 상태 확인
  • get-health-status: 종합 상태 확인
  • get-version: Meilisearch 버전 정보 가져오기
  • get-stats: 데이터베이스 통계 가져오기
  • get-system-info: 시스템 수준 정보 가져오기

개발 환경 설정

사전 요구 사항

  1. 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. 개발 도구 설치:

    # 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
    

테스트 실행

이 프로젝트에는 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/

중요: 테스트를 실행하려면 http://localhost:7700에서 Meilisearch 인스턴스가 실행 중이어야 합니다.

코드 품질

# 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/

기여 가이드라인

  1. 저장소를 포크하고 클론합니다
  2. 위의 개발 환경 설정 섹션에 따라 개발 환경을 설정합니다
  3. main에서 기능 브랜치를 생성합니다
  4. 새 기능을 추가하는 경우 먼저 테스트를 작성합니다(테스트 주도 개발)
  5. 커밋하기 전에 모든 테스트가 통과하는지 확인하도록 로컬에서 테스트를 실행합니다
  6. Black으로 코드 서식을 지정하고 코드 품질을 확인합니다
  7. 설명이 명확한 커밋 메시지로 변경 사항을 커밋합니다
  8. 포크에 푸시하고 Pull Request를 생성합니다

개발 워크플로

# 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

테스트 가이드라인

  • 모든 새 기능에는 테스트를 포함해야 합니다
  • PR을 제출하기 전에 테스트가 통과해야 합니다
  • 설명이 명확한 테스트 이름과 분명한 단언을 사용합니다
  • 성공 사례와 오류 사례를 모두 테스트합니다
  • 테스트를 실행하기 전에 Meilisearch가 실행 중인지 확인합니다

릴리스 프로세스

이 프로젝트는 PyPI에 자동 버전 관리 및 게시를 사용합니다. 릴리스 프로세스는 간단하고 자동화되도록 설계되었습니다.

릴리스 작동 방식

  1. 자동 게시: main 브랜치에서 pyproject.toml의 버전 번호가 변경되면 GitHub Action이 자동으로 다음 작업을 수행합니다.

    • Python 패키지 빌드
    • 신뢰할 수 있는 게시를 사용해 PyPI에 게시
    • GitHub에 새 릴리스 생성
  2. 버전 감지: 워크플로는 pyproject.toml의 현재 버전을 이전 커밋과 비교해 변경 사항을 감지합니다

  3. PyPI 게시: 신뢰할 수 있는 게시를 사용하는 PyPA 공식 게시 액션을 이용합니다(수동 API 키 불필요)

새 릴리스 만들기

새 릴리스를 만들려면 다음 단계를 따르세요.

1. 버전 번호 결정

시맨틱 버저닝을 따릅니다(MAJOR.MINOR.PATCH).

  • PATCH(예: 0.4.0 → 0.4.1): 버그 수정, 문서 업데이트, 사소한 개선
  • MINOR(예: 0.4.0 → 0.5.0): 새 기능, 새 MCP 도구, 주요 개선 사항
  • MAJOR(예: 0.5.0 → 1.0.0): 호환성을 깨는 변경 사항, 주요 API 변경 사항
2. 버전 업데이트 및 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. Main에 병합

PR이 승인되어 main에 병합되면 GitHub Action이 자동으로 다음 작업을 수행합니다.

  1. 버전 변경 사항을 감지합니다
  2. 패키지를 빌드합니다
  3. PyPI에 게시합니다: https://pypi.org/p/meilisearch-mcp
  4. 새 버전을 다음을 통해 사용할 수 있도록 합니다: pip install meilisearch-mcp
4. 릴리스 확인

병합한 후 릴리스를 확인합니다:

# 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

릴리스 워크플로 파일

자동 릴리스는 .github/workflows/publish.yml에서 처리하며, 다음 작업을 수행합니다.

  • main 브랜치에 푸시될 때 트리거됩니다
  • pyproject.toml 버전이 변경되었는지 확인합니다
  • Python 3.10 및 공식 빌드 도구를 사용합니다
  • 신뢰할 수 있는 게시를 사용해 게시합니다(API 키 필요 없음)
  • 디버깅을 위한 상세 출력을 제공합니다

릴리스 문제 해결

릴리스가 트리거되지 않음: 커밋 간에 pyproject.toml의 버전이 실제로 변경되었는지 확인합니다

빌드 실패: GitHub Actions 로그에서 Python 패키지 빌드 오류를 확인합니다

PyPI 게시 실패: 패키지 이름과 신뢰할 수 있는 게시가 올바르게 구성되었는지 확인합니다

버전 충돌: 새 버전 번호가 PyPI에서 이전에 사용된 적이 없는지 확인합니다

개발 버전과 프로덕션 버전

  • 개발: pip install -e .을 사용해 소스에서 설치합니다
  • 프로덕션: pip install meilisearch-mcp을 사용해 PyPI에서 설치합니다
  • 특정 버전: pip install meilisearch-mcp==0.5.0을 사용해 설치합니다