Multi-agent graph memory server using Graphiti for episodic memory management
Four tools with basic schemas and minimal descriptions. All tools have input schemas with typed parameters, but descriptions are generic (10-50 chars) and lack context for LLM selection. No output schemas documented. Parameters lack constraints (enums, ranges, formats). No error handling guidance. Tool names follow verb_noun pattern but descriptions do not explain WHEN to use each tool or what distinguishes search_nodes from search_memory_facts. Missing idempotency hints for write operation (add_memory). No pagination guidance despite max_* parameters suggesting result limiting.
Add a memory episode to the graph
Retrieve episodes from the graph memory
Search for memory facts in the graph
Search for nodes in the graph memory
Descriptions too short and generic. 'Add a memory episode to the graph' (34 chars) and 'Retrieve episodes from the graph memory' (38 chars) lack context for LLM selection. Should explain WHEN to call, what distinguishes similar tools, and what the agent receives back.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. What does add_memory return? Does get_episodes return episode IDs, full bodies, timestamps? Undocumented outputs force agents to guess.
search_nodes and search_memory_facts have identical signatures and nearly identical descriptions. LLMs cannot distinguish when to use each. Clarify: does search_nodes find graph vertices while search_memory_facts finds semantic facts? Add examples or constraints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Parameters lack constraints. max_episodes, max_nodes, max_facts have no min/max bounds. What happens if an LLM passes max_episodes=999999? No enums for group_ids or query format guidance. Unbounded parameters invite absurd values.
add_memory (WRITE operation) lacks idempotency hint and confirmation pattern. No guidance on retry safety. If an agent retries after a network timeout, will it create duplicate episodes? Should support dry-run or return idempotency key.