Tree of Thoughts MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROK_API_KEY | No | API key for Grok LLM provider (optional) | |
| TOT_OUTPUT_DIR | Yes | Path to the output directory for logs | |
| TOT_STORAGE_PATH | Yes | Path to the storage file for thought trees |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_treeB | Create a new Tree of Thoughts with a root thought and goal |
| get_treeC | Get a tree by ID |
| list_treesB | List all trees |
| delete_treeB | Delete a tree by ID |
| add_childB | Add a child thought to an existing thought |
| evaluate_thoughtC | Evaluate a thought with a score (0-1 or 0-100) and optional multi-criteria fields |
| verify_thoughtA | Mark a thought as verified after confirming its findings. Required before a thought can be selected. |
| select_thoughtA | Mark a thought as selected for further exploration (thought must be verified first) |
| backtrackA | Backtrack from a thought, marking all descendants as pruned |
| prune_treeC | Prune thoughts below a certain evaluation threshold, optionally by risk threshold |
| move_subtreeA | Move a subtree to a new parent within the same tree. Performs cycle detection, depth validation, and supports dry-run mode for safe preview. |
| get_thoughtC | Get a specific thought by ID |
| get_tree_structureB | Get the hierarchical structure of a tree |
| get_best_thoughtsB | Get the best evaluated thoughts in a tree, optionally sorted by criteria |
| get_tree_statsC | Get statistics about a tree |
| clear_treeC | Clear a specific tree by ID |
| clear_strategyB | Clear a specific strategy by ID |
| clear_everythingB | Clear all trees and strategies |
| save_stateB | Manually save the current state to storage |
| get_versionA | Get the version information of this ToT MCP server |
| explore_with_strategyB | Explore a thought tree using a systematic branching strategy (BFS, DFS, beam search, or best-first search) |
| propose_and_evaluateB | Add a child thought and evaluate it in one call (auto-evaluation helper) with optional multi-criteria fields |
| generate_childrenC | Generate N diverse child thoughts for a parent thought (thought generation tool) |
| visualize_treeB | Visualize a tree in human-readable format (ASCII, Mermaid, DOT, PNG, or SVG) |
| generate_and_evaluate_childrenB | Generate child thoughts and evaluate them in one call using LLM judge |
| refine_thoughtB | Refine a thought to better align with the goal using LLM |
| self_reflect_thoughtB | Get a critique and improved version of a thought using LLM self-reflection |
| suggest_next_actionsA | Use this tool when you are unsure what to do next in the Tree of Thoughts process. It analyzes the current state of the tree (pending thoughts, low evaluations, high risk branches, depth progress, etc.) and returns prioritized, actionable recommendations such as: generate children, evaluate thoughts, prune low-value branches, verify good thoughts, backtrack, or use exploration strategies. Call this tool proactively when the tree feels stuck, has many pending items, or you need guidance on the best next step. |
| list_trees_by_sessionA | List all trees associated with a specific session ID for context maintenance |
| delete_session_treesA | Delete all trees and thoughts associated with a specific session ID for cleanup |
| get_session_contextA | Get all thoughts across all trees for a specific session ID to understand the full context |
| create_strategyA | Create a new Strategy for grouping related trees for long-term reasoning initiatives |
| list_strategiesA | List all strategies, optionally filtered by status |
| get_strategyA | Get a strategy by ID or name (case-insensitive) |
| move_tree_to_strategyA | Move a tree to a strategy (lightweight operation that preserves original tree IDs) |
| clone_tree_to_strategyA | Clone a tree into a strategy (deep copy with new IDs for tree and all thoughts) |
| list_trees_by_strategyB | List all trees belonging to a strategy (by ID or name) |
| get_strategy_contextA | Get a strategy with its trees and basic statistics (aggregated view across trees in the strategy) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 38 tools
Most tools have clearly distinct roles across sessions, strategies, trees, and thoughts. However, clear_tree vs delete_tree and clear_strategy vs clear_everything have ambiguous boundaries that could cause an agent to pick the wrong cleanup operation.
Tool names overwhelmingly follow a consistent verb_noun pattern like create_, get_, list_, delete_, and clear_. Minor deviations like backtrack and self_reflect_thought do not undermine the overall predictable structure.
38 tools is excessive for a single MCP server and exceeds the 25+ threshold. Many operations could be consolidated, such as combining generation/evaluation helpers or reducing the number of clear/delete variants.
The core Tree of Thoughts workflow is well covered: tree creation, thought generation, evaluation, verification, selection, pruning, backtracking, exploration, and visualization. Notable gaps include no delete_strategy and no direct update_thought or update_tree operation, but these are workable limitations.