Self-hostable, governed, vendor-neutral memory for AI agents — zero-dependency embedded mode (PostgreSQL + pgvector bundled).
Tommy MCP server has 11 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-60 chars, mostly terse), and input schemas are present with type definitions. However, descriptions are uniformly brief and lack actionable context for LLM selection. Parameter descriptions are minimal (e.g., 'task ID to check' without format/constraints). No output schemas documented. Error handling is absent from visible code. Tool naming follows verb_noun convention (tommy_*) but lacks clarity on mutual exclusivity and dependencies (e.g., tommy_control accepts 'action' as free-form string, not enum). No evidence of pagination, rate limiting, or recovery guidance. Composition is reasonable (single responsibility per tool), but chaining requirements are undocumented.
send wrap_up / abort / pivot / answer to a running task
launch a harness task (async by default)
check recent commits against the architecture corpus
available harnesses + health + active routing
query memnos memory
persist a fact to memnos
dry-run: which harness would Tommy pick?
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream chaining and data extraction.
Parameter 'action' in tommy_control is free-form string, not enum. Should constrain to: wrap_up, abort, pivot, answer. LLMs will hallucinate invalid actions.
Descriptions are uniformly terse (30-60 chars). Lack context on WHEN to use each tool vs alternatives, prerequisites, and side effects. Below baseline of 194 chars for production tools.
No error handling guidance visible. Tools like tommy_dispatch and tommy_control (WRITE operations) lack recovery hints. LLMs cannot self-correct on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
mermaid sequence diagram -> CFC constraints -> corpus ingest
check a running task's output / exit code
set the active project context
post-dispatch diff-against-corpus verdict (violated/satisfied/uncovered)
Parameter dependencies undocumented. E.g., tommy_dispatch accepts optional 'workspace' but no guidance on when it's required or how it interacts with 'harness' selection.