Meilisearch
공식Meilisearch와 상호작용 및 쿼리 (전문 검색 및 의미 검색 API)
Meilisearch MCP(으)로 무엇을 할 수 있나요?
- 인덱스 관리 — 검색 인덱스를 생성, 나열, 삭제하고, 인덱스 생성 시 사용자 지정 기본 키를 설정합니다.
- 문서 처리 — 인덱스에 문서를 추가하거나 업데이트하고 페이지네이션을 사용해 문서를 가져옵니다.
- 검색 — 필터, 정렬, 패싯을 사용해 하나 이상의 인덱스에서 검색을 실행합니다.
- 설정 제어 — 순위 규칙, 패싯, 검색 가능한 속성 등의 인덱스 설정을 확인하고 업데이트합니다.
- 작업 및 상태 모니터링 — 인스턴스 상태, 버전, 통계를 확인하고 인덱싱 작업을 추적하거나 취소합니다.
- API 키 관리 — 특정 권한이 있는 API 키를 나열, 생성, 삭제합니다.
문서
Meilisearch MCP 서버
Meilisearch | Meilisearch Cloud | 문서 | Discord
[!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
💻 개발
개발 환경 설정
-
Meilisearch 시작:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
개발 종속성 설치:
uv pip install -r requirements-dev.txt -
테스트 실행:
python -m pytest tests/ -v -
코드 서식 지정:
black src/ tests/
MCP Inspector로 테스트
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 커뮤니티 및 지원
여러분의 의견을 기다립니다! 도움을 받고 소통하는 방법은 다음과 같습니다.
- 💬 Discord 참여 - 커뮤니티와 대화하기
- 🐛 문제 신고 - 버그를 발견하셨나요? 알려 주세요!
- 💡 기능 요청 - 아이디어가 있으신가요? 의견을 들려주세요!
- 📖 Meilisearch 문서 - Meilisearch에 대해 자세히 알아보기
🤗 기여하기
기여를 환영합니다! 시작하는 방법은 다음과 같습니다.
- 저장소를 포크합니다
- 기능 브랜치를 만듭니다 (
git checkout -b feature/amazing-feature) - 변경 사항에 대한 테스트를 작성합니다
- 변경 사항을 적용하고 테스트를 실행합니다
black로 코드 서식을 지정합니다- 변경 사항을 커밋합니다 (
git commit -m 'Add amazing feature') - 브랜치에 푸시합니다 (
git push origin feature/amazing-feature) - 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: 시스템 수준 정보 가져오기
개발 환경 설정
사전 요구 사항
-
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 -
개발 도구 설치:
# 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/
기여 가이드라인
- 저장소를 포크하고 클론합니다
- 위의 개발 환경 설정 섹션에 따라 개발 환경을 설정합니다
main에서 기능 브랜치를 생성합니다- 새 기능을 추가하는 경우 먼저 테스트를 작성합니다(테스트 주도 개발)
- 커밋하기 전에 모든 테스트가 통과하는지 확인하도록 로컬에서 테스트를 실행합니다
- Black으로 코드 서식을 지정하고 코드 품질을 확인합니다
- 설명이 명확한 커밋 메시지로 변경 사항을 커밋합니다
- 포크에 푸시하고 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에 자동 버전 관리 및 게시를 사용합니다. 릴리스 프로세스는 간단하고 자동화되도록 설계되었습니다.
릴리스 작동 방식
-
자동 게시:
main브랜치에서pyproject.toml의 버전 번호가 변경되면 GitHub Action이 자동으로 다음 작업을 수행합니다.- Python 패키지 빌드
- 신뢰할 수 있는 게시를 사용해 PyPI에 게시
- GitHub에 새 릴리스 생성
-
버전 감지: 워크플로는
pyproject.toml의 현재 버전을 이전 커밋과 비교해 변경 사항을 감지합니다 -
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이 자동으로 다음 작업을 수행합니다.
- 버전 변경 사항을 감지합니다
- 패키지를 빌드합니다
- PyPI에 게시합니다: https://pypi.org/p/meilisearch-mcp
- 새 버전을 다음을 통해 사용할 수 있도록 합니다:
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을 사용해 설치합니다