Meilisearch MCP Server

ทางการ

โต้ตอบและค้นหาด้วย Meilisearch (API ค้นหาแบบเต็มข้อความและเชิงความหมาย)

เอกสาร

Meilisearch

เซิร์ฟเวอร์ Meilisearch MCP

Meilisearch | Meilisearch Cloud | เอกสารประกอบ | Discord

PyPI version Python Versions Tests License Downloads

⚡ เชื่อมต่อ LLM ใดๆ เข้ากับ Meilisearch และเพิ่มพลังให้ AI ของคุณด้วยความสามารถในการค้นหาที่รวดเร็วดุจสายฟ้า! 🔍

🤔 นี่คืออะไร?

เซิร์ฟเวอร์ Meilisearch MCP คือเซิร์ฟเวอร์ Model Context Protocol ที่ช่วยให้ไคลเอนต์ที่เข้ากันได้กับ MCP (รวมถึง Claude, เอเจนต์ OpenAI และ LLM อื่นๆ) สามารถโต้ตอบกับ Meilisearch ได้ เซิร์ฟเวอร์แบบ stdio นี้ช่วยให้ผู้ช่วย AI สามารถจัดการดัชนีการค้นหา ทำการค้นหา และจัดการข้อมูลของคุณผ่านการสนทนาที่เป็นธรรมชาติ

ทำไมต้องใช้?

  • 🤖 ความเข้ากันได้สากล - ทำงานร่วมกับไคลเอนต์ MCP ใดๆ ไม่ใช่แค่ Claude
  • 🗣️ การควบคุมด้วยภาษาธรรมชาติ - จัดการ Meilisearch ผ่านการสนทนากับ LLM ใดๆ
  • 🚀 ไม่มีช่วงการเรียนรู้ - ไม่จำเป็นต้องเรียนรู้ API ของ Meilisearch
  • 🔧 เข้าถึงฟีเจอร์ทั้งหมด - ความสามารถทั้งหมดของ Meilisearch อยู่แค่ปลายนิ้ว
  • 🔄 การเชื่อมต่อแบบไดนามิก - สลับระหว่างอินสแตนซ์ Meilisearch ได้ทันที
  • 📡 การขนส่งแบบ stdio - ปัจจุบันใช้ stdio; การรองรับ Meilisearch MCP แบบเนทีฟกำลังจะมาเร็วๆ นี้!

✨ คุณสมบัติหลัก

  • 📊 การจัดการดัชนีและเอกสาร - สร้าง อัปเดต และจัดการดัชนีการค้นหา
  • 🔍 การค้นหาอัจฉริยะ - ค้นหาข้ามดัชนีเดียวหรือหลายดัชนีด้วยการกรองขั้นสูง
  • ⚙️ การกำหนดค่าการตั้งค่า - ปรับแต่งความเกี่ยวข้องและประสิทธิภาพในการค้นหา
  • 📈 การตรวจสอบงาน - ติดตามความคืบหน้าการทำดัชนีและการดำเนินการของระบบ
  • 🔐 การจัดการคีย์ API - การควบคุมการเข้าถึงที่ปลอดภัย
  • 🏥 การตรวจสอบสถานภาพ - จับตาดูอินสแตนซ์ Meilisearch ของคุณ
  • 🐍 การใช้งานด้วย 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.9
  • อินสแตนซ์ 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. ติดตั้ง Dependencies สำหรับการพัฒนา:

    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. Fork repository
  2. สร้าง branch ฟีเจอร์ของคุณ (git checkout -b feature/amazing-feature)
  3. เขียนการทดสอบสำหรับการเปลี่ยนแปลงของคุณ
  4. ทำการเปลี่ยนแปลงและรันการทดสอบ
  5. จัดรูปแบบโค้ดของคุณด้วย black
  6. Commit การเปลี่ยนแปลงของคุณ (git commit -m 'Add amazing feature')
  7. Push ไปยัง branch ของคุณ (git push origin feature/amazing-feature)
  8. เปิด Pull Request

ดู แนวทางการมีส่วนร่วม สำหรับรายละเอียดเพิ่มเติม

📦 กระบวนการเผยแพร่

โปรเจกต์นี้ใช้การกำหนดเวอร์ชันและการเผยแพร่อัตโนมัติ เมื่อเวอร์ชันใน pyproject.toml เปลี่ยนแปลงบน branch main แพ็คเกจจะถูกเผยแพร่ไปยัง PyPI โดยอัตโนมัติ

ดูส่วน กระบวนการเผยแพร่ สำหรับคำแนะนำโดยละเอียด

📄 ใบอนุญาต

โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูไฟล์ LICENSE สำหรับรายละเอียด


Meilisearch เป็นเสิร์ชเอนจินโอเพนซอร์สที่มอบประสบการณ์การค้นหาที่น่าพึงพอใจ
เรียนรู้เพิ่มเติมเกี่ยวกับ Meilisearch ได้ที่ meilisearch.com


📖 เอกสารฉบับเต็ม

