ViBo MCP server — memory for AI agents: persistent memory (L1/L2/L3), web-search savings, thread memory. Works with Claude, Cursor, OpenClaw and any MCP client.
ViBo MCP has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names lack clear action verbs (memory_search, memory_add, thread_memory are acceptable but not ideal). Descriptions are present but brief (avg ~80 chars, below the 194-char baseline). Parameter descriptions exist but lack detail on constraints, formats, and dependencies. Output schemas are not documented, responses are free-text or loosely structured. Error handling is minimal; most errors return generic text without recovery guidance. No input validation rules stated. The web_search tool is disabled, reducing utility. Overall, this is a functional but underdeveloped toolkit.
Save a fact to persistent memory. Deduplicated by exact match.
Search persistent memory for relevant facts. Returns facts + token savings.
Get token savings statistics (today + all-time).
Thread memory: add message, compress old ones, ask details, get context.
Fetch a web page and compress it through ViBo (saves 96-99% tokens).
Output schemas not documented. Responses are free-text strings without structured field definitions. LLMs cannot plan downstream calls or extract typed data reliably.
Parameter descriptions lack constraint details. 'query' and 'content' have maxLength but no guidance on format, required keywords, or examples. 'action' enum in thread_memory lacks per-action documentation.
Error handling is generic. Errors return plain text like 'Error: unknown' or 'Network error: ...' without recovery guidance. LLMs cannot determine if errors are retryable or require user intervention.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
web_search is disabled ('ships in the next release'). Tool exists but returns a static message instead of functionality. This wastes agent reasoning cycles and breaks composition.
thread_memory combines four distinct actions (add, compress, ask, context) into one tool with optional parameters. This violates single-responsibility principle and forces LLMs to reason about which action to invoke.