Command line interface for MCP client that converts MCP tools to LangChain tools and runs an agent with tool support
Single tool 'save_memory' has a basic description but lacks critical detail. Input schema is present but minimal, array of strings with no constraints, validation rules, or format guidance. No output schema documented. Description (67 chars) is below the 194-char baseline and does not explain when to use the tool, what happens on duplicates, or error cases. No parameter-level descriptions beyond the array type. Tool lacks idempotency guarantees, error recovery guidance, and security context (who can save memories for whom?). This is a write operation but lacks confirmation/dry-run patterns.
Save the given memory for the current user. Do not save duplicate memories.
Missing output schema documentation. Tool returns no documented structure, forcing LLM to guess what fields are available for downstream use.
Insufficient parameter description. 'memories' array lacks constraints: min/max length, max string length per memory, format rules, or examples of valid memory content.
Tool description does not explain duplicate-handling behavior. 'Do not save duplicate memories' is stated but no guidance on what constitutes a duplicate (exact match? case-insensitive? semantic?) or what the tool returns when duplicates are detected.
No error handling guidance. Tool is marked WRITE/destructive but lacks recovery patterns. What happens if save fails? Can the LLM retry? Should it ask the user?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Missing security context. Tool saves memories 'for the current user' but no documentation of how 'current user' is determined, whether the agent has permission to save for other users, or how to audit who saved what.