Cross-project AI memory MCP server with six cognitive memory types, a team knowledge layer, and agent-instructive tool descriptions
Chronicle MCP exhibits significant definition quality gaps. Tool descriptions are verbose and instructional (200-400+ chars) rather than concise action-oriented summaries. The `chronicle` tool conflates six distinct memory operations (remember/recall/forget/trigger/check/pref/stats/decay) into a single mega-tool with 14 optional parameters, violating single-responsibility principle. Parameter descriptions exist but lack actionable constraints (no enums for memory_type despite six fixed values, no min/max for limit). Output schemas are entirely undocumented, no response structure defined for any tool. Error handling is absent from visible code. The `session` and `axon` tools have minimal descriptions (under 100 chars) that fail to explain when/why to use them or what they return. Team-tools.ts is truncated, preventing full assessment.
Team coordination and work assignment. Manage contributors, work packages, merge requests, and team synchronization. Requires a Chronicle Team license (teamToken + teamId).
Persistent memory across Claude Code sessions. RECALL at the start of any substantive block — a new domain conversation, a decision point, returning to a topic from a prior session. Recall is cheap (~1s) and the value is high: prior context informs current work instead of being re-derived. Skipping recall means losing inherited context. REMEMBER after any architectural decision — technology choices, pricing decisions, customer-facing positioning, infrastructure setup, methodology pivots, anything you would want the NEXT session to inherit without re-deriving. The cost is ~1s; the value compounds across every future session that touches the same domain. Six memory types: episodic (it happened), semantic (it is true), procedural (how-to), architectural (why), insight (pattern), coordination (team-state). Set confirmed=true for decisions that should never decay (Core tier). Tag with project + descriptive keywords so future recall finds the memory. Use stats periodically to confirm the system is healthy; use decay sparingly (it runs automatically on session end).
Session lifecycle and context injection. Begins a session with core memories injected; ends it with decay + tier-promotion maintenance.
Shared team knowledge built on Chronicle. Requires a Chronicle Team license (teamToken + teamId). SHARE a memory the rest of the team should inherit; RECALL pulls the team pool plus synthesized insights; LOG records what a prompt was trying to do (pattern only — raw text stays local unless you opt in). Memories in the shared pool stay attributed to their author; INSIGHTS are team-level syntheses curated by owners/leads.
chronicle tool violates single-responsibility: 8 actions (remember/recall/forget/trigger/check/pref/stats/decay) + 14 optional parameters in one tool. Should split into recall_memory, remember_memory, forget_memory, check_triggers, get_preferences, set_preference, get_stats, run_decay.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does recall return? Is it a list of memories or a single memory object?). Responses are unstructured.
Parameter constraints missing: memory_type is enum with 6 fixed values but not declared as enum in schema (type: string only). limit parameter has no min/max bounds. severity enum exists but no description of what each value means.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
session and axon tool descriptions are under 100 chars and lack actionable context: when should the LLM call session.start vs session.end? What does axon.sync do vs axon.list_work? Descriptions do not answer WHAT/WHEN/WHY.
No error handling guidance visible. If a memory recall returns empty, if a team token is invalid, if a work assignment fails, no recovery hints provided to the LLM. Responses likely fail silently or with raw error codes.