Threadwork MCP server: persistent memory (SQLite + FTS5) and step-level trace recorder.
Threadwork MCP exposes 9 tools (with 2 duplicates: trace_record appears in both packages/mcp-server and experiments/w1). Tools have descriptions and basic schemas, but critical gaps undermine production readiness. Parameter descriptions are sparse or missing entirely (e.g., memory_write_episode lacks descriptions for 'role' and 'content' beyond type). Output schemas are undocumented, callers cannot predict response structure. Error handling is absent; no guidance on retryability or recovery. Naming follows verb_noun convention (memory_*, trace_*) but lacks clarity on when to use memory_recall_episodes vs memory_recall_facts. The echo tool is a spike validation artifact. Overall, definitions are functional but fall short of LLM-optimized quality.
Return the input text unchanged. Spike validation only.
Read a session-scoped working-memory entry. Returns null if missing or expired.
Search episodes via FTS5 (bm25 ranking). Optional task_id scopes the search; k caps results (default 5, max 50).
Return facts for an exact key, ordered by confidence desc.
Upsert a session-scoped working-memory key. Optional ttl_sec sets an expiry timestamp.
Append an episode (long-term memory row) for a task. Content is hashed and deduped per task; per-task total is capped at 1MB.
Record a key/value fact with optional confidence (0–1) and source episode reference.
Output schemas completely undocumented. No tool describes what fields it returns, forcing LLMs to guess response structure and breaking downstream tool chaining.
Parameter descriptions missing or minimal. 'role' in memory_write_episode has no description; 'content' lacks context on format/length expectations. LLMs cannot infer parameter semantics from names alone.
Duplicate tool definitions. trace_record appears in both packages/mcp-server/src/server.ts and experiments/w1/trace-mcp/server.mjs with different schemas (one has parent_event_id as integer|null, other as number). LLMs will be confused by conflicting definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Record a step-level trace event. Memory_* tools auto-trace; call this directly only for custom event types.
Record a step-level trace event for a Threadwork task. Spike-grade; persistent storage moves to packages/mcp-server in W7.
No error handling guidance. Tools provide no recovery hints (e.g., 'If task_id not found, call list_tasks first'). Agents cannot self-correct on failures.
echo tool is a spike validation artifact with minimal description ('Spike validation only'). Should be removed or clearly marked as non-production.