Skip to main content
Glama

deep-thinker

CI npm version npm downloads license GitHub stars

Advanced cognitive thinking MCP server with DAG-based thought graph, 10 reasoning strategies (including auto-selection), 17 tools, node aliases, session persistence, structured responses, and intelligent error handling.

A significant evolution beyond sequential-thinking MCP, providing structured deep reasoning with graph-based thought management, schema validation, and intelligent strategy selection.

Quick Start

npx deep-thinker
{
  "mcpServers": {
    "deep-thinker": {
      "command": "npx",
      "args": ["-y", "deep-thinker"]
    }
  }
}

Related MCP server: Advanced Reasoning MCP Server

Examples

Example

Strategy

Use Case

Architecture Decision

Dialectic + Parallel

Monolith vs microservices

Debugging Incident

Abductive

Production 500 errors

Feature Prioritization

Parallel + Dialectic

Q3 roadmap planning

Scientific Hypothesis

Analogical + Abductive

LNP delivery for CRISPR

Breaking Dead Ends

Metacognitive switch

Serverless cost analysis

Features

  • DAG-Based Thought Graph — Thoughts form a directed acyclic graph with branching, merging, and cross-edges (not just a linear chain)

  • 10 Reasoning Strategies — Sequential, Dialectic (thesis→antithesis→synthesis), Parallel, Analogical, Abductive, First Principles (deconstruct to fundamentals), Counterfactual (what-if with ripple effects), Systems Thinking (feedback loops & leverage points), MCTS (Monte Carlo optimization), Auto (intelligent auto-selection based on content and graph state)

  • Node Aliases — Use "last", "best", "root" instead of cryptic node IDs for any nodeId parameter

  • Structured Responses — All tool responses return consistent MCPResponse JSON with status, summary, confidence, nextSuggested action

  • Session Persistence — Auto-saves thought graph to ~/.deep-thinker/sessions/; resume across MCP restarts with reset({ resume: "name" })

  • Friendly Error Messages — Zod validation errors translated to human-readable hints (e.g., "confidence 0 ile 1 arasında...")

  • Confidence Scoring — Multi-factor confidence evaluation with support/contradiction analysis, depth penalties, and knowledge integration boosts

  • Self-Critique — Automatic critique generation with severity levels and confidence adjustments

  • Metacognitive Engine — Detects stuck states, stagnation, declining confidence; suggests strategy switches and corrective actions

  • Knowledge Integration — Attach external knowledge to thoughts, detect gaps, validate consistency across sources

  • Thought Pruning — Dead-end detection, redundancy removal, deep unproductive branch elimination, path optimization

  • help Tool — Discover all 17 tools grouped by category (core/advanced/workflow) with quick-start examples

  • conclude Tool — Comprehensive graph summary with primaryFinding, actionItems, graphHealth, and nextSuggested

  • High-IQ Reasoning Enhancements — 8 advanced tools: visualization, devil's advocate, cross-disciplinary synthesis, temporal projection, ethical evaluation, emotional intelligence analysis, decision explanation, social impact analysis

  • Emotional Intelligence — Analyze emotional tone, empathy, persuasion effectiveness, stakeholder emotions

  • Ethical Frameworks — Evaluate through deontological, consequentialist, virtue ethics, rights-based perspectives

  • Cross-Domain Synthesis — Combine insights from biology, economics, physics, psychology, computer science, art

  • Temporal Reasoning — Project thoughts into future/past scenarios with optimistic, pessimistic, realistic, disruptive scenarios

  • Social Impact Modeling — Analyze stakeholder emotions, group cohesion, persuasion effectiveness, ethical alignment

  • Uncertainty Quantification — Confidence intervals, probability distributions, sensitivity analysis for robust decisions

  • Multi-Language Support — Thoughts in English, Turkish, German, French, Spanish, Japanese, Chinese, Russian

  • Meta-Cognitive Layers — Recursive reasoning across 5 levels of meta-cognition

  • PromptOptimizer (Node Zero) — Entry point that transforms vague prompts into optimized Super Prompts with automatic strategy routing

Installation

Global

npm install -g deep-thinker

npx (no install)

npx deep-thinker

MCP Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "deep-thinker": {
      "command": "npx",
      "args": ["-y", "deep-thinker"]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "deep-thinker": {
      "command": "deep-thinker"
    }
  }
}

Other MCP Clients

The server communicates over stdio. Point your MCP client to the deep-thinker command or node path/to/dist/index.js.

Response Format

All tool responses follow the MCPResponse structure:

