Meilisearch MCP Server
ทางการโต้ตอบและค้นหาด้วย Meilisearch (API ค้นหาแบบเต็มข้อความและเชิงความหมาย)
เอกสาร
เซิร์ฟเวอร์ Meilisearch MCP
Meilisearch | Meilisearch Cloud | เอกสารประกอบ | Discord
⚡ เชื่อมต่อ 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
💻 การพัฒนา
การตั้งค่าสภาพแวดล้อมการพัฒนา
-
เริ่มต้น Meilisearch:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
ติดตั้ง Dependencies สำหรับการพัฒนา:
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
🤗 การมีส่วนร่วม
เรายินดีต้อนรับการมีส่วนร่วม! นี่คือวิธีเริ่มต้น:
- Fork repository
- สร้าง branch ฟีเจอร์ของคุณ (
git checkout -b feature/amazing-feature) - เขียนการทดสอบสำหรับการเปลี่ยนแปลงของคุณ
- ทำการเปลี่ยนแปลงและรันการทดสอบ
- จัดรูปแบบโค้ดของคุณด้วย
black - Commit การเปลี่ยนแปลงของคุณ (
git commit -m 'Add amazing feature') - Push ไปยัง branch ของคุณ (
git push origin feature/amazing-feature) - เปิด Pull Request
ดู แนวทางการมีส่วนร่วม สำหรับรายละเอียดเพิ่มเติม
📦 กระบวนการเผยแพร่
โปรเจกต์นี้ใช้การกำหนดเวอร์ชันและการเผยแพร่อัตโนมัติ เมื่อเวอร์ชันใน pyproject.toml เปลี่ยนแปลงบน branch main แพ็คเกจจะถูกเผยแพร่ไปยัง PyPI โดยอัตโนมัติ
ดูส่วน กระบวนการเผยแพร่ สำหรับคำแนะนำโดยละเอียด
📄 ใบอนุญาต
โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูไฟล์ LICENSE สำหรับรายละเอียด
Meilisearch เป็นเสิร์ชเอนจินโอเพนซอร์สที่มอบประสบการณ์การค้นหาที่น่าพึงพอใจ
เรียนรู้เพิ่มเติมเกี่ยวกับ Meilisearch ได้ที่ meilisearch.com
📖 เอกสารฉบับเต็ม
เครื่องมือที่พร้อมใช้งาน
การจัดการการเชื่อมต่อ
get-connection-settings: ดู URL การเชื่อมต่อ Meilisearch ปัจจุบันและสถานะคีย์ APIupdate-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: รับข้อมูลเวอร์ชัน Meilisearchget-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/
สำคัญ: การทดสอบต้องการอินสแตนซ์ 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/
แนวทางการมีส่วนร่วม
- Fork และ clone repository
- ตั้งค่าสภาพแวดล้อมการพัฒนา ตามส่วนการตั้งค่าการพัฒนาด้านบน
- สร้าง branch ฟีเจอร์ จาก
main - เขียนการทดสอบก่อน หากเพิ่มฟังก์ชันการทำงานใหม่ (การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ)
- รันการทดสอบในเครื่อง เพื่อให้แน่ใจว่าการทดสอบทั้งหมดผ่านก่อน commit
- จัดรูปแบบโค้ด ด้วย Black และรับประกันคุณภาพโค้ด
- Commit การเปลี่ยนแปลง พร้อมข้อความ commit ที่สื่อความหมาย
- 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 กระบวนการเผยแพร่ถูกออกแบบมาให้เรียบง่ายและเป็นอัตโนมัติ
วิธีการทำงานของการเผยแพร่
-
การเผยแพร่อัตโนมัติ: เมื่อหมายเลขเวอร์ชันใน
pyproject.tomlเปลี่ยนแปลงบน branchmainGitHub Action จะดำเนินการโดยอัตโนมัติ:- สร้างแพ็คเกจ Python
- เผยแพร่ไปยัง PyPI โดยใช้ trusted publishing
- สร้าง release ใหม่บน GitHub
-
การตรวจจับเวอร์ชัน: เวิร์กโฟลว์จะเปรียบเทียบเวอร์ชันปัจจุบันใน
pyproject.tomlกับ commit ก่อนหน้าเพื่อตรวจจับการเปลี่ยนแปลง -
การเผยแพร่ 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 จะดำเนินการโดยอัตโนมัติ:
- ตรวจจับการเปลี่ยนแปลงเวอร์ชัน
- สร้างแพ็คเกจ
- เผยแพร่ไปยัง PyPI ที่ https://pypi.org/p/meilisearch-mcp
- ทำให้เวอร์ชันใหม่พร้อมใช้งานผ่าน
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