Runtime defense layer that protects AI agent memory from poisoning, tool abuse, privilege escalation, and excessive autonomy. Wraps the Agent Memory Guard scanner as an MCP server so any MCP-compatible agent (Claude, GPT, Gemini, etc.) can validate memory entries in real-time.
5 tools present with verb-noun naming (scan_*, validate_*, get_*). All have descriptions and basic input schemas. However, descriptions are generic and lack LLM-optimized detail. Parameters exist but many lack comprehensive constraints or context. No output schemas documented. Error handling not visible in provided code. This is typical of domain-specific security tools that prioritize functionality over agent ergonomics.
List all threat categories that Agent Memory Guard detects.
Scan multiple memory entries in batch.
Scan a single memory entry for security threats.
Validate a recalled memory entry before injecting into context.
Validate a memory entry before storing. Returns ALLOW or BLOCK.
Descriptions are generic and under-specified. E.g., 'Scan a single memory entry for security threats' does not explain WHAT threats are detected, WHEN to call this vs batch, or WHAT the returned threat data structure looks like. LLMs cannot determine downstream tool selection or result interpretation without this detail.
Parameter 'text' in scan_memory_entry and scan_memory_batch lacks constraints. No max length, encoding hints, or format guidance (plaintext? markdown? code?). LLMs may pass overly large or malformed inputs without validation feedback.
No documented output schemas. Descriptions say tools return threat info, but agents have no visibility into the structure: Are threats an array? Do they have severity fields? IDs? Names? Without this, agents cannot plan downstream actions or parse results reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
validate_before_store accepts optional user_id with default 'unknown', but no guidance on when to provide it or what format it should be (UUID? email? integer?). Vague defaults risk silent failures if agents assume identity tracking without it.
No error handling guidance visible. What happens if a tool times out scanning a huge memory entry? How should agents retry vs. give up? Without error recovery hints, agents may loop indefinitely or fail silently.
Tool naming 'validate_before_store' and 'validate_before_recall' are compound action names that assume a specific workflow order. More neutral names like 'validate_memory_entry' with clear description of WHEN to call (pre-store vs. pre-recall) would decouple tool design from assumed agent flow.