{
  "status": "ok | error | warning",
  "nodeId": "thought_3",
  "summary": "sequential stratejisiyle \"Should we use microservices?...\" eklendi",
  "confidence": 0.75,
  "data": { "...": "tool-specific data" },
  "nextSuggested": {
    "tool": "evaluate",
    "params": { "critique": true },
    "reason": "Düşük confidence — değerlendirme önerilir"
  },
  "warnings": ["Stuck detected: ..."]
}

The nextSuggested field always recommends the next logical step, making it easy to chain tool calls without guessing.

Node Aliases

Instead of looking up cryptic node IDs, use aliases for any nodeId, parentId, or targetId parameter:

Alias

Resolves To

"last"

Most recently added node (insertion order)

"best"

Node with highest confidence score

"root"

First node with no incoming edges

evaluate({ nodeId: "last" })                              → evaluates the latest thought
simulate_devils_advocate({ nodeId: "best", depth: 2 })    → challenges the strongest thought
graph({ action: "path", nodeId: "root", targetId: "best" }) → traces from root to best conclusion

Session Persistence

Thought graphs are automatically saved after every think call. Sessions are stored in ~/.deep-thinker/sessions/.

// Save current session explicitly
reset({ save: true, saveName: "my-analysis" })

// List saved sessions
reset({ listSessions: true })

// Resume a saved session after MCP restart
reset({ resume: "my-analysis" })

Tools

Core Tools

think

Add a thought to the cognitive graph using a reasoning strategy.

Parameters:

Parameter

Type

Required

Description

content

string

Yes

The thought content

type

string

No

Thought type: hypothesis, analysis, evidence, conclusion, question, assumption, insight, critique, synthesis, observation

strategy

string

No

Strategy: sequential, dialectic, parallel, analogical, abductive, first_principles, counterfactual, systems_thinking, mcts, auto

confidence

number

No

Initial confidence 0-1 (default: 0.5)

parentId

string

No

Parent node ID or alias (default: last leaf)

branch

string

No

Branch name for parallel exploration

tags

string[]

No

Tags for categorization

edgeTo

object

No

Explicit edge: { targetId, type }

dialectic

object

No

Dialectic mode: { thesis, antithesis?, synthesis? }

parallel

array

No

Parallel mode: [{ content, type, confidence }]

analogical

object

No

Analogical mode: { sourceDomain, mapping, projectedConclusion }

abductive

object

No

Abductive mode: { observation, explanations[], bestExplanation? }

firstPrinciples

object

No

First Principles mode: { problem, assumptions?, depth?, domain? }

counterfactual

object

No

Counterfactual mode: { currentState?, variablesToChange, rippleDepth? }

systemsThinking

object

No

Systems Thinking mode: { systemDescription?, components, focusArea? }

mcts

object

No

MCTS mode: { problem?, possibleActions, numSimulations? }

knowledge

object

No

Attach knowledge: { source, content, relevance }

Strategy details:

Strategy

Description

Best For

Sequential

Linear chain: each thought derives from the previous

Step-by-step reasoning

Dialectic

Thesis → Antithesis → Synthesis pattern to resolve contradictions

Resolving conflicts

Parallel

Explore multiple independent branches simultaneously

Brainstorming options

Analogical

Map patterns from a known domain to the current problem

Cross-domain insights

Abductive

Generate hypotheses and infer the best explanation

Root cause analysis

First Principles

Deconstruct to fundamental truths, challenge assumptions

Breaking conventions

Counterfactual

"What-if" scenarios with multi-stage ripple effects

Risk/impact analysis

Systems Thinking

Feedback loops, leverage points, emergent properties

Complex systems

MCTS

Monte Carlo Tree Search for optimal decision selection

Optimization problems

Auto

Automatically selects strategy based on content signals and graph context

Hands-off reasoning

How auto strategy works:

The auto strategy analyzes your content for keywords and the current graph state:

  • Content with "why"/"neden"/"how"/"nasıl" → abductive

  • Content with "if"/"eğer"/"what if"/"varsayalım" → counterfactual

  • Content with "vs"/"veya"/"compare"/"karşılaştır" → dialectic

  • Content with "system"/"sistem"/"loop"/"döngü" → systems_thinking

  • Content with "fundamental"/"temel"/"assumption"/"varsayım" → first_principles

  • Low avg confidence + many nodes → parallel (break through impasse)

  • First thought → sequential

  • After 4+ sequential thoughts → dialectic (introduce opposing view)

  • Default → sequential

Edge types: derives_from, contradicts, supports, refines, challenges, synthesizes, parallels, abstracts, instantiates

evaluate

Evaluate the thinking process with confidence scoring, critique, and graph health analysis.

Parameters:

Parameter

Type

Required

Description

nodeId

