Streamlined MCP server for Zero-Vector persona and memory management
This is a STDIO-only MCP server with 13 tools. Naming follows verb_noun convention consistently (create_persona, list_personas, get_persona, etc.), which is good. However, definition quality has significant gaps: (1) Tool descriptions exist but are generic and often under 20 chars (e.g., 'List all personas with optional filtering and pagination' is only 52 chars but lacks context on WHEN to use vs other tools). (2) Parameter descriptions are present but minimal, most are 1-3 words with no guidance on constraints, valid ranges, or expected formats. Example: 'threshold' param in search_persona_memories is described as 'Similarity threshold (0-1)', good, but nothing about default behavior, what happens if threshold is too high, or whether exact matches are included. (3) Input schemas are visible (all tools show JSON Schema with types), but lack details like minLength, maximum, enum constraints. (4) Output schemas are completely undocumented, no description of what fields are returned, data types, or nesting structure. (5) Error handling is vague, descriptions mention 'optional' metadata and filtering but don't explain failure modes or recovery paths. The server relies on HTTP(S) connection to a remote Zero-Vector server, suggesting good architectural separation, but the MCP tool layer lacks production polish. Average per-tool score across 13 tools is 52.
Add a conversation turn to a persona's conversation history
Add a memory to a persona's vector store with semantic embedding
Clean up old or redundant memories for a persona
Create a new Zero-Vector persona with optional metadata and initial memory
Delete a persona and all associated memories
Retrieve conversation history for a persona
Output schemas are completely undocumented across all 13 tools. LLMs cannot infer what fields to expect or plan downstream tool calls.
Parameter descriptions lack constraint details (min/max, format, enums). Example: 'threshold' in search_persona_memories lacks default, and 'role' in add_conversation should be an enum, not a free-form string.
Tool descriptions are generic and often under 100 chars, lacking LLM-optimized guidance on WHEN to use vs similar tools, failure modes, and recovery paths.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 55 | - | v1 |
Retrieve details about a specific persona
Get statistics for a specific persona
Get system health and statistics including vector store status
List all personas with optional filtering and pagination
Search a persona's memories using semantic similarity
Test connection to the Zero-Vector server
Update a persona's name, description, or metadata
Destructive operations (delete_persona, cleanup_persona_memories) lack dry-run, confirmation, or recovery guidance. Agents can trigger irreversible deletions without safeguards.
No pagination or result limits documented. list_personas accepts limit/offset but no total_count or next_cursor guidance. Agents may exhaust context with large result sets.
Error handling is not documented. No guidance on what constitutes a retryable vs fatal error, or what the LLM should do if a persona_id is not found.