MCP server exposing LCM recall tools over the shared lossless-claw SQLite database. Bridges the lossless-claw (LCM) SQLite database into Claude Code via MCP. Read-only — the PreCompact hook is the writer side of the bridge.
Four tools with complete input schemas and descriptions. lcm_grep and lcm_describe have detailed, context-rich descriptions (200+ chars) that guide LLM selection. Parameters are well-typed with enums and constraints. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. lcm_expand_query is a stub that returns guidance rather than data, reducing its utility. No tool annotations (readOnlyHint, etc.) despite all being read-only operations. Error handling is present but minimal.
Look up a specific message or summary by ID and return its full content. Pass 'msg#123' to fetch a raw message, or a summary_id (UUID-shaped) to fetch a summary. For summaries, optionally returns parent/child summary IDs (DAG lineage) and the source messages a leaf summary covers. Use this after lcm_grep finds an ID you want to expand.
v1 stub. Use lcm_grep + lcm_describe instead. The full LLM-driven expansion is tracked for v2; ask Claude to walk the summary DAG manually using describe with include_lineage=true.
Search compacted conversation history stored in the lossless-claw SQLite database. Searches messages and/or summaries across all OpenClaw agents (Daphne, JelleeBean, etc.) and any Claude Code sessions captured by the lossless-claude PreCompact hook. Use this first when you need to find whether a topic, error, file path, or identifier appears anywhere in historical context. Returns matching snippets with IDs you can follow up on with lcm_describe.
Health snapshot of the lossless-claw database: total conversations, messages, summaries, and a breakdown by session-key prefix (e.g. 'agent:main', 'cc:'). Use this to orient before searching, or to verify the lossless-claude bridge is writing Claude Code sessions correctly.
Output schemas not documented. LLMs cannot see what fields lcm_grep, lcm_describe, and lcm_stats return, forcing them to infer structure from unstructured text responses. This violates pattern:tool and pattern:response-shaper.
No tool annotations despite all tools being read-only. Adding readOnlyHint=true to all four tools would signal to agents that these are safe to call without side effects, enabling more aggressive caching and retry strategies.
lcm_expand_query is a stub that returns guidance text instead of data. This violates pattern:tool, tools should perform their stated function or not exist. Either implement the LLM-driven expansion or remove the tool entirely.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error handling is minimal. lcm_describe catches errors and returns isError=true with a message, but lcm_grep and lcm_stats have no visible error handling. No guidance on retryability or recovery steps per pattern:recovery-guide.
Parameter descriptions lack format/constraint details. 'pattern' in lcm_grep says 'FTS5 query syntax' but does not explain what happens if the syntax is invalid. 'limit' has min/max (1-200) but no guidance on performance implications of large limits.