Local MCP server that accumulates the business-domain knowledge of a software project — the why behind the code.
Domain Memory provides 7 tools with clear, domain-specific naming (get_project_primer, search_knowledge, save_knowledge, etc.) that follow verb_noun conventions. Descriptions are present and contextual (avg ~120 chars), explaining WHAT each tool does and WHEN to use it. However, input schemas are not visible in the provided source excerpt, only tool names and descriptions are shown. Without seeing actual parameter definitions, types, and constraints, schema quality cannot be verified. The tools appear well-composed (each has one responsibility) and include helpful dependency hints ('Call search_knowledge first'). Risk annotations (READ_ONLY, WRITE) are present but not formalized as tool annotations in the MCP protocol sense. Error handling and output schemas are not documented in the visible code.
Given a list of file paths (typically the files a PR touches), return the knowledge entries that reference them. Use at PR time to flag potentially stale entries.
Re-read the project primer from `.domain-memory/primer.md`. The primer is auto-delivered as MCP instructions on connection; this tool refreshes the content after editing without reconnecting.
Read all staged findings for a given branch, ordered chronologically.
Look up an active entry by its canonical topic_key (feature slug, or "<featureSlug>/<aspectSlug>"). Use before save_knowledge(create) when you already know the exact slug — faster and more reliable than search_knowledge for dedup.
Create, update, archive or supersede a knowledge entry. Always call search_knowledge first. Conflicts block the write — resolve with the user before retrying.
Search the domain-memory knowledge store using semantic + keyword + path/symbol matchers. Returns ranked candidates. Call before writing to avoid duplicates.
Input schemas not visible in source code. Cannot verify parameter types, constraints, enums, or descriptions. Per HARD SCORING RULES, schema score must be 0 for all tools.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does search_knowledge return topic_key, content, file_path, rank?). Breaks tool composition.
Error handling and recovery guidance not documented. No indication of retryable vs. fatal errors, or what the LLM should do if save_knowledge conflicts occur or search_knowledge returns no results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Append a domain-knowledge finding to the per-branch staging. Findings survive session compaction and are consolidated later at /save-knowledge or PR time.
Risk annotations (READ_ONLY, WRITE) are informal comments, not formalized as MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot programmatically detect which tools are safe to retry.
Pagination and result limits not documented. search_knowledge and check_drift may return large result sets; no indication of max results, pagination support, or how to handle overflow.