MCP server for Forsety RecallVault - provides tools for memory management, dataset access, policy checking, and semantic search with authentication, policy enforcement, and audit logging
Server provides 7 tools with basic schemas and descriptions, but falls short of production quality. Tool names lack clear action verbs (e.g., 'forsety_memory_store' vs 'store_memory'), descriptions are minimal (avg ~60 chars, below 194-char baseline), and parameter descriptions are sparse. No output schemas documented. Error handling and recovery guidance absent. Input schemas present but lack depth (no enums, ranges, or format constraints). Composition is reasonable (single responsibility per tool), but descriptions don't guide LLM selection or explain when to use each tool vs alternatives.
Access a dataset and log the access with a cryptographic proof.
Delete a memory by namespace and key.
Retrieve a specific memory by namespace and key.
Search memories by namespace, tags, or key pattern.
Store a memory in RecallVault. Upserts by namespace+key.
Check if the agent has policy access to a dataset.
Tool names lack action verbs. 'forsety_memory_store' should be 'store_memory' or 'upsert_memory'; 'forsety_dataset_access' should be 'access_dataset'. LLMs infer intent from verb-noun structure.
Descriptions are too brief (avg ~60 chars vs 194-char baseline). 'Store a memory in RecallVault. Upserts by namespace+key.' lacks context on WHEN to use this vs alternatives, what happens on retry, or what the return value contains.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. What does 'forsety_memory_retrieve' return? A string? An object with metadata? Pagination support?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
Search datasets or agent memories using natural language semantic similarity.
Parameter descriptions missing or minimal. 'tags' in forsety_memory_store has no guidance on format (comma-separated? array?). 'query' in forsety_memory_search lacks examples or constraints.
No error handling or recovery guidance. If 'forsety_memory_retrieve' fails (key not found), what should the LLM do? Retry? Call search? The tool provides no actionable error messages.