The server defines 3 tools with adequate naming (verb-first, clear actions) and reasonable descriptions. However, there are notable gaps: input schemas are present but minimal, parameter descriptions exist but lack depth and constraints, and output schemas are not documented. Error handling returns plain error strings rather than actionable recovery guidance. The tool set is well-composed (no combined concerns), but lacks the precision and LLM-optimization expected of production tooling.
Get all stored memories for the user. Call this tool when you need complete context of all previously memories. Returns a JSON formatted list of all stored memories, including when they were created and their content. Results are paginated with a default of 50 items per page.
Save information to your long-term memory. This tool is designed to store any type of information that might be useful in the future. The content will be processed and indexed for later retrieval through semantic search.
Search memories using semantic search. This tool should be called to find relevant information from your memory. Results are ranked by relevance. Always search your memories before making decisions to ensure you leverage your existing knowledge.
Output schemas not documented. Tools return JSON strings, but the shape and field types are not declared in tool metadata. LLMs cannot plan downstream operations without knowing the structure of returned results.
Parameter descriptions lack constraints and format guidance. The 'query' parameter in search_memories has a basic description but no guidance on natural language vs. keyword syntax, expected length, or what happens with very long queries. Similarly, 'limit' has a default but no min/max bounds stated.
Error handling returns plain error strings (e.g., 'Error saving memory: {str(e)}') rather than actionable recovery guidance. Errors should classify whether they are retryable, user-fixable, or fatal, and suggest next steps. Example: 'Memory limit exceeded. Delete old memories or contact support.' instead of a raw exception message.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
get_all_memories lacks explicit pagination documentation in the tool description. The docstring mentions 'paginated with a default of 50 items per page' but the tool signature does not expose page/offset or limit parameters. If the API supports pagination, the tool should allow LLMs to specify page size and offset to handle large result sets.
The 'text' parameter in save_memory lacks format/length constraints. No guidance on max characters, minimum content, or character encoding. LLMs may pass very long strings that could fail silently or exceed Mem0 API limits without actionable feedback.