Shared services
README
Section titled “README”Shared Embedding Daemon (opt-in)
Section titled “Shared Embedding Daemon (opt-in)”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.
When to use
Section titled “When to use”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.
Operations
Section titled “Operations”Stop the daemon
Section titled “Stop the daemon”cd ~/projects/mcp-core/docs/shared-servicesdocker compose downPlugins fall back to in-process embedding on the next request.
Update the daemon
Section titled “Update the daemon”cd ~/projects/mcp-core/docs/shared-servicesdocker compose pulldocker compose up -dView logs
Section titled “View logs”docker compose logs -f embedding-daemonCache location
Section titled “Cache location”The embedding model + warm cache live in the named volume
embedding-cache. Inspect it:
docker volume inspect shared-services_embedding-cacheTo wipe it (forces re-download on next start):
docker compose down -vReferences
Section titled “References”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.