hive-mind
Provides tools for recording and recalling decisions in a Neo4j graph database, enabling temporal memory with versioning and supersession chains.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hive-mindrecord decision to use Redis for caching with rationale"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hive Mind
Hive Mind is a self-hosted, temporal decision memory for coding agents. It records what was decided, why it was decided, when it became effective, and which later ruling superseded it.
The canonical record lives in Neo4j and is exposed through MCP tools, fail-open agent hooks, and a local web interface. Decisions are project-scoped so memory from one project is not returned to another.
Hive Mind is alpha software. Back up your Neo4j volume and review its privacy model before using it with confidential material.
What it provides
A canonical
Decisionrecord with rationale and rejected alternatives.Separate valid time (
decided_at) and record time (recorded_at).Explicit supersession chains and historical “as of” queries.
One current ruling per project, scope, repository, and decision key.
Full-text retrieval on the prompt path without an LLM or embedding model.
MCP tools for recording, recalling, superseding, and tracing decisions.
A review queue for candidate decisions extracted from agent sessions.
A local web app for search, correction history, and supersession.
Optional Graphiti integration for semantic discovery and provenance.
Related MCP server: Project Context MCP
Temporal model
Field | Meaning |
| When the ruling became effective |
| When Hive Mind learned about it |
| When a replacement ended its effective interval |
| Stable topic identity across versions |
Corrections preserve an immutable DecisionRevision. Changed rulings create a
new Decision linked to the old one with SUPERSEDES. Decisions are never
silently expired by a model.
Quick start
Prerequisites:
Docker with Compose
uv and Python 3.12
Node.js 22 or later for the web app
Start Neo4j and install the Python project:
docker compose up -d
uv sync --extra dev
uv run pytest -m "not slow"For a source checkout, copy the starter scope map and replace its examples:
cp repos.yaml repos.local.yamlrepos.local.yaml is ignored by Git. Each entry maps a repository directory
name to a project group:
practice_group: practice
repos:
checkout-api: acme
checkout-infrastructure: acmeAn unmapped repository receives practice-wide memory only. Hive Mind does not guess project membership.
For an installed package, put the same file at
~/.config/hive-mind/repos.yaml or set HIVE_MIND_REPO_MAP to an explicit
path.
Run the MCP server:
uv run hive-mind-mcpRun the local web app:
./run_viewer.shThen open http://localhost:3000.
Configuration
The defaults match the development stack in compose.yaml. Every setting can
be overridden:
Variable | Default | Purpose |
|
| Python Neo4j connection |
|
| Python Neo4j user |
|
| Python Neo4j password |
|
| Web server Neo4j endpoint |
|
| Web server Neo4j user |
|
| Web server Neo4j password |
| auto-detected | Explicit scope-map path |
| unset | Checkout path used by the bundled Claude command |
|
| Shared practice-memory group |
|
| Attribution on confirmed decisions |
| unset | Optional semantic client factory |
The passwords above are development defaults, not production credentials. Bind Neo4j to a trusted interface, use a unique secret, and back up its data volume before storing important memory.
Optional semantic provider
Canonical decision storage, full-text search, temporal queries, MCP, hooks, and the web app do not require embeddings.
Semantic grounding is an extension point. Install the semantic extra and expose a zero-argument factory returning a Graphiti-compatible client:
uv sync --extra semantic
export HIVE_MIND_GRAPHITI_FACTORY="my_provider.graph:build_client"The original deployment uses Nomic embeddings locally on Apple Silicon through an external provider. Contributions that turn this into a first-party, provider-neutral adapter are especially welcome.
Architecture
coding agent
├── MCP tools ────────────────┐
├── prompt/session hooks ─────┤
└── local web app ────────────┤
▼
canonical Neo4j graph
Decision / Revision / Topic
│
└── optional semantic providerThe direct Cypher path is authoritative and fast. The optional semantic layer is best-effort discovery; it must never overwrite canonical decision text. See docs/architecture.md for invariants and extension points and docs/roadmap.md for contribution opportunities.
Contributing
Issues, documentation improvements, adapters, tests, and code contributions are welcome. Start with CONTRIBUTING.md, which includes the development workflow and areas where help is most useful.
Maintainers preparing the first public repository should follow the public release checklist; the original private Git history must not be published.
By participating, you agree to the Code of Conduct. Security and privacy reports should follow SECURITY.md.
License
Licensed under the Apache License 2.0.
Available Tools
8 toolscurrent_decisionB
Return the one live decision for a stable topic key.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | ||
| scope | No | repo | |
| client | No | ||
| decision_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behaviors. Only states 'return' and 'live,' implying read-only, but no mention of side effects, permissions, error conditions, or uniqueness guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single 9-word sentence is concise and front-loaded. However, extreme brevity sacrifices clarity on parameters and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and 4 parameters, description omits return value context and parameter semantics. Complexity is high relative to the minimal description, leaving gaps for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet description gives no parameter details. It loosely mentions 'stable topic key' but doesn't explain 'repo,' 'scope,' or 'client.' Agents cannot infer correct usage from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Return the one live decision for a stable topic key,' specifying verb, resource, and scope. It distinguishes from siblings like 'recall_decisions' (likely returns multiple) and 'record_decision' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for stable topic keys, but no explicit when-to-use or when-not-to-use guidance. Lacks comparison to siblings like 'why' or 'decisions_as_of'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decision_lineageB
Show the oldest-to-newest supersession chain containing a decision.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must compensate, but it only states the basic action. It does not disclose read-only nature, permissions, empty chain handling, or ordering implications beyond 'oldest-to-newest'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently conveys the core functionality. Front-loaded with action and scope, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and an output schema, the description covers the main idea but lacks parameter explanation and context about the chain structure. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'uuid' has 0% schema description coverage. The description mentions 'a decision' but does not clarify that uuid identifies the decision, nor does it specify format or constraints. Minimal added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'show' and the resource 'supersession chain' for a decision. It distinguishes the tool from siblings like 'current_decision' (shows current only) and 'supersede_decision' (creates a supersession), making the lineage intent unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'why', 'current_decision', or 'supersede_decision'. There is no explicit context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decisions_as_ofC
Return decisions that were effective at a historical point in time.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | ||
| limit | No | ||
| decision_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states the core function (returning historical decisions) but omits safety, permissions, side effects, or what 'effective' means. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence. However, it is under-specified for a 3-parameter tool. Conciseness is good for the purpose, but missing parameter details lowers effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no annotations, and an output schema, the description is incomplete. Does not explain return value or usage context, leaving gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The description only implies 'as_of' is the historical time point but does not explain 'limit' or 'decision_key'. Fails to compensate for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns decisions effective at a historical point in time. This distinguishes it from siblings like 'current_decision' but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'current_decision' or 'recall_decisions'. Lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recall_contextA
Search what clients and stakeholders actually said, from meeting transcripts.
Use to find where an ask originated, what was promised, or what a client
required — before writing code against a second-hand description of it.
Facts carry temporal validity: a fact with an invalid_at date was superseded.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description adds temporal validity note about invalid_at dates, which is a behavioral trait. However, it does not disclose other traits like read-only nature, permissions, or result format. With no annotations, the description carries burden but only partially fulfills it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively concise with two sentences plus a critical note on temporal validity. It front-loads the purpose and use case efficiently, though the note could be integrated more smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown) and sibling tools, the description provides adequate context for core purpose and usage guidelines. However, it lacks parameter details and more thorough behavioral transparency, leaving gaps for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and description does not explain parameters. While 'query' and 'limit' are intuitive, the description adds no guidance on their usage, formats, or constraints. For a tool with no parameter descriptions in schema, this is a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches meeting transcripts for client/stakeholder statements. It differentiates from siblings like recall_decisions by focusing on 'context' rather than decisions. Verb 'search' and resource 'meeting transcripts' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: to find origins of asks, promises, or requirements before acting on second-hand info. Does not specify when not to use or list alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recall_decisionsA
Search prior architectural decisions before proposing an approach.
Call this before designing anything non-trivial. Superseded decisions and rejected alternatives are the most useful results — they are exactly the approaches that should not be proposed again.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| include_superseded | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It implies a read-only search but does not explicitly state idempotency, side effects, or permissions. Adequate for a simple search tool but not rich in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences; first sentence states purpose, next two provide usage guidance. No redundancy, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given multiple sibling tools and an output schema, the description omits parameter explanations and usage comparisons. It gives a clear call-to-action but lacks full context for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter-level details (e.g., what query means, how limit works, or the effect of include_superseded). It barely adds meaning beyond the schema's bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (search) and resource (prior architectural decisions), and the context about superseded decisions distinguishes it from sibling tools like record_decision or current_decision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to call before non-trivial design, and highlights superseded/rejected decisions as valuable. However, it does not discuss when not to use or compare to siblings like recall_context or why.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_decisionB
Record a settled architectural decision so it is not re-litigated.
decision_key is a stable lowercase kebab-case topic preserved across revisions.
decided_at is when the ruling became effective, not when it was recorded.
scope: 'repo' (this repo only), 'client' (all client repos), or 'practice'.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | ||
| scope | No | repo | |
| client | No | ||
| source | No | explicit | |
| rationale | Yes | ||
| statement | Yes | ||
| decided_at | No | ||
| session_id | No | ||
| decision_key | Yes | ||
| alternatives_rejected | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavior. It adds useful context for decision_key (stable kebab-case), decided_at (effective date), and scope (repo/client/practice), but omits critical behaviors like whether duplicate keys overwrite, required permissions, or side effects (e.g., creation vs. update). The description is partially transparent but insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences) with the main purpose front-loaded. The bullet-like clarifications for decision_key, decided_at, and scope are efficient. However, additional structure (e.g., grouping parameters) could improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown), the description does not explain the return value, error conditions, or how to use all 10 parameters. Given the tool's moderate complexity and missing schema descriptions, the description leaves significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains only 3 of 10 parameters (decision_key, decided_at, scope), leaving repo, client, statement, rationale, source, session_id, and alternatives_rejected undocummented. This partial coverage fails to guide an agent on the majority of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Record') and resource ('settled architectural decision'), and distinguishes it from sibling tools like recall_decisions or supersede_decision by focusing on creation rather than retrieval or modification. The purpose is unambiguous and action-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for persisting decisions to avoid re-litigation, but does not explicitly contrast with sibling tools (e.g., when to use this vs. supersede_decision or decisions_as_of). No 'when not to use' guidance is provided, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supersede_decisionB
Retire a decision and replace it, preserving the old one as REJECTED history.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | ||
| reason | Yes | ||
| rationale | No | ||
| decided_at | No | ||
| new_statement | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the old decision becomes 'REJECTED history', a key side effect. However, given no annotations, more details (e.g., permissions, irreversibility) would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the action. It is efficient, though it could be expanded slightly to include parameter hints without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and multiple sibling tools, the description lacks parameter guidance, usage context, and behavioral details. Significant gaps remain for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameter. The agent must infer meaning from parameter names alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retires a decision and replaces it, preserving the old one as rejected. This distinguishes it from sibling tools like record_decision (create) and current_decision (read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The purpose implies replacement, but no contrasts to siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whyA
Explain why a decision exists, quoting the client conversation behind it.
Use when a constraint looks arbitrary, when you are about to argue against an existing decision, or when the user asks where a requirement came from. Returns decisions plus dated, speaker-attributed excerpts from the meetings that motivated them.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| topic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states returns 'dated, speaker-attributed excerpts', which is useful but doesn't disclose potential side effects, auth needs, or performance. Read-like behavior implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then usage, then return info. No redundant words. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists but not detailed here, description covers return structure adequately. However, missing parameter documentation is a gap for a simple 2-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain 'topic' or 'limit' parameters. 'Topic' is implied but not defined, and 'limit' is not mentioned. Agent likely needs more guidance on what 'topic' refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Explain why' and resource 'a decision exists', adding 'quoting the client conversation'. It distinguishes from siblings like 'recall_context' and 'recall_decisions' by focusing on justification and quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists three scenarios for use: when a constraint looks arbitrary, when arguing against a decision, or when the user asks for a requirement's origin. No explicit when-not-to-use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.1.0- First observed
current_decision - First observed
decision_lineage - First observed
decisions_as_of - First observed
recall_context - First observed
recall_decisions - First observed
record_decision - First observed
supersede_decision - First observed
why
TDQS
Scored across 8 tools
Most tools have distinct purposes (e.g., 'why' explains decisions with quotes, 'recall_context' searches transcripts), but 'recall_decisions' and 'decisions_as_of' could be confused as both retrieve decision information, though the descriptions clarify the difference.
Naming conventions are mixed: some use verb_noun ('record_decision', 'recall_context'), while others use noun_preposition ('decisions_as_of') or adjective_noun ('current_decision', 'decision_lineage'), lacking a uniform pattern.
With 8 tools, the set is well-scoped for the domain of decision management and context recall, covering all essential operations without being bloated.
The tool surface covers recording, superseding, and querying decisions (current, historical, lineage) and searching context. A minor gap is the absence of a tool to list all decision topics, but this can be worked around via search.
Maintenance
Related MCP Connectors
Append-only decisions with provenance, supersession, retrieval, and audited MCP actions.
Memory for coding agents: the decisions, the dead ends, and where the last session stopped.
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Roadmap, tasks, releases and user feedback your coding agent reads and writes over MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides persistent memory and task management for coding agents via MCP tools, enabling mid-session recall and capture of durable knowledge.386 npm9MIT
- AlicenseBqualityBmaintenanceEnables coding agents to incrementally index project text and code, persist decisions and constraints with clear sources, and assemble focused project context across sessions via MCP.34200 npm5MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI coding agents to record auditable work ledgers with evidence chains, from contract to proof packet, via MCP tools for file scanning, code review, and issue triage.49MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP agents to maintain durable, evidence-aware project knowledge, retrieve precise excerpts on demand, and track decisions, conflicts, and revisions across sessions.1Apache 2.0