You run the vector database first and hand the MCP server a URL and an API key, which means several clients can share the same persona memory rather than each keeping its own file. Memories carry an importance score, and the cleanup tool uses it — old and unimportant entries go, so the store does not grow without limit.
Two parts: a vector database server for storage and similarity search, and an MCP server that exposes persona and memory management on top of it.
- Personas: create_persona, list_personas, get_persona, update_persona, delete_persona
- Memory: add_memory with a type and an importance score, and search_persona_memories by semantic similarity
- Conversations: add_conversation and get_conversation_history for complete tracking
- Housekeeping: cleanup_persona_memories for old or low-importance entries, and get_persona_stats
- Diagnostics: get_system_health and test_connection
- Cosine, Euclidean and dot-product similarity on the database side, with SQLite metadata persistence
- API key authentication with role-based permissions and multi-tier rate limiting
Node.js 18.0.0 or higher and 2GB of available RAM. Set up the database server first — npm run setup:database and npm run generate:api-key in zero-vector/server — then configure the MCP server with ZERO_VECTOR_BASE_URL and ZERO_VECTOR_API_KEY. Embeddings come from OpenAI or from local transformers.
Build from source — clone the repository and build it