string

No

Specific node to evaluate (accepts aliases: last, best, root)

critique

boolean

No

Generate self-critique (default: true)

findGaps

boolean

No

Find knowledge gaps (default: false)

validateKnowledge

boolean

No

Validate knowledge consistency (default: false)

metacog

Metacognitive operations — monitor and control the thinking process.

Parameters:

Parameter

Type

Required

Description

action

string

Yes

report = full state, switch = change strategy, auto_update = let system analyze

strategy

string

No

New strategy (for switch action)

reason

string

No

Reason for switching (for switch action)

The metacognitive engine automatically:

  • Detects stagnation (confidence not improving)

  • Detects declining confidence trends

  • Detects excessive contradictions

  • Suggests strategy switches, pruning, backtracking, or concluding

graph

Query and visualize the thought graph.

Parameters:

Parameter

Type

Required

Description

action

string

Yes

visualize, stats, path, node, branches, best_path, leaves

nodeId

string

No

Node ID or alias (for path, node actions)

targetId

string

No

Target ID or alias (for path action)

prune

Prune and optimize the thought graph.

Parameters:

Parameter

Type

Required

Description

action

string

Yes

analyze (report only), prune (execute), optimize_path, prune_node

nodeId

string

No

Node to prune — accepts aliases (for prune_node)

reason

string

No

Reason (for prune_node)

reset

Reset the thought graph and start a fresh session, save, or resume a saved session.

Parameters:

Parameter

Type

Required

Description

problem

string

No

New problem statement

save

boolean

No

Save current session before resetting (default: false)

saveName

string

No

Name for saved session (recommended if save: true)

resume

string

No

Resume a previously saved session by name

listSessions

boolean

No

List all saved sessions

conclude

Analyze the entire thought graph and produce a comprehensive summary-conclusion with action items and graph health report.

Parameters:

Parameter

Type

Required

Description

detailLevel

string

No

brief, detailed, technical (default: detailed)

includeCounterfactuals

boolean

No

Include counterfactual analysis (default: false)

format

string

No

prose, structured, executive (default: structured)

Response includes:

  • primaryFinding — Top conclusion with confidence

  • supportingEvidence — Additional high-confidence nodes

  • strategiesUsed — Which strategies contributed

  • keyInsights — Insight-type nodes from the best path

  • actionItems — Prioritized actions derived from conclusions

  • graphHealth — Node count, dead ends, avg confidence, recommendation

  • nextSuggested — Logical next step (prune if unhealthy, save if done)

help

Discover deep-thinker tools and learn usage workflows.

Parameters:

Parameter

Type

Required

Description

category

string

No

all, core, advanced, workflow (default: all)

