A repository indexing and code context server for Claude that provides intelligent repository navigation, diff context, and workspace management tools.
Memento MCP defines 2 tools with good naming conventions and detailed parameter schemas. Both tools follow verb_noun patterns (repo_context, repo_diff_context) and include comprehensive input schemas with type definitions and parameter descriptions. However, descriptions are lengthy (200+ chars) and could be more concise for LLM parsing efficiency. Tool descriptions explain intent but lack explicit guidance on error recovery and prerequisites. Parameter descriptions are present and detailed, but the complexity of parameter relationships (e.g., mode vs intent) requires careful LLM interpretation. No output schemas are documented, critical gap for agents planning downstream operations. Error handling behavior is not visible in the provided source code. Schema definitions are well-formed with proper JSON Schema structure, enums, and type constraints. The server provides read-only operations (no destructive operations), which reduces complexity but limits use cases.
Return context for a file, related files, and path-matching durable memories. Prefer `intent` for higher-level LLM workflows: `navigate` resolves to `outline`, while `implement` and `review` resolve to `auto`. Use explicit `mode` only when you need to force a low-level behavior.
Return diff context for changed paths with chunks, durable memories, and unified diff summaries. Auto-detect Git changes or provide explicit paths.
Output schemas not documented. Agents cannot predict the structure of responses or plan chained tool calls. Critical for composition and error handling.
Tool descriptions exceed 200 characters and contain implementation details ('durable memories', 'path-matching') that may confuse LLM tool selection. Baseline for A+ tools is 50-200 chars. These descriptions waste tokens on internal concepts rather than use-case clarity.
Parameter relationships are underdocumented. 'intent' parameter is ignored when 'mode' is explicit, but this conditional dependency is only mentioned in the 'intent' description. LLMs will not reliably understand which parameters are mutually exclusive or override others.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Error handling and recovery guidance absent from tool definitions. No indication of what errors may occur, which are retryable, or what the LLM should do if a call fails. repo_context may timeout on large repos or fail with invalid path, no guidance provided.
No pagination or result-limit documentation for repo_context and repo_diff_context. maxChunksPerFile, maxTokens, and maxTotalBytes are configurable but their default values and typical ranges are not explained. Agents cannot reason about whether results will be complete or truncated.
Tool names do not start with a clear action verb. 'repo_context' and 'repo_diff_context' use nouns as the primary word. More explicit names like 'get_repo_context' or 'retrieve_diff_context' would improve clarity and LLM intent inference.