Transforms linear AI reasoning into structured, auditable thought graphs, enabling language models to externalize their reasoning process as a directed acyclic graph (DAG).
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_thought
Log 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_graph
Retrieve the current reasoning graph.
Parameters:
format
(enum, optional): "full"
or "summary"
(default: "summary"
)invalidate_assumption
Mark 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 build
MIT - see LICENSE for details.
Interact with Alchemy's blockchain APIs to query data without writing code.
Parses HAR (HTTP Archive) files and displays requests in a simplified format for AI assistants.
Run Postman collections using Newman, with support for environment and global variables.
A server for interacting with the Futarchy protocol on the Solana blockchain.
A Next.js template for building MCP servers with OAuth 2.1 authentication, supporting PostgreSQL and Redis.
AI-powered audio generation using the MiniMax Music API.
A goal-agnostic parallel orchestration framework implementing Infinite Agentic Loop patterns as a Model Context Protocol (MCP) server.
A demonstration tool showcasing potential security attack vectors against the Model Control Protocol (MCP).
An MCP server that allows AI assistants to interact with Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA) infrastructure.
Perform accessibility audits on webpages using the axe-core engine to identify and help fix a11y issues.