Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Setup

The Model Context Protocol (MCP) is an open standard that lets AI assistants call tools hosted by external servers. Deciduous ships with a built-in MCP server that exposes 31 tools for reading, writing, and analyzing your decision graph. When connected, Claude can search decisions, trace chains, and log new nodes directly – no copy-pasting CLI output.

Claude Code

One command, project-level config:

Setting up MCP for Claude Code
You
$ deciduous mcp setup claude-code

MCP configured for Claude Code!
Updated /Users/you/project/.claude/settings.local.json

Added mcpServers.deciduous entry.
Claude Code will automatically discover and use the MCP server.

That’s it. Restart Claude Code and the tools appear as mcp__deciduous__*. The command writes to .claude/settings.local.json in your project directory, which is gitignored by default – each developer gets their own config.

Claude Desktop

Claude Desktop needs absolute paths because it doesn’t inherit your shell PATH:

Setting up MCP for Claude Desktop
You
$ deciduous mcp setup claude-desktop

MCP configured for Claude Desktop!
Config file ~/Library/Application Support/Claude/claude_desktop_config.json
Binary /Users/you/.cargo/bin/deciduous
Database /Users/you/project/.deciduous/deciduous.db

Restart Claude Desktop to pick up the new configuration.

The command auto-detects your binary path and the .deciduous/deciduous.db location in the current directory. It writes to the platform-specific Claude Desktop config file:

PlatformConfig path
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json

If other MCP servers are already configured, deciduous merges its entry without disturbing them. You must restart Claude Desktop after running this command.

Manual Setup

If you prefer to inspect the config before writing it, use --print:

Printing MCP config JSON
You
$ deciduous mcp setup --print
{ "mcpServers": { "deciduous": { "command": "/Users/you/.cargo/bin/deciduous", "args": ["mcp", "serve"], "env": { "DECIDUOUS_DB_PATH": "/Users/you/project/.deciduous/deciduous.db" } } } }

Copy the relevant parts into your config file manually.

User-Level vs Project-Level Config

Claude CodeClaude Desktop
Config location.claude/settings.local.json (project)Platform config directory (user)
ScopeOne projectAll conversations
DB pathAuto-detected from cwdSet via DECIDUOUS_DB_PATH env var
Binary pathUses PATH lookup (deciduous)Absolute path (e.g., /Users/you/.cargo/bin/deciduous)
Git tracking.claude/settings.local.json is gitignoredN/A

Claude Code uses project-level config. Each project has its own .deciduous/deciduous.db, and the MCP server automatically finds it from the working directory.

Claude Desktop uses user-level config. You point DECIDUOUS_DB_PATH at a specific database file, and every conversation in Claude Desktop reads and writes to that same database. This is the foundation of the Master Memory pattern.

Generated Config

For Claude Code, the generated JSON is minimal – no absolute paths needed:

{
  "mcpServers": {
    "deciduous": {
      "command": "deciduous",
      "args": ["mcp", "serve"]
    }
  }
}

For Claude Desktop, absolute paths and the database env var are included:

{
  "mcpServers": {
    "deciduous": {
      "command": "/Users/you/.cargo/bin/deciduous",
      "args": ["mcp", "serve"],
      "env": {
        "DECIDUOUS_DB_PATH": "/Users/you/project/.deciduous/deciduous.db"
      }
    }
  }
}

Troubleshooting

Binary not found

Claude Desktop does not inherit your shell PATH. If you see errors about the command not being found, verify the absolute path:

which deciduous
# /Users/you/.cargo/bin/deciduous

Use that full path in the config’s command field.

Database not found

If deciduous mcp setup claude-desktop warns that .deciduous/deciduous.db was not found, run deciduous init in your project directory first. The MCP server will create the database on first use if it doesn’t exist, but init also sets up Claude integration files.

DECIDUOUS_DB_PATH

The DECIDUOUS_DB_PATH environment variable tells the MCP server which SQLite database to use. This is only needed for Claude Desktop (where there is no working directory context). Claude Code runs in your project directory and finds the database automatically.

You can override it to point at any database:

"env": {
  "DECIDUOUS_DB_PATH": "/Users/you/other-project/.deciduous/deciduous.db"
}

Server not connecting

  1. Verify the binary path exists and is executable
  2. Test the server manually: deciduous mcp serve (it reads JSON-RPC from stdin)
  3. Check that deciduous init has been run in the target project
  4. Restart Claude Desktop / Claude Code after config changes