feat(mcp): Docker MCP infrastructure — milvus, searxng, healthchecks, and claude-context migration#350
feat(mcp): Docker MCP infrastructure — milvus, searxng, healthchecks, and claude-context migration#350pftg wants to merge 6 commits into
Conversation
…I tooling Add apm.yml manifest (jetthoughts/site@0.1.0) as producer package with: - 5 instructions (project-rules, voice-guide, icp-target, tdd-enforcement, css-consolidation) - 3 prompts (blog-pipeline, cover-image, research) - 18 agents across core/content/ruby/validation - 5 skills (blog-post-pipeline, css-bem-migration, visual-regression-testing, cover-image-generation, content-voice-enforcement) - 10 MCP servers (claude-context, context7, brave-search, lean-ctx, chrome-devtools, package-search, github-mcp-server, searxng, ollama, milvus) - 8 APM targets: claude, copilot, codex, cursor, gemini, opencode, windsurf, kiro Add compose.mcp.yml + Makefile for per-repo Docker MCP services. Update Brewfile for ollama, add Makefile for mcp-up/mcp-down/mcp-status. Refactor thin wrappers (GEMINI.md, QWEN.md, AGENTS.md, .junie/AGENTS.md) to point to .apm/instructions/ as canonical source. Commit apm.lock.yaml for reproducible installs. Add APM getting-started section to README.
- Add command: ["milvus", "run", "standalone"] to compose.mcp.yml (milvus v2.4.0 requires explicit standalone entrypoint) - Switch docker compose → docker-compose in Makefile targets (colima with standalone docker-cli lacks compose plugin) - Fix milvus health check: use nc port check instead of curl /health (milvus v2.4.0 has no /health HTTP endpoint on :19530)
- milvusdb/milvus: v2.4.0 → v2.6.19 (latest stable as of Jul 2026) - quay.io/coreos/etcd: v3.5.5 → v3.5.25 (v2.6 compatible metadata schema) - minio/minio: 2023-03-20 → 2024-05-28 (v2.6 compatible storage) All versions match official milvus v2.6 standalone compose template. Verified: containers start, healthz OK, searxng API returns results.
…ency - Add etcd healthcheck (etcdctl endpoint health) with start_period - Add minio healthcheck (bash /dev/tcp port 9000 check) with start_period (minio image has no curl/wget/mc/pgrep, uses bash built-in TCP) - Update milvus depends_on to condition: service_healthy Ensures etcd+minio are ready before milvus starts, eliminating startup race conditions that caused milvus crash loops.
- Create .dev/searxng/settings.yml enabling html+json search formats - Bind-mount read-only into searxng container in compose.mcp.yml - Fixes: JSON API was previously ephemeral (written to Docker volume), lost on docker-compose down -v or volume prune - JSON at :8080/search?q=X&format=json now works out of the box on fresh clone after make mcp-up
…ocal Milvus+Ollama - Migrate from @anthropic/claude-context (GOB file storage) to @zilliz/claude-context-mcp@latest (Milvus vector backend) - Configure Ollama embeddings (nomic-embed-text, dim 768) - Point to local Milvus (localhost:19530, root:Milvus) - Update all 8 MCP config files + docs/mcp-user-setup.md Prerequisites verified: - Package @zilliz/claude-context-mcp exists (v0.1.15) - Ollama has nomic-embed-text model - Milvus (:9091/healthz) and Ollama (:11434/api/tags) reachable - Server starts without errors
|
Important Review skippedToo many files! This PR contains 194 files, which is 44 over the limit of 150. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (194)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
MCP infrastructure hardened and migrated for local Colima development. All services verified end-to-end: Docker startup, health checks, JSON API, vector search indexing, and persistence across restarts.
Changes
compose.mcp.yml
command: ["milvus", "run", "standalone"](required by v2.4+, v2.6+)etcdctl endpoint health) + minio (bash /dev/tcp) withstart_period: 10scondition: service_healthy(eliminates startup race conditions).dev/searxng/settings.yml:roenablinghtml+jsonsearch formatsMakefile
docker compose→docker-compose(Colima uses standalone Docker CLI without compose plugin)curl /health→nc -z(Milvus v2.4+ has no/healthHTTP endpoint on :19530)Seed config
.dev/searxng/settings.yml— enables JSON API out of the box on fresh clonesClaude-Context migration
@anthropic/claude-context→@zilliz/claude-context-mcp@latest(8 config files)nomic-embed-text(dim 768)localhost:19530docs/mcp-user-setup.mdupdatedVerification
make mcp-upstarts all 4 Docker services (etcd, minio, milvus, searxng)make mcp-status: ollama ✓, searxng ✓, milvus ✓GET :8080/search?q=test&format=json→ 28 resultsdocker-compose down -v(bind-mounted from repo)