Graph of Thoughts (GoT) MCP Server — bounded, auditable reasoning for AI agents
GoT MCP provides 17 tools with complete input schemas and descriptions. Naming follows verb_noun conventions consistently. However, descriptions vary in quality and actionability, some are domain-specific and excellent (e.g., evaluate_thought with confidence object), while others lack concrete guidance for when/why to use them. Parameter schemas are well-typed with enums and constraints, but output schemas are not documented in the provided source. Error handling patterns are absent, tools return success/failure but offer no recovery guidance. Security considerations around destructive operations (reset_graph, destroy_session) lack permission gates or confirmation workflows. Tool composition is good, related tools chain naturally (propose_thought → evaluate_thought → converge). The server's focus on bounded reasoning is clear, but descriptions could better explain the Graph of Thoughts primitives to agents unfamiliar with the domain.
GoT Primitive: Merge 2+ thought nodes into a weighted synthesis. Uses formula: Σ(score×weight)/Σ(weights). Retains full provenance and computes aggregation confidence (1 - stddev).
Clear all context entries from the shared context store.
Retrieve a value from the shared context store by key.
List all keys in the context store with their sources and timestamps (values omitted).
Store a key-value pair in the shared context store (CA-MCP pattern). Values are tagged with source provenance.
GoT Primitive: Identify and rank the top-N 'converged' paths in the graph (paths with consistent high scores). Uses beam search + weighted aggregation to compute global consensus.
Delete a specific session and its associated graph state.
Output schemas not documented in source code. Tools like get_thought_graph, converge, export_reasoning_trace, get_session, and get_metrics lack visible return type specifications. LLMs cannot plan downstream composition or extraction without knowing the response structure.
Destructive operations lack confirmation or dry-run support. reset_graph, destroy_session, prune_branch, and context_clear perform irreversible mutations without confirmation workflows or permission gates. An agent in a retry loop could permanently destroy reasoning state.
Error handling guidance missing. Tools document success cases but provide no recovery guidance ('User not found. Try search_users()') or error classification (retryable vs fatal). Agents cannot self-correct on failures.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 39 | 1.26.0+ | v1 |
Assign a score or status to a thought node. If score is omitted, triggers autonomous LLM audit via sampling.
Export the complete reasoning trace in RLHF-ready format (DeepSeek-R1 compatible). Includes full graph structure, iteration logs, and decision justifications.
Retrieve real-time metrics about the current graph: node counts, edge density, depth stats, average scores.
Retrieve metadata and state for a specific reasoning session (controller loop execution).
Retrieve the entire current thought graph.
List all active and completed reasoning sessions with brief metadata.
Propose a new unit of reasoning (node) in the thought graph.
GoT Primitive: Remove a node and its subtree from the graph. Reassigns orphaned children to the pruned node's parent (if any). Logs full deletion manifest.
Clear the current reasoning session, emptying all nodes and edges.
Execute the autonomous Graph of Thoughts control loop: continuous propose → score → branch cycle until convergence or max iterations.
Descriptions for read-only context operations (context_get, context_list) and session management (get_session, list_sessions) are brief and lack contextual guidance. Agents cannot determine when to call context_get vs context_list without experimentation.
Missing pagination documentation. list_sessions and context_list return arrays but source does not show pagination parameters (limit, offset, cursor). Without pagination guidance, agents may request unbounded results.
No idempotency guarantees documented. Tools like propose_thought and run_controller_loop mutate state. If an agent retries after a timeout, will it create duplicate nodes or reuse existing ones? Idempotency is critical for agents.
Domain-specific primitives (GoT Primitive) lack beginner-friendly descriptions. evaluate_thought's confidence object and converge's beam search are powerful but opaque to agents unfamiliar with Graph of Thoughts literature. Descriptions assume domain expertise.