The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Wisdomgraph listing page.
Graph-native persistent cognition for AI agents.
graphify gives you a snapshot. wisdomGraph gives you memory that compounds.
Use wisdomGraph from Claude Code, Codex, OpenClaw, or any MCP host. Feed it your codebases, notes, papers, conversations — every run merges into a living Neo4j graph. The graph doesn't reset. It accumulates. Facts become patterns. Patterns become insights. Insights become wisdom.
graphify is excellent at what it does: turn a folder into a knowledge graph snapshot. One run, one graph.json, one GRAPH_REPORT.md. Read it. Next session, start over.
wisdomGraph does something fundamentally different.
| graphify | wisdomGraph | |
|---|---|---|
| Storage | graph.json file (per-project) | Neo4j (persistent, all projects) |
| Node types | flat (code entities, concepts) | typed DIKW: Knowledge / Experience / Insight / Wisdom |
| Runs | snapshot, overwrites | MERGE — each run grows the graph |
| Query | read GRAPH_REPORT.md | live Cypher traversal at inference time |
| Memory | resets each session | accumulates across sessions, projects, months |
| Reasoning | community detection (topology) | graph path traversal + DIKW hierarchy |
| Feedback loop | none | Wisdom → Knowledge (neuroplasticity) |
| Database | none required | Neo4j Aura (free) or local Neo4j Docker |
The difference is not incremental. It's architectural. graphify compresses a codebase into a readable report. wisdomGraph builds an artificial epistemology — one that remembers, connects, and grows.
Human experts don't store flat facts. They organize experience into layers:
Every node in the wisdomGraph carries a tier label. The graph topology is the cognitive architecture. When you ask a question, Cypher traverses upward through the tiers — not keyword-matching flat text, but reasoning across lived experience.
The feedback loop is critical: when a Wisdom node is queried and found useful, it reinforces connected Knowledge nodes. The graph learns what matters.
Requires: Python 3.10+ and one of: Claude Code, Codex, OpenClaw, or another MCP host
And one of: Neo4j Aura Free (cloud, no install) or Docker Desktop/Engine for a managed local Neo4j container
wisdom quickstart is the end-to-end first-time setup. It prepares storage, verifies the Neo4j connection, and registers wisdomGraph with detected MCP hosts.
The MCP server itself never starts Docker or creates databases. Storage setup is explicit through quickstart, local, docker, or connect.
This starts a managed neo4j:latest container named wisdomgraph-neo4j, stores data under ~/.wisdom/neo4j, uses the documented local login neo4j/password, saves the connection, and leaves MCP startup cleanly separate. The implementation uses the Docker CLI directly, so the same wisdom local up command works from Windows PowerShell, Windows cmd.exe, macOS Terminal, and Ubuntu Terminal after Docker is installed.
Useful commands:
Free tier: 200,000 nodes. Enough for years of accumulated wisdom.
Or manually:
Open localhost:7474 — Neo4j Browser is your visual window into the wisdom graph.
| Platform | Install command |
|---|---|
| Claude Code (Linux/Mac) | wisdom install |
| Claude Code MCP | wisdom mcp-install |
| Codex MCP | wisdom mcp-install --host codex |
| Claude Code (Windows) | wisdom install --platform windows |
| OpenClaw | wisdom install --platform claw |
Then open your AI coding assistant and type:
wisdomGraph ships as a native Model Context Protocol (MCP) server. Once registered, Claude, Codex, or another MCP host can call wisdomGraph tools directly — no /wisdom slash command needed.
This writes the MCP server entry to .claude/settings.json in your current project:
Restart Claude Code. wisdomGraph is now live in that project.
This runs the Codex MCP registration:
Start a new Codex session. Codex can now launch wisdom mcp and use the same Neo4j-backed DIKW graph as Claude Code.
| Tool | What agents use it for |
|---|---|
wisdom_ingest | Absorb a file, directory, or URL into Neo4j |
wisdom_remember | Store a fact, decision, or insight explicitly |
wisdom_learn | Record an attempt, outcome, and lesson learned |
wisdom_status | Read DIKW tier counts and edge/source totals |
wisdom_list | List nodes by DIKW tier, project, and connectivity |
wisdom_trace | Trace why an insight or wisdom node exists |
wisdom_explain | Explain a node with its DIKW chain and sources |
wisdom_query | Run a read-only Cypher traversal |
wisdom_reflect | Trigger DIKW promotion pipeline |
wisdom_report | Get tier counts + top Wisdom nodes as markdown |
Session 1:
Claude calls
wisdom_rememberwith label "DozerDB ignores NEO4J_AUTH if data dir exists", tier experience.
Session 2 (days later, fresh terminal):
You ask "how do I reset DozerDB credentials?" Claude calls
wisdom_query→ finds the Experience node → answers from your own history.
The graph remembered. Claude didn't forget.
Run 1 — absorb your auth library:
Run 2 — absorb a different project's auth:
Run 3 — /wisdom reflect:
Run 4 — /wisdom ask "how should I handle auth in this new service?":
This is not RAG. This is not summarization. This is the graph traversing your accumulated experience to return your own wisdom back to you.
Confidence flows through the graph. An Insight grounded in 8 Experiences has higher pattern_strength than one from 2. Wisdom nodes track reinforcement_count — how many traversals confirmed the principle.
Cross-project god nodes — concepts central across all your projects and corpora, not just one repo.
Contradiction detection — two Insights pointing in opposite directions surface as CONTRADICTS edges. The graph shows the conflict; you resolve it into better Wisdom.
Temporal decay — nodes carry timestamps. Old Knowledge not reinforced by recent Experience gets flagged. The graph ages gracefully, like expert memory.
Full provenance chain — every node links back to its Source. /wisdom explain "node" returns the full DIKW path: fact → context → pattern → principle.
The "why" chain — not just what but why it matters, extracted from docstrings, # NOTE: comments, design rationale in docs, and the DIKW promotion reasoning.
| Aura Free | DozerDB Local | |
|---|---|---|
| Setup | 3 clicks + URI | 1 docker command |
| Cost | Free (200K nodes) | Free forever |
| APOC | Available | Included |
| Data location | Neo4j cloud | Your machine |
| Visual browser | neo4j.com console | localhost:7474 |
| Best for | Quick start, individuals | Teams, air-gap, full control |
wisdomGraph sends file contents to your AI coding assistant's model API for semantic extraction — Anthropic (Claude Code) or whichever provider your platform uses. Code files are processed locally via tree-sitter AST. All graph data lives in your Neo4j instance (Aura or local). No telemetry, no usage tracking, no analytics.
Neo4j (Aura or DozerDB) + tree-sitter + APOC. Semantic extraction via Claude (Claude Code) or your platform's model. The graph database is the intelligence layer — traversal, path-finding, and community detection run natively in Cypher via Neo4j GDS (Graph Data Science library). MCP integration via the Model Context Protocol Python SDK.
Worked examples are the highest-trust contribution. Run /wisdom on a real multi-project corpus, let it reflect a few times, document what Wisdom nodes emerged and whether they match your intuition. Submit to worked/{slug}/.
Schema proposals — have a relationship type that captures something the current schema misses? Open an issue with the Cypher pattern and a worked example.
DIKW promotion heuristics — better prompts or rules for when to promote Knowledge → Experience → Insight → Wisdom. The promotion logic is the heart of the system.
See ARCHITECTURE.md for the full pipeline design, Cypher schemas, and how to extend the tiers.