Categories:

  • core — 7 daily-use tools (think, evaluate, metacog, graph, prune, reset, conclude)

  • advanced — 8 deep-analysis tools (visualization, devil's advocate, cross-disciplinary, temporal, ethical, emotional, explanation, social impact, prompt optimizer)

  • workflow — 3 recommended workflows:

    • Quick Decision — reset → think parallel → evaluate → conclude

    • Deep Analysis — reset → first_principles → counterfactual → devil's advocate → evaluate → metacog → prune → conclude

    • Breaking Dead Ends — metacog report → switch strategy → cross-disciplinary → abductive

Enhanced Tools (High-IQ Reasoning)

visualize_thought_graph

Generate visual representation of the thought graph as SVG or ASCII.

Parameters:

Parameter

Type

Required

Description

format

string

No

svg, ascii, or tree (default: ascii)

highlightPath

string

No

Path between two node IDs (format: fromId-toId)

showConfidence

boolean

No

Show confidence scores (default: true)

simulate_devils_advocate

Generate counterarguments and opposing viewpoints for a given thought.

Parameters:

Parameter

Type

Required

Description

nodeId

string

Yes

Target node ID or alias (last, best, root)

depth

number

No

Levels of counterarguments (1-5, default: 2)

intensity

string

No

mild, moderate, or aggressive (default: moderate)

cross_disciplinary_synthesis

Combine insights from multiple domains to generate novel perspectives.

Parameters:

Parameter

Type

Required

Description

sourceDomains

string[]

Yes

Domains to draw analogies from (e.g., ["biology", "economics", "art"])

targetProblem

string

Yes

Problem to apply cross-domain insights to

maxAnalogies

number

No

Max analogies to generate (1-10, default: 3)

temporal_projection

Project thoughts into future or past scenarios.

Parameters:

Parameter

Type

Required

Description

nodeId

string

Yes

Root node ID or alias

years

number

Yes

Years forward (positive) or backward (negative)

scenario

string

No

optimistic, pessimistic, realistic, disruptive (default: realistic)

ethical_framework_evaluation

Evaluate a thought or decision through multiple ethical frameworks.

Parameters:

Parameter

Type

Required

Description

nodeId

string

Yes

Node ID or alias

frameworks

string[]

No

Which frameworks: deontological, consequentialist, virtue, rights_based (default: all)

emotional_intelligence_analysis

Analyze emotional tone, stakeholder emotions, and social dynamics.

Parameters:

Parameter

Type

Required

Description

text

string

Yes

Text to analyze for emotional content

context

string

No

Context (e.g., team meeting, customer feedback, crisis situation)

perspectiveTaking

number

No

Level of perspective-taking 0-1 (default: 0.7)

explain_decision

Generate human-understandable explanation of a decision path.

Parameters:

Parameter

Type

Required

Description

nodeId

string

Yes

Decision/conclusion node ID or alias

detailLevel

string

No

simple, detailed, technical (default: detailed)

includeCounterfactuals

boolean

No

Show what-if scenarios (default: true)

social_impact_analysis

Analyze social impact, stakeholder emotions, group cohesion, and persuasion effectiveness.

Parameters:

Parameter

Type

Required

Description

nodeId

string

Yes

Node ID or alias

stakeholders

string[]

No

Stakeholder groups (default: ["customers", "employees", "investors", "community"])

optimize_prompt

PromptOptimizer (Node Zero) — transform vague prompts into optimized Super Prompts with strategy routing.

Parameters:

Parameter

Type

Required

Description

originalPrompt

string

Yes

User's raw, potentially vague prompt

userContext

object

No

{ expertiseLevel, domainKnowledge[], preferences }

conversationHistory

array

No

Previous messages for context (max 20)

optimizationLevel

string

No

light, standard, aggressive (default: standard)

targetModel

string

No

claude, gpt4, gpt35, local, generic (default: generic)

autoRoute

boolean

No

Auto-route to recommended strategy (default: false)

Usage Examples

Auto Strategy Selection (New!)

think: { content: "Eğer mikroservis kullansaydık ne olurdu?" }
→ Auto-selects strategy: counterfactual (detected "Eğer" = "if" signal)

think: { content: "Why is the server crashing?" }
→ Auto-selects strategy: abductive (detected "why" signal)

think: { content: "Monolith vs microservices?" }
→ Auto-selects strategy: dialectic (detected "vs" comparison signal)

Sequential Reasoning

think: "Should we use microservices?" → type: question, confidence: 0.9
think: "Monolith has deployment bottlenecks" → type: analysis, confidence: 0.7
think: "Team lacks DevOps capacity for microservices" → type: evidence, confidence: 0.8
evaluate: { nodeId: "last", critique: true }
→ { status: "ok", confidence: 0.73, nextSuggested: { tool: "metacog" } }

Dialectic Reasoning

think: {
  strategy: "dialectic",
  dialectic: {
    thesis: "Microservices improve scalability",
    antithesis: "But add operational complexity",
    synthesis: "Use modular monolith as middle ground"
  },
  confidence: 0.75
}

Using Node Aliases

evaluate({ nodeId: "last" })                              → evaluate latest thought
simulate_devils_advocate({ nodeId: "best", depth: 3 })    → challenge strongest thought
graph({ action: "path", nodeId: "root", targetId: "best" }) → trace reasoning path
think({ parentId: "root", content: "Alternative..." })    → branch from root

Session Save & Resume

// Work on a problem...
think({ content: "Analysis...", strategy: "auto" })
think({ content: "Another insight..." })

// Save before closing
reset({ save: true, saveName: "architecture-review" })

// ... MCP restarts ...

// Resume exactly where you left off
reset({ resume: "architecture-review" })
→ { status: "ok", summary: "architecture-review oturumu geri yüklendi — 5 node ile devam ediliyor" }

First Principles Reasoning

think: {
  strategy: "first_principles",
  firstPrinciples: {
    problem: "How to improve battery efficiency?",
    assumptions: ["Batteries must use lithium", "Charging takes hours"],
    depth: 3,
    domain: "physics"
  }
}
→ Creates: Problem → Assumptions Challenged → Fundamental Truths → Reconstructed Solution

Counterfactual (What-If) Analysis

think: {
  strategy: "counterfactual",
  counterfactual: {
    currentState: "Office-based work with 5-day commute",
    variablesToChange: [
      { variable: "work_location", currentValue: "office", hypotheticalValue: "remote", impactWeight: 0.9 },
      { variable: "commute_days", currentValue: 5, hypotheticalValue: 0, impactWeight: 0.8 }
    ],
    timeHorizon: "medium_term",
    rippleDepth: 3
  }
}
→ Creates: Baseline → Variable Changes → Stage 1/2/3 Ripple Effects → Scenarios → Risk Analysis

Systems Thinking

think: {
  strategy: "systems_thinking",
  systemsThinking: {
    systemDescription: "Software development team dynamics",
    components: [
      { name: "FeatureBacklog", type: "stock", description: "Pending work" },
      { name: "DeveloperCapacity", type: "stock", description: "Available developers" },
      { name: "CodeReviews", type: "flow", description: "Review process" },
      { name: "Quality", type: "converter", description: "Quality gates" }
    ],
    focusArea: "feedback_loops"
  }
}
→ Creates: System Overview → Components → Feedback Loops → Leverage Points → Recommendations
think: {
  strategy: "mcts",
  mcts: {
    problem: "Which architecture pattern to choose?",
    possibleActions: [
      { id: "microservices", description: "Microservices architecture", estimatedReward: 0.7 },
      { id: "monolith", description: "Monolithic architecture", estimatedReward: 0.5 },
      { id: "modular", description: "Modular monolith", estimatedReward: 0.8 }
    ],
    numSimulations: 100,
    pruningThreshold: 0.2
  }
}
→ Creates: Root → Actions → Simulations → Pruning Analysis → Optimal Path

Conclude Analysis

conclude({ detailLevel: "detailed" })
→ {
  status: "ok",
  summary: "12 dusunce, 3 dal, sequential+counterfactual stratejileriyle analiz tamamlandi",
  data: {
    conclusion: { primaryFinding: "...", confidence: 0.85 },
    actionItems: [{ action: "Investigate...", priority: "high" }, ...],
    graphHealth: { totalThoughts: 12, avgConfidence: 0.72, recommendation: "Graf saglikli gorunuyor" }
  },
  nextSuggested: { tool: "reset", params: { save: true }, reason: "Analizi kaydetmeyi unutmayin" }
}

Metacognitive Guidance

metacog: { action: "auto_update" }
→ Stuck detected + suggested action in nextSuggested

metacog: { action: "switch", strategy: "parallel", reason: "Break through impasse" }
→ Strategy switched + next step recommended

Pruning

prune: { action: "analyze" }
→ Dead Ends, Redundant Branches, Total prunable count

prune: { action: "prune" }
→ Nodes pruned + metacog updated + nextSuggested

Getting Help

help()                    → all tools, all categories, all workflows
help({ category: "core" })     → 7 core tools with quick-start examples
help({ category: "advanced" }) → 9 advanced tools
help({ category: "workflow" }) → 3 recommended workflows

Friendly Error Messages

When validation fails, you get human-readable errors instead of raw Zod output:

think({ confidence: 1.5 })
→ {
  status: "error",
  error: "VALIDATION_ERROR",
  message: "\"confidence\" parametresinde hata: ...",
  field: "confidence",
  hint: "confidence 0 ile 1 arasında bir sayı olmalı. Örnek: confidence: 0.7"
}

evaluate({ nodeId: "nonexistent" })
→ {
  status: "error",
  error: "NODE_NOT_FOUND",
  provided: "nonexistent",
  hint: "Geçerli alias'lar: \"last\", \"best\", \"root\" veya graph aracıyla node ID alın"
}

Architecture

src/
├── index.ts                         MCP server & 17 tool handlers
├── test.ts                          Core functionality tests (118 tests)
├── test_enhanced_strategies.ts      Strategy tests (13 tests)
├── core/
│   ├── types.ts                     Type definitions, MCPResponse, NextAction
│   ├── schemas.ts                   Zod validation schemas (10 strategies incl. auto)
│   ├── node.ts                      ThoughtNode CRUD operations
│   ├── graph.ts                     DAG-based thought graph + resolveNodeId + aliases
│   ├── strategies.ts               10 reasoning strategies + selectStrategy (auto)
│   ├── scorer.ts                    Confidence scoring & self-critique
│   ├── metacog.ts                   Metacognitive engine with smart triggers
│   ├── knowledge.ts                 Knowledge integration & validation
│   ├── pruner.ts                    Dead-end/redundancy detection & pruning
│   ├── session.ts                   Session persistence (save/load/resume)
│   └── errors.ts                    Friendly error formatting (Zod + unknown)
└── enhancements/
    ├── visualization.ts            SVG & ASCII graph visualization
    ├── devils_advocate.ts           Counterargument generation
    ├── cross_disciplinary.ts        Cross-domain analogy engine
    ├── temporal_projection.ts       Future/past thought projection
    ├── ethical_evaluation.ts         4 ethical frameworks
    ├── emotional_intelligence.ts    Emotion & sentiment analysis
    ├── explanation.ts               Decision explainability
    └── social_impact.ts             Stakeholder & social impact

What's New in v3.0.0

Feature

Description

Node Aliases

Use "last", "best", "root" instead of node IDs for all nodeId params

MCPResponse

Structured JSON responses with status, summary, confidence, nextSuggested

Session Persistence

Auto-save to ~/.deep-thinker/sessions/, resume across restarts

Friendly Errors

Zod errors → human-readable hints with field-specific guidance

help Tool

3-category tool discovery with workflow examples

conclude Tool

Graph summary with primaryFinding, actionItems, graphHealth

strategy: auto

Automatic strategy selection based on content keywords + graph state

Comparison with sequential-thinking

Feature

sequential-thinking

deep-thinker

Thought structure

Linear chain

DAG (branch/merge/cross-edges)

Strategies

Sequential only

10 strategies (incl. auto-selection)

Schema Validation

None

Zod schemas for all strategies

Confidence

Basic thought number

Multi-factor scoring with trend analysis

Self-critique

None

Automatic with severity levels

Metacognition

None

Stuck detection, smart strategy triggers, auto-switching

Knowledge

None

External references, gap detection, consistency validation

Pruning

None

Dead-end, redundancy, path optimization

Graph queries

Linear review

Visualization, best path, branch analysis, statistics

Node references

By ID only

Aliases: last, best, root

Response format

Plain text

Structured MCPResponse with nextSuggested

Session persistence

None

Auto-save, save/load/resume

Error messages

Raw errors

Human-readable with hints

Tool discovery

None

help tool with categories & workflows

Conclusion

Manual review

conclude tool with actionItems

Strategy selection

Manual only

auto strategy based on content

Development

git clone https://github.com/hubinoretros/deep-thinker.git
cd deep-thinker
npm install
npm run build
npm start

Testing

npm run build
npm test

131 tests covering all modules: Node, Graph, 10 Strategies (including auto), Scorer, Metacog, Knowledge, Pruner, Integration, Edge Cases, Schema Validation.

Documentation

Contributing

See CONTRIBUTING.md for guidelines. PRs welcome — especially new reasoning strategies and MCP tool ideas.

License

MIT

Available Tools

6 tools
evaluateC

Evaluate the thinking process: score confidence, generate critiques, and assess overall graph health. Provides detailed analysis of weak spots and strong reasoning paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdNoSpecific node ID to evaluate (default: evaluate entire graph)
critiqueNoGenerate self-critique for the specified node (default: true)
findGapsNoFind knowledge gaps in the graph (default: false)
validateKnowledgeNoValidate knowledge consistency across nodes (default: false)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions actions like scoring and generating critiques but lacks details on permissions, side effects (e.g., whether evaluation modifies the graph), rate limits, or output format. For a tool with 4 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence and uses efficient language without redundancy. However, the second sentence ('Provides detailed analysis...') could be integrated more tightly, and it slightly repeats 'evaluate' from the first sentence, preventing a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (evaluating thinking processes with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'graph health' entails, how scores are calculated, or what the output looks like (e.g., structured report vs. simple score). This leaves critical gaps for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 4 parameters with clear descriptions. The description adds no additional meaning about parameters beyond implying evaluation of 'thinking process' and 'graph health', which aligns with the schema but doesn't enhance understanding of parameter usage or interactions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with specific verbs ('score confidence', 'generate critiques', 'assess overall graph health') and identifies the resource ('thinking process'). It distinguishes from potential siblings like 'graph' (which might visualize) or 'think' (which might generate thoughts) by focusing on evaluation. However, it doesn't explicitly contrast with 'metacog' or 'prune', which could have overlapping evaluation aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'metacog' (which might involve meta-cognition) or 'prune' (which might remove weak nodes). It implies usage for analyzing thinking processes but doesn't specify contexts, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

graphC

Query and visualize the thought graph. View the DAG structure, find paths, inspect branches, and get statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesvisualize=tree view, stats=graph statistics, path=path between nodes, node=inspect specific node, branches=list branches, best_path=optimal reasoning path, leaves=leaf nodes
nodeIdNoNode ID (for path/node actions)
targetIdNoTarget node ID (for path action)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions querying and visualizing but doesn't address critical traits like whether it's read-only or mutative, authentication needs, rate limits, or output format. For a tool with multiple actions and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two concise sentences that front-load the core purpose. Each phrase ('Query and visualize the thought graph', 'View the DAG structure...') earns its place by outlining functionality without redundancy. Minor improvements could include more structured formatting, but it's efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple actions, 3 parameters) and lack of annotations or output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral constraints needed for effective use. The description should compensate for missing structured data but falls short, leaving gaps in contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing good documentation for all parameters. The description adds minimal value beyond the schema by listing general capabilities ('view the DAG structure, find paths, inspect branches, and get statistics') that loosely map to action enum values. This meets the baseline for high schema coverage but doesn't enhance parameter understanding significantly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Query and visualize the thought graph' with specific verbs and resources. It distinguishes from siblings like 'evaluate', 'metacog', 'prune', 'reset', and 'think' by focusing on graph exploration rather than modification or analysis. However, it doesn't explicitly contrast with each sibling tool, keeping it at a 4 instead of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lists capabilities but doesn't specify contexts, prerequisites, or exclusions relative to sibling tools like 'evaluate' or 'metacog'. This lack of comparative guidance leaves the agent without clear decision-making criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metacogA

Metacognitive operations: view the current thinking state, get strategy suggestions, switch strategies, and receive guidance on improving reasoning. The system automatically detects stuck states and recommends actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesreport=full metacognitive state, switch=change strategy, auto_update=let system analyze and update
strategyNoNew strategy (for switch action)
reasonNoReason for switching strategy (for switch action)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It describes key traits: the tool can view states, get suggestions, switch strategies, and receive guidance, with automatic detection of stuck states. However, it lacks details on permissions, rate limits, side effects (e.g., whether switching strategies affects ongoing processes), or response format. The description adds value but is incomplete for a tool with behavioral complexity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, listing core operations in the first sentence and adding context in the second. Every sentence earns its place by explaining functionality and automatic features without redundancy or fluff. It efficiently conveys the tool's scope in two clear sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity (3 parameters, no annotations, no output schema), the description is somewhat complete but has gaps. It covers what the tool does and hints at usage, but lacks details on behavioral traits like side effects or response format. Without an output schema, the description should ideally explain return values, but it doesn't. It's adequate for basic understanding but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters well with enums and descriptions. The description doesn't add specific parameter semantics beyond what's in the schema, but it provides high-level context that aligns with the parameters (e.g., 'switch strategies' relates to the 'action' and 'strategy' parameters). With 3 parameters and full schema coverage, the baseline is 3, but the description's alignment with parameters justifies a slight bump.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs (view, get, switch, receive) and resources (thinking state, strategy suggestions, guidance). It distinguishes metacognitive operations from likely siblings like 'think' or 'evaluate' by focusing on monitoring and adjusting reasoning processes rather than direct thinking or evaluation. However, it doesn't explicitly differentiate from all siblings like 'reset' or 'prune'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'automatically detects stuck states and recommends actions,' suggesting this tool is for overcoming reasoning blocks. However, it doesn't explicitly state when to use this versus alternatives like 'think' for direct reasoning or 'reset' for restarting processes. No clear exclusions or named alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pruneB

Prune and optimize the thought graph. Remove dead ends, consolidate redundant branches, and optimize reasoning paths. Helps maintain graph efficiency during deep reasoning.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesanalyze=report without changes, prune=execute pruning, optimize_path=optimize best path, prune_node=prune specific node
nodeIdNoNode ID to prune (for prune_node action)
reasonNoReason for pruning (for prune_node action)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions actions like 'remove dead ends' and 'consolidate redundant branches,' which imply destructive changes, but doesn't clarify the permanence of these changes, potential side effects, or error handling. For a tool with multiple actions including 'prune' (which suggests deletion), this is a significant gap in transparency about its operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: it starts with the core purpose ('Prune and optimize the thought graph'), lists specific actions, and ends with a usage hint. Both sentences earn their place by clarifying functionality and context, with no redundant or vague phrasing. A slight deduction because the second sentence could be more tightly integrated, but overall it's efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple actions including potentially destructive ones like 'prune'), no annotations, and no output schema, the description is incomplete. It doesn't cover what the tool returns (e.g., success status, optimized graph details), error conditions, or detailed behavioral traits. For a tool with 3 parameters and varied operations, this leaves significant gaps in understanding how to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (action, nodeId, reason) with descriptions and enums for 'action.' The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain parameter interactions (e.g., when nodeId is required) or provide examples. Baseline 3 is appropriate as the schema handles the heavy lifting, but the description doesn't compensate with extra insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Prune and optimize the thought graph' with specific actions like 'remove dead ends, consolidate redundant branches, and optimize reasoning paths.' It distinguishes from siblings like 'evaluate' or 'graph' by focusing on maintenance and optimization rather than evaluation or visualization. However, it doesn't explicitly differentiate from all siblings (e.g., 'metacog' or 'reset'), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: 'Helps maintain graph efficiency during deep reasoning,' suggesting it should be used for ongoing optimization in reasoning processes. However, it lacks explicit guidance on when to use this tool versus alternatives like 'reset' (which might clear the graph) or 'think' (which might generate new nodes), and it doesn't specify prerequisites or exclusions, leaving usage somewhat ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resetA

Reset the thought graph and metacognitive state. Start a fresh reasoning session.

ParametersJSON Schema
NameRequiredDescriptionDefault
problemNoNew problem statement for this session

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool resets state (destructive behavior) and starts a new session, but lacks details on permissions, side effects, or what 'fresh' entails (e.g., does it clear all history?). It adds some context but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action ('reset') and purpose ('start a fresh reasoning session'). Every word earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (state resetting), no annotations, and no output schema, the description is reasonably complete—it covers the main action and intent. However, it could benefit from more behavioral details (e.g., confirmation of reset, error cases) to fully guide usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 'problem' parameter. The description does not add meaning beyond the schema (e.g., it doesn't explain how the problem statement integrates with the reset). Baseline 3 is appropriate as the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('reset') and the resources ('thought graph and metacognitive state'), and distinguishes it from siblings by specifying 'start a fresh reasoning session'—implying a clean slate versus tools like 'think', 'evaluate', or 'graph' which likely operate on existing content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use this tool ('start a fresh reasoning session'), but does not explicitly mention when not to use it or name alternatives among siblings (e.g., 'prune' might be for partial cleanup). The guidance is implied but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

thinkB

Add a thought to the cognitive graph using the current strategy. Supports sequential, dialectic, parallel, analogical, and abductive reasoning strategies. Each thought becomes a node in a DAG with confidence scoring, edges, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe thought content
typeNoType of thought (default: analysis)
strategyNoReasoning strategy to use (default: current strategy from metacognition)
confidenceNoInitial confidence in this thought 0-1 (default: 0.5)
parentIdNoID of parent thought to connect to (default: last active leaf)
branchNoBranch name for parallel exploration (default: main)
tagsNoTags for categorizing this thought
edgeToNoCreate an explicit edge to another node
dialecticNoDialectic mode: provide thesis (and optionally antithesis/synthesis)
parallelNoParallel mode: multiple independent thoughts to explore simultaneously
analogicalNoAnalogical mode: source domain, mapping, and projected conclusion
abductiveNoAbductive mode: observation, explanations, and best explanation
knowledgeNoAttach external knowledge to this thought

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that thoughts become nodes in a DAG with confidence scoring, edges, and metadata, which adds behavioral context beyond basic creation. However, it doesn't cover important aspects like whether this is a write operation, if it's idempotent, error conditions, or how the graph persists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey core functionality and key features. The first sentence states the main purpose, while the second adds important structural context about the DAG. No wasted words, though it could be slightly more front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 13 parameters, nested objects, and no output schema or annotations, the description provides adequate but incomplete context. It explains the cognitive graph concept and reasoning strategies but doesn't address return values, error handling, or how this integrates with sibling tools. The schema compensates for parameter documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description mentions reasoning strategies that map to some parameters (strategy, dialectic, parallel, analogical, abductive) but doesn't add significant meaning beyond what the schema provides. Baseline 3 is appropriate when schema does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Add') and resource ('thought to the cognitive graph') with specific context about reasoning strategies and node structure. It distinguishes from potential siblings like 'evaluate' or 'graph' by focusing on creation rather than assessment or visualization, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'using the current strategy' and mentions multiple reasoning strategies, suggesting when different approaches might apply. However, it lacks explicit guidance on when to choose this tool over siblings like 'evaluate' or 'metacog', or any prerequisites for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: evaluate analyzes thinking quality, graph visualizes structure, metacog manages reasoning strategy, prune optimizes the graph, reset clears state, and think adds new thoughts. The descriptions reinforce unique roles, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb-based pattern (evaluate, graph, metacog, prune, reset, think) with no mixing of conventions. The names are concise, descriptive, and uniformly styled, making them predictable and easy to understand.

Tool Count5/5

With 6 tools, the set is well-scoped for a deep reasoning system, covering core operations like adding thoughts, analyzing, visualizing, optimizing, managing strategy, and resetting. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness5/5

The toolset provides complete coverage for deep reasoning workflows: think for creation, evaluate for analysis, graph for inspection, metacog for strategy, prune for optimization, and reset for cleanup. There are no obvious gaps, enabling agents to handle the full lifecycle of cognitive processing.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nachosystems/deep-thinker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server