เครื่องมือที่พร้อมใช้งาน

การจัดการการเชื่อมต่อ

  • get-connection-settings: ดู URL การเชื่อมต่อ Meilisearch ปัจจุบันและสถานะคีย์ 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: ยกเลิกงานที่รอดำเนินการหรืออยู่ในคิว
  • delete-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/

สำคัญ: การทดสอบต้องการอินสแตนซ์ Meilisearch ที่กำลังทำงานอยู่บน http://localhost:7700

คุณภาพโค้ด

# 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. Fork และ clone repository
  2. ตั้งค่าสภาพแวดล้อมการพัฒนา ตามส่วนการตั้งค่าการพัฒนาด้านบน
  3. สร้าง branch ฟีเจอร์ จาก main
  4. เขียนการทดสอบก่อน หากเพิ่มฟังก์ชันการทำงานใหม่ (การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ)
  5. รันการทดสอบในเครื่อง เพื่อให้แน่ใจว่าการทดสอบทั้งหมดผ่านก่อน commit
  6. จัดรูปแบบโค้ด ด้วย Black และรับประกันคุณภาพโค้ด
  7. Commit การเปลี่ยนแปลง พร้อมข้อความ commit ที่สื่อความหมาย
  8. Push ไปยัง fork ของคุณ และสร้าง 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. การเผยแพร่อัตโนมัติ: เมื่อหมายเลขเวอร์ชันใน pyproject.toml เปลี่ยนแปลงบน branch main GitHub Action จะดำเนินการโดยอัตโนมัติ:

    • สร้างแพ็คเกจ Python
    • เผยแพร่ไปยัง PyPI โดยใช้ trusted publishing
    • สร้าง release ใหม่บน GitHub
  2. การตรวจจับเวอร์ชัน: เวิร์กโฟลว์จะเปรียบเทียบเวอร์ชันปัจจุบันใน pyproject.toml กับ commit ก่อนหน้าเพื่อตรวจจับการเปลี่ยนแปลง

  3. การเผยแพร่ PyPI: ใช้ publish action อย่างเป็นทางการของ PyPA พร้อม trusted publishing (ไม่ต้องใช้คีย์ API ด้วยตนเอง)

การสร้าง Release ใหม่

ในการสร้าง release ใหม่ ให้ทำตามขั้นตอนเหล่านี้:

1. กำหนดหมายเลขเวอร์ชัน

ปฏิบัติตาม Semantic Versioning (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. Merge ไปยัง Main

เมื่อ PR ได้รับการอนุมัติและ merge ไปยัง main แล้ว GitHub Action จะดำเนินการโดยอัตโนมัติ:

  1. ตรวจจับการเปลี่ยนแปลงเวอร์ชัน
  2. สร้างแพ็คเกจ
  3. เผยแพร่ไปยัง PyPI ที่ https://pypi.org/p/meilisearch-mcp
  4. ทำให้เวอร์ชันใหม่พร้อมใช้งานผ่าน pip install meilisearch-mcp
4. ตรวจสอบ Release

หลังจาก merge แล้ว ให้ตรวจสอบ release:

# 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

ไฟล์เวิร์กโฟลว์ Release

การเผยแพร่อัตโนมัติจัดการโดย .github/workflows/publish.yml ซึ่ง:

  • ทริกเกอร์เมื่อ push ไปยัง branch main
  • ตรวจสอบว่าเวอร์ชัน pyproject.toml เปลี่ยนแปลงหรือไม่
  • ใช้ Python 3.10 และเครื่องมือ build อย่างเป็นทางการ
  • เผยแพร่โดยใช้ trusted publishing (ไม่ต้องใช้คีย์ API)
  • ให้เอาต์พุตแบบละเอียดสำหรับการดีบัก

การแก้ไขปัญหาการเผยแพร่

Release ไม่ถูกทริกเกอร์: ตรวจสอบว่าเวอร์ชันใน pyproject.toml เปลี่ยนแปลงจริงระหว่าง commit

Build ล้มเหลว: ตรวจสอบบันทึก GitHub Actions เพื่อหาข้อผิดพลาดในการสร้างแพ็คเกจ Python

การเผยแพร่ PyPI ล้มเหลว: ตรวจสอบชื่อแพ็คเกจและว่า trusted publishing ได้รับการกำหนดค่าอย่างถูกต้อง ข้อขัดแย้งด้านเวอร์ชัน: ตรวจสอบให้แน่ใจว่าหมายเลขเวอร์ชันใหม่ยังไม่เคยถูกใช้บน PyPI มาก่อน

เวอร์ชันสำหรับการพัฒนาเทียบกับเวอร์ชันสำหรับการใช้งานจริง

  • การพัฒนา: ติดตั้งจากซอร์สโดยใช้ pip install -e .
  • การใช้งานจริง: ติดตั้งจาก PyPI โดยใช้ pip install meilisearch-mcp
  • เวอร์ชันเฉพาะ: ติดตั้งโดยใช้ pip install meilisearch-mcp==0.5.0