MCP Server for AI Agent Memory - persistent, semantically-searchable memory for AI agents
Forgetful-ai demonstrates solid definition quality with consistent naming patterns (verb_noun), comprehensive parameter schemas, and descriptions on all tools. All 19 tools follow a clear CRUD pattern (create/get/list/update/delete or query variants). Schema definitions are present and properly typed with JSONSchema. However, descriptions lack LLM-optimization depth, they state WHAT but often lack WHEN/WHY context or dependency hints. Output schemas are not documented. Error handling guidance is absent. Security considerations (permission scoping, audit hints) are not declared. The server shows consistent patterns but lacks the polish and depth for an A-grade.
Create code artifact for storing reusable code snippets and patterns.
Create document for storing long-form content and documentation.
Create entity representing a real-world entity (organization, individual, team, device, system).
Create atomic memory with auto-linking and lifecycle management
Delete code artifact by ID.
Delete document by ID.
Output schemas not documented. Tool descriptions do not specify what fields and structure responses contain. LLMs cannot plan chained calls or extract the right data without knowing response shape.
Descriptions lack WHEN/WHY context and dependency hints. Descriptions answer WHAT but not WHEN to call vs similar tools or what prerequisites exist. E.g., 'query_memory' does not explain when to use it vs 'get_memory', or that it performs semantic search vs ID lookup.
No error handling guidance. Tools lack descriptions of what errors can occur and how LLMs should recover. E.g., delete_* tools do not warn that deletion is irreversible or suggest confirmation patterns.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 74 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | - | v1 |
Delete memory by ID
Retrieve code artifact by ID with complete details.
Retrieve document by ID with complete content.
Retrieve entity by ID with complete details.
Retrieve memory by ID with complete details
List code artifacts with optional filtering.
List documents with optional filtering.
List entities with optional filtering.
Search across memories
Search entities by name or alternative names (aka) using text matching.
Update code artifact (PATCH semantics - only provided fields changed).
Update document (PATCH semantics - only provided fields changed).
Update memory (PATCH semantics - only provided fields changed)
No permission or scope declarations. Tools do not declare required permissions (read:memory, write:memory, delete:memory) needed for least-privilege agent configuration and audit trails.
Descriptions under 20 chars on destructive operations. delete_* and update_* tools have 65-75 char descriptions (at lower end of baseline 194 avg). Descriptions lack detail on mutation semantics and consequences.
No pagination metadata on list tools. Descriptions do not specify if results are capped, whether pagination is supported, or what limit is applied. Large result sets could blow context window.
Field naming inconsistency between create and update operations. create_memory uses 'importance' (int) while update_memory also uses 'importance'. Consistency is present, but no documentation of valid ranges (1-10 mentioned in description but not enforced in schema).