loading…
Search for a command to run...
loading…
An MCP server that structures AI reasoning as directed acyclic graphs of semantic thoughts, enabling explicit dependencies, assumption tracking, and cascade inv
An MCP server that structures AI reasoning as directed acyclic graphs of semantic thoughts, enabling explicit dependencies, assumption tracking, and cascade invalidation for transparent decision-making.
npm version License: MIT TypeScript MCP Compatible
A Model Context Protocol (MCP) server that transforms linear AI reasoning into structured, auditable thought graphs. DRE enables Language Models to externalize their reasoning process as a directed acyclic graph (DAG) with semantic thought types, dependencies, and validation.
npm install -g deliberate-reasoning-engine
git clone https://github.com/haasonsaas/deliberate-reasoning-engine.git
cd deliberate-reasoning-engine
npm install
npm run build
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"dre": {
"command": "npx",
"args": ["deliberate-reasoning-engine"]
}
}
}
Or use the local development version:
{
"mcpServers": {
"dre": {
"command": "node",
"args": ["/absolute/path/to/dre/dist/index.js"]
}
}
}
Restart Claude Desktop, and you'll see the DRE tools available in the 🔧 menu.
log_thoughtLog a structured thought with semantic type and dependencies.
Parameters:
thought (string, required): The content of the thoughtthought_type (enum, required): One of:objective: The overall goal of the reasoning taskhypothesis: A proposed explanation or solutionassumption: A belief taken as true for this reasoning linequestion: A point of uncertainty to resolvesub_problem: Decomposition of a larger problemevidence: Data from tools or prior knowledgeaction: A plan to use a toolsynthesis: A conclusion from previous thoughtscritique: Self-correction or flaw identificationdependencies (string[], optional): IDs of thoughts this depends onconfidence (number 0-1, optional): Confidence levelaction_request (object, optional): Tool and parameters to executeget_thought_graphRetrieve the current reasoning graph.
Parameters:
format (enum, optional): "full" or "summary" (default: "summary")invalidate_assumptionMark an assumption as invalid, cascading to all dependent thoughts.
Parameters:
thought_id (string, required): ID of the assumption to invalidatereason (string, required): Explanation for invalidationHere's how an LLM might use DRE to analyze a complex decision:
// 1. Set the objective
const objective = await use_mcp_tool("dre", "log_thought", {
thought: "Should we acquire Company X?",
thought_type: "objective"
});
// 2. Form hypotheses
const hyp1 = await use_mcp_tool("dre", "log_thought", {
thought: "Acquiring Company X will increase our market share by 20%",
thought_type: "hypothesis",
dependencies: [objective.thought_id],
confidence: 0.7
});
// 3. Identify assumptions
const assumption = await use_mcp_tool("dre", "log_thought", {
thought: "Company X's technology is compatible with our stack",
thought_type: "assumption",
dependencies: [hyp1.thought_id],
confidence: 0.8
});
// 4. Break down into sub-problems
const subproblem = await use_mcp_tool("dre", "log_thought", {
thought: "Verify technical compatibility through due diligence",
thought_type: "sub_problem",
dependencies: [assumption.thought_id]
});
// 5. If assumption proves false, invalidate it
await use_mcp_tool("dre", "invalidate_assumption", {
thought_id: assumption.thought_id,
reason: "Technical audit revealed major incompatibilities"
});
// This automatically marks the sub-problem and any dependent thoughts as stale
DRE models reasoning as a directed acyclic graph where:
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run dev
# Run tests
npm test
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
"Server not found" in Claude Desktop
"Cannot find module" errors
npm install and npm run buildMIT - see LICENSE for details.
Run in your terminal:
claude mcp add deliberate-reasoning-engine -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.