MCP server for SkillVault, a vault system for storing and managing entries (prompts, skills, decisions, etc.), artifacts, workflows, and project context with full-text search and vector similarity capabilities.
SkillVault has 12 well-named tools with clear verb-noun patterns (save_entry, search_entries, get_entry, etc.). All tools have descriptions and input schemas are visible in the code. Error handling guidance is absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Composition is sound (single responsibility per tool), but parameter constraints lack enums for known-value fields like 'type', 'status', 'purpose', and 'relation_type'.
Soft-delete an entry (set status to archived)
Return ordered entries in a series
Compile agent-ready context pack from vault data
Get a vault entry by ID (includes artifact reference if linked)
List graph edges between entries
List all projects and their statuses
Return workflow steps as a checklist
Enum constraints missing for known-value parameters. 'type' (prompt|skill|reference|...), 'status' (draft|active|archived|...), 'purpose' (WORK|KNOWLEDGE|...), and 'relation_type' are free-form strings. LLMs will hallucinate invalid values.
Output schemas not documented. Tools return structured data but LLMs cannot see field names, types, or nesting. Downstream tool chaining is guesswork.
No error handling guidance. Tools lack recovery hints (e.g., 'Entry not found. Try search_entries() first.'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Save a long AI output or file-backed artifact
Save a vault entry (prompt, skill, decision, etc.)
Create or update a link between two entries (graph edge)
Search entries with FTS5 and filters
Save a compact session summary with decisions, pending items, and learnings
Tool annotations missing. Despite clear risk classifications (WRITE, READ_ONLY, REVERSIBLE), no readOnlyHint, destructiveHint, or idempotentHint annotations in schema. Agents cannot infer safety properties.
Descriptions too brief for discovery. 'compose_series' (20 chars), 'list_projects' (40 chars), 'render_workflow' (50 chars) fall below 194-char baseline. LLMs cannot determine when to use these tools.