Give Claude direct access to your decision graph. 31 tools for searching, tracing, and analyzing decisions. Works with Claude Code and Claude Desktop.
{
"mcpServers": {
"deciduous": {
"command": "/Users/you/.cargo/bin/deciduous",
"args": ["mcp"],
"env": {
"DECIDUOUS_DB_PATH": "/path/to/your/project/.deciduous/deciduous.db"
}
}
}
}
Use the absolute path to the deciduous binary (run which deciduous to find it) — Claude Desktop doesn't inherit your shell PATH. Point DECIDUOUS_DB_PATH at the SQLite database in your project's .deciduous/ directory, then restart Claude Desktop.
Also available: /query slash command wraps MCP tools into a natural language interface.
In Claude Code, /query uses MCP tools to answer questions about your decisions:
| Option | Confidence | Verdict | Rationale |
|---|---|---|---|
| #1358 Embedded server | 90% | Chosen | Single binary, pure functions, testable |
| #1359 CLI wrapper | 40% | Rejected | Process spawn per call, fragile text parsing |
| #1360 Separate crate | 50% | Rejected | Unnecessary build complexity |
Real output from deciduous's own graph (1,300+ nodes from building this tool):
BFS traversal from any node. Shows the full connected decision tree with depth:
Get a decision's full neighborhood — what options led to it, what actions came from it:
Health check — stats, active goals, and what needs attention:
Each conversation gets its own scoped decision tree. Nodes auto-associate.
Sessions persist to .deciduous/active_session. Server restarts auto-resume. Long pauses use resume_session.
Every conversation with Claude gets its own decision tree. When a session starts, a root goal node is created. Every node you add during that conversation is automatically associated with that session — no manual bookkeeping. When the conversation ends, an optional summary captures what was accomplished.
The result: each conversation produces a self-contained, queryable record of what was discussed, decided, and built.
start_session creates a root goal node and returns a session IDadd_node calls auto-associate with the active sessionend_session marks the session complete with an optional summaryPick up where you left off. Use list_sessions to find previous conversations, then resume_session to reconnect. New nodes will continue building on the same decision tree.
The active session ID is written to .deciduous/active_session on disk. When the MCP server starts (or restarts — Claude Desktop and Claude Code may kill and re-spawn the server process), it reads this file and automatically resumes the active session. No manual intervention needed.
If the session was already ended, the stale file is cleaned up automatically.
Claude Desktop users get a persistent decision graph across every conversation. The MCP config points DECIDUOUS_DB_PATH at a single .deciduous/deciduous.db file. Every conversation — whether it runs for five minutes or five hours — writes to the same database.
This means you can ask Claude in a new conversation about decisions made in previous ones. The graph is the memory layer that outlasts any single chat.
Conversation 1 (Jan) --> .deciduous/deciduous.db <-- Session #1 (14 nodes)
Conversation 2 (Feb) --> .deciduous/deciduous.db <-- Session #2 (8 nodes)
Conversation 3 (Mar) --> .deciduous/deciduous.db <-- Session #3 (11 nodes)
New conversation:
"Why did we choose Auth0 over Okta?"
--> search_nodes({ query: "Auth0" })
--> trace_chain({ node_id: 43 })
--> Full decision history from Session #3
The database is the single source of truth. Sessions organize it by conversation. Search and trace work across all of them.
All 31 tools with parameters, types, and CLI equivalents.