DecisionNode is a shared structured memory store combining a CLI and a local MCP, aimed at Claude Code, Cursor, Windsurf, Antigravity, and all MCP clients. Its core goal is not to save markdown files, but to record development decisions as structured JSON, embed them as vectors, and retrieve them by meaning through semantic search.
Purpose and Positioning DecisionNode treats "decisions" as "memory" that AI can pull via semantic search when truly relevant, rather than "rules" that need to stay in the context window at all times. The latter is better suited to CLAUDE.md or memory.md. Decisions are created through the CLI's decide add command or by AI calling add_decision via MCP, and are then embedded as vectors and stored locally.
Main Capabilities
- Structured decision storage: Decisions are saved as JSON with structured fields, rather than as plain text.
- Vector embeddings: Embeddings are generated using Gemini's gemini-embedding-001 and stored locally in vectors.json.
- Semantic search: AI calls search_decisions via MCP, passing in a query and receiving the top N decisions ranked by cosine similarity. Retrieval is explicit and is not pre-injected into the system prompt.
- Shared local storage: Both reads and writes point to the same local storage directory ~/.decisionnode/, so multiple AI tools can share the same memory.
- Visualization interface: decide ui provides a local Web UI with three views. The Graph view is a force-directed graph, where nodes are decisions and edges are cosine similarity; you can hover to highlight neighborhoods and drag a threshold slider to adjust how tight the connections are. The Vector Space view projects the 3072-dimensional Gemini embeddings into two dimensions via UMAP, displaying them as vectors radiating from the origin, allowing semantic clusters to be seen intuitively. The List view provides searchable, filterable, sortable cards grouped by scope.
- Real-time MCP pulse: When Claude Code, Cursor, Windsurf, or any MCP client searches decisions, matching nodes pulse in real time in the color of the corresponding tool.
- Local HTTP service: Runs on localhost:7788, and when the port is occupied,it falls back to a random port; this service is read-only, and writes are still done through the CLI and MCP.
How to Use Add decisions via the CLI command decide add, or have AI call add_decision via MCP. When AI needs it, it calls search_decisions via MCP for semantic retrieval. Running decide ui opens the local visualization interface. The MCP server provides 9 tools and includes configuration instructions for Claude, Cursor, and Windsurf. Full documentation is at decisionnode.dev/docs, and documentation intended for LLM consumption is at decisionnode.dev/decisionnode-docs.md.
Use Cases Suitable for developers who share development decision memory across multiple AI programming tools and want AI to pull historical decisions semantically when relevant, rather than cramming all rules into the context. Also suitable for people who need to visually observe semantic relationships and clustering among decisions.
Limitations and Notes Retrieval is explicit and is not automatically pre-injected into the system prompt. The visualization HTTP service is read-only. The project uses the MIT license. Information such as specific installation commands, configuration details, fees, and pricing is not currently provided in the available materials.