Git-native project memory for AI coding agents. MCP server + CLI that provides budgeted, ranked Markdown context packs assembled from project memory files.
Agent-memory provides three tools with clear names (fetch_context, propose_update, status) that follow verb_noun conventions. Tool definitions are directly visible in internal/mcp/tools.go with explicit FetchContextInput struct and descriptions. However, there are significant gaps: two of three tools (propose_update, status) lack visible input schemas in the source code, they are registered but their parameter structures are not shown. FetchContextInput is well-structured with typed fields and jsonschema tags, but propose_update and status lack equivalent detail. Descriptions are present and actionable (102-107 chars for primary tools), meeting baseline minimums. Output schema for fetch_context is documented (FetchContextOutput struct). Error handling and recovery guidance are absent from tool descriptions, they do not guide the LLM on next steps if a call fails. Security aspects (no credentials in params) are sound. Schema quality varies significantly across tools.
Return a budgeted, ranked Markdown context pack assembled from the project's .agent-memory/ files. Call this before reading source files manually; the pack contains current task state, conventions, and any sections relevant to the query. An empty query returns the bootstrap pack (local current state + conventions + index summary).
Propose updates to the agent memory system. Part of the M3 design for durable memory mutations.
Query the status and configuration of the agent memory system.
propose_update and status tools lack visible input schemas and parameter documentation. Source shows tool registration but no struct definitions, parameter types, or descriptions for inputs.
No error handling guidance in tool descriptions. LLMs receive no recovery hints (e.g., 'If query returns no results, try a broader search' or 'If permission denied, contact an admin'). Descriptions lack 'When to use instead of similar tool' context.
FetchContextInput parameter descriptions lack format/constraint detail. 'query' is described as 'search query; empty returns bootstrap pack' but no guidance on max length, special chars, or syntax. 'budget' is described as 'approximate character budget' but no min/max bounds documented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Output schema FetchContextOutput returns 'context' as untyped string. No guidance on format (Markdown dialect, max size, encoding). 'IncludedFiles' and 'OmittedFiles' arrays lack per-item field descriptions.