Skip to content

Shared services

docker-compose.yml in this directory runs the shared mcp-embedding-daemon as a long-lived local container. It is opt-in — each plugin works standalone without it (each loads its own embedding model in-process). The shared daemon exists for power users running multiple plugins that benefit from a single model load + warm cache.

Enable the shared daemon if any of these apply:

  • You run wet + mnemo + crg concurrently and want lower RAM usage.
  • Your machine has < 16 GB RAM and you want headroom for IDE / browser.
  • You want the embedding model warm across plugin restarts (faster cold start when Claude Code re-spawns a plugin).

Skip the shared daemon if:

  • You only run one of the three plugins.
  • You have plenty of RAM (≥ 32 GB) and prefer fewer moving parts.
  • You cannot run Docker on your machine.
Terminal window
cd ~/projects/mcp-core/docs/shared-services
docker compose down

Plugins fall back to in-process embedding on the next request.

Terminal window
cd ~/projects/mcp-core/docs/shared-services
docker compose pull
docker compose up -d
Terminal window
docker compose logs -f embedding-daemon

The embedding model + warm cache live in the named volume embedding-cache. Inspect it:

Terminal window
docker volume inspect shared-services_embedding-cache

To wipe it (forces re-download on next start):

Terminal window
docker compose down -v
  • mcp-core/packages/embedding-daemon/ — source for the daemon itself.
  • Migration doc: ~/projects/mcp-core/docs/migration-2026-04-30.md — context for the multi-mode architecture this slot-fits into.