Agent-native personal knowledge management (PKM) system with long-term memory, semantic retrieval, and transactional write-back. Provides 16+ tools for memory management and vault operations with provenance tracking.
Tacitus MCP server has 12 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, mostly adequate) and input schemas with type definitions. However, output schemas are not documented, LLMs cannot predict response structure for chaining. Parameter descriptions are minimal (e.g., 'Memory ID to delete' lacks format/constraint details). No error handling guidance, no recovery hints, and no permission/scope declarations. Tool naming is clear (verb_noun pattern: remember, recall, forget, vault_list, write_note), but composition issues exist: vault_* tools (list, get, search, backlinks, outgoing) could be consolidated into a single 'query_vault' tool with a 'mode' parameter, reducing cognitive load. The 'capabilities' tool is a discovery pattern but lacks documentation of what it returns. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE, READ_ONLY). Baseline: 549 production tools average 194 chars for descriptions; Tacitus averages ~50 chars, too terse for LLM reasoning.
Append content to an existing note
List available tools and their capabilities based on permission scope
Delete a note from the vault
Delete a memory entry by ID
Retrieve memories with semantic search and filtering
Store a memory entry with optional tags and metadata
Get notes that link to a given note
Retrieve a note by ID from the vault
List all notes in the vault
Output schemas not documented. LLMs cannot predict response structure for tool chaining. E.g., recall() returns what fields? Does it include note_id for downstream vault_get()? Undocumented outputs force discovery calls.
No error handling guidance. Tools lack recovery hints (e.g., 'If note not found, try vault_search() with a partial title'). Agents cannot self-correct on failures.
Tool annotations missing. Despite clear risk levels (WRITE, DESTRUCTIVE, READ_ONLY), no readOnlyHint, destructiveHint, or idempotentHint annotations. Agents cannot reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Get notes that a given note links to
Semantic search across vault notes
Create or update a note in the vault
Vault tools (vault_list, vault_get, vault_search, vault_backlinks, vault_outgoing) lack pagination parameters (limit, offset, cursor). Large vaults could return unbounded results, exhausting context.
Parameter descriptions too terse. E.g., 'Memory ID to delete' lacks format/constraint details. Baseline: 72 chars avg; Tacitus ~30 chars. LLMs cannot infer valid ID format (UUID? slug? integer?).