MCP server for long term memory storage and retrieval using in-memory storage
Server has 4 tools with basic descriptions and minimal schemas. Tool naming follows verb_noun convention (save_memory, get_all_memories, search_memories, get_bytedance_info). However, descriptions lack depth and actionable guidance. Parameter descriptions are present but sparse. No output schemas documented. Error handling returns generic strings without recovery guidance. The in-memory storage implementation is simplistic and lacks production-grade features like persistence, indexing, or structured responses.
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.
Get bytedance information.
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 keyword search.
Search memories using keyword search. This tool should be called to find relevant information from your memory. Results are returned in order of appearance. Always search your memories before making decisions to ensure you leverage your existing knowledge.
get_bytedance_info lacks meaningful description and context. Description is only 'Get bytedance information.' (25 chars, below 20-char floor). Tool purpose and when to call it are unclear. Violates pattern:tool-description baseline of 194 chars average.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. get_all_memories and search_memories return JSON strings, but the structure (fields, types, nesting) is not declared. Violates pattern:tool baseline requiring 100% of A+ tools to have documented return types.
Error handling returns generic error strings ('Error saving memory: ...', 'Error retrieving memories: ...') without recovery guidance. Does not tell LLM what to do next or classify error as retryable/user-fixable/fatal. Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN-to-use guidance. save_memory says 'designed to store any type of information' but does not explain when to call it vs alternatives or what prerequisites exist. Descriptions average ~50 chars; baseline is 194 chars. Violates pattern:tool-description.
search_memories limit parameter has a default (3) but no min/max bounds declared. Unbounded integers can cause LLMs to pass absurd values. Should declare 'limit: 1-100' or similar in description.