Skip to main content
Glama
semantic-routing-config.json42.8 kB
{ "strategySemantics": { "linear": { "problem_reception": { "description": "Receive and understand the problem (Linear strategy: manual progression for exploratory thinking. Call other tools anytime for information or actions!)", "availableActions": { "start_planning": { "nextState": "initial_thought_planning", "description": "Ready to plan your approach? (You control when to advance - call other tools first if you need info)", "requiredInputs": ["thought"], "optionalInputs": ["totalThoughts"], "hints": { "thought": "Your understanding of the problem. Can include plans for tool calls you intend to make. Use think-tools for MCP server connections and utilities before advancing to the next step.", "totalThoughts": "Estimated steps (easily adjustable as you explore)", "sessionPurpose": "HELPFUL: Provide a brief (1-2 sentence) purpose for this thinking session - what you're trying to accomplish or analyze. This helps build a searchable knowledge base." } } }, "canSwitchStrategy": true }, "initial_thought_planning": { "description": "Plan your thinking approach (Take time to consider your strategy. Call other tools if you need to gather information first)", "availableActions": { "begin_thinking": { "nextState": "thought_generation", "description": "Ready to start thinking through the problem? (Use other tools anytime before advancing)", "requiredInputs": ["thought"], "hints": { "thought": "Your planned approach. Can outline which tools you plan to call and when. Use think-tools for connections and utilities, or include tool call plans in your thinking." } } } }, "thought_generation": { "description": "Generate a thinking step (Explore ideas at your own pace. Use other tools between steps for research or actions)", "availableActions": { "evaluate_thought": { "nextState": "thought_evaluation", "description": "Evaluate this thought when ready (Call other tools first if you need more information)", "requiredInputs": ["thought"], "hints": { "thought": "Your thinking step. Can include plans for future tool calls or describe tools you intend to use. Execute tool calls before advancing or outline your tool usage strategy." } } } }, "thought_evaluation": { "description": "Evaluate current thought quality", "availableActions": { "revise_thought": { "nextState": "thought_revision", "description": "Revise a previous thought", "requiredInputs": ["thought", "isRevision", "revisesThought"], "hints": { "thought": "Your revised thinking", "revisesThought": "The thought number you're revising" } }, "continue_thinking": { "nextState": "continuation_decision", "description": "Decide next steps", "requiredInputs": ["thought"], "hints": { "thought": "Your evaluation of progress so far" } } } }, "continuation_decision": { "description": "Decide how to proceed", "availableActions": { "adjust_thoughts": { "nextState": "thought_adjustment", "description": "Adjust total number of thoughts needed", "requiredInputs": ["thought", "needsMoreThoughts", "totalThoughts"], "hints": { "thought": "Explanation for adjustment", "totalThoughts": "New total number of thoughts needed" } }, "create_branch": { "nextState": "branch_creation", "description": "Create alternative reasoning path", "requiredInputs": ["thought", "branchFromThought", "branchId"], "hints": { "thought": "The new branch's first thought", "branchFromThought": "Thought number to branch from", "branchId": "Unique identifier for this branch" } }, "form_hypothesis": { "nextState": "hypothesis_generation", "description": "Form a solution hypothesis", "requiredInputs": ["thought", "hypothesis"], "hints": { "thought": "Your reasoning for this hypothesis", "hypothesis": "The proposed solution" } } } } }, "chain_of_thought": { "problem_reception": { "description": "Receive the problem to solve (Use other tools anytime to gather information before advancing)", "availableActions": { "decompose": { "nextState": "step_decomposition", "description": "Break down into logical steps", "requiredInputs": ["thought"], "hints": { "thought": "Your understanding and decomposition approach. Can include plans for which tools to call for research or verification. Execute tool calls now or outline your tool strategy." } } } }, "step_decomposition": { "description": "Break problem into steps (Call other tools if you need more information)", "availableActions": { "start_reasoning": { "nextState": "sequential_reasoning", "description": "Begin step-by-step reasoning", "requiredInputs": ["thought"], "hints": { "thought": "The logical steps you'll follow. Can include plans for tool calls at specific steps (e.g., 'Step 3: call file reader', 'Step 5: run calculation'). Execute tools as planned or outline tool usage strategy." } } } }, "sequential_reasoning": { "description": "Work through reasoning steps (Use other tools anytime for research or verification)", "availableActions": { "next_step": { "nextState": "sequential_reasoning", "description": "Continue to next reasoning step", "requiredInputs": ["thought"], "hints": { "thought": "Your next logical reasoning step. Can include plans for upcoming tool calls or describe what information you need to gather. Execute planned tool calls or outline your research strategy." } }, "formulate_solution": { "nextState": "solution_formulation", "description": "Ready to formulate final answer", "requiredInputs": ["thought"], "hints": { "thought": "Summary leading to solution. Can include plans for final verification tool calls or validation steps. Execute verification tools or outline your validation strategy." } } } } }, "react": { "problem_reception": { "description": "Receive problem requiring actions (Call other tools anytime for information gathering)", "availableActions": { "analyze": { "nextState": "initial_reasoning", "description": "Analyze what information is needed", "requiredInputs": ["thought"], "hints": { "thought": "Analysis of the problem and information gaps. Can include plans for which tools to call for information gathering (e.g., 'Need to search files', 'Plan to check database'). Execute tool calls or outline your information strategy." } } } }, "initial_reasoning": { "description": "Reason about needed information", "availableActions": { "plan_action": { "nextState": "action_planning", "description": "Plan specific action to take", "requiredInputs": ["thought"], "hints": { "thought": "Your reasoning about what action is needed" } } } }, "action_planning": { "description": "Plan the action to execute - specify MCP server tools to call", "availableActions": { "plan_mcp_actions": { "nextState": "action_execution", "description": "Plan specific MCP server tool calls", "requiredInputs": ["thought", "plannedActions"], "hints": { "thought": "Explanation of what actions you plan to take and why", "plannedActions": "Array of actions: [{server: 'server-name', tool: 'tool-name', parameters: {...}, expectedInfo: 'what you expect to learn'}]" } }, "execute_legacy": { "nextState": "action_execution", "description": "Execute using legacy action format", "requiredInputs": ["thought", "action"], "hints": { "thought": "Explanation of the action", "action": "The specific action to perform" } } } }, "action_execution": { "description": "Execute planned actions using think-tools(action='execute-actions'), then return with results", "availableActions": { "integrate_results": { "nextState": "observation_reception", "description": "Integrate action results back into thinking", "requiredInputs": ["thought", "actionResults"], "hints": { "thought": "Analysis of the action results and what they mean", "actionResults": "Array of results from executed actions. Use think-tools(action='execute-actions') first to get these results." } }, "observe_legacy": { "nextState": "observation_reception", "description": "Record observation from legacy action", "requiredInputs": ["thought", "observation"], "hints": { "thought": "What you observed", "observation": "The result of your action" } } } }, "observation_reception": { "description": "Process observations from executed actions", "availableActions": { "update_reasoning": { "nextState": "reasoning_update", "description": "Update reasoning with new information", "requiredInputs": ["thought"], "optionalInputs": ["observation", "actionResults"], "hints": { "thought": "How the new information affects your reasoning and next steps", "observation": "Legacy observation format", "actionResults": "Results from MCP server tool calls" } } } }, "evaluation_checkpoint": { "description": "Evaluate if more actions needed", "availableActions": { "plan_another_action": { "nextState": "action_planning", "description": "Plan another action", "requiredInputs": ["thought"], "hints": { "thought": "Why another action is needed" } }, "formulate_solution": { "nextState": "solution_formulation", "description": "Ready to provide solution", "requiredInputs": ["thought"], "hints": { "thought": "Summary of findings leading to solution" } } } } }, "rewoo": { "problem_reception": { "description": "Receive the problem to solve", "availableActions": { "start_planning": { "nextState": "planning_phase", "description": "Begin comprehensive planning", "requiredInputs": ["thought"], "hints": { "thought": "Your understanding of the problem" } } } }, "planning_phase": { "description": "Create comprehensive plan", "availableActions": { "specify_tools": { "nextState": "tool_call_specification", "description": "Specify required tool calls", "requiredInputs": ["thought", "planningPhase"], "hints": { "thought": "Your complete plan with steps", "planningPhase": "Set to true during planning" } } } }, "tool_call_specification": { "description": "Define all MCP server tool calls needed for parallel execution", "availableActions": { "plan_mcp_tools": { "nextState": "working_phase", "description": "Plan MCP server tool calls for parallel execution", "requiredInputs": ["thought", "plannedActions"], "hints": { "thought": "Strategy for parallel tool execution", "plannedActions": "Array of MCP actions: [{server: 'server-name', tool: 'tool-name', parameters: {...}, expectedInfo: 'expected result'}]" } }, "execute_legacy_tools": { "nextState": "working_phase", "description": "Execute using legacy tool format", "requiredInputs": ["thought", "toolCalls"], "hints": { "thought": "Tool execution strategy", "toolCalls": "Array of {tool, input} objects" } } } } }, "scratchpad": { "problem_reception": { "description": "Receive the problem", "availableActions": { "initialize": { "nextState": "scratchpad_initialization", "description": "Initialize scratchpad environment", "requiredInputs": ["thought"], "hints": { "thought": "Problem understanding and approach" } } } }, "scratchpad_initialization": { "description": "Set up working environment", "availableActions": { "start_calculations": { "nextState": "iterative_calculation", "description": "Begin iterative calculations", "requiredInputs": ["thought", "stateVariables"], "hints": { "thought": "Initial setup and variables", "stateVariables": "Initial state object" } } } }, "iterative_calculation": { "description": "Perform calculations", "availableActions": { "update_state": { "nextState": "state_tracking", "description": "Update and track state", "requiredInputs": ["thought", "stateVariables"], "hints": { "thought": "Calculation step", "stateVariables": "Updated state" } } } }, "state_tracking": { "description": "Track state changes", "availableActions": { "continue_calculation": { "nextState": "iterative_calculation", "description": "Continue with more calculations", "requiredInputs": ["thought"], "hints": { "thought": "Next calculation needed" } }, "extract_result": { "nextState": "result_extraction", "description": "Extract final result", "requiredInputs": ["thought"], "hints": { "thought": "Summary of calculations" } } } } }, "self_ask": { "problem_reception": { "description": "Receive main question", "availableActions": { "decompose": { "nextState": "problem_decomposition", "description": "Break into sub-questions", "requiredInputs": ["thought"], "hints": { "thought": "Analysis of the main question" } } } }, "sub_question_formulation": { "description": "Formulate a sub-question", "availableActions": { "answer_subquestion": { "nextState": "sub_question_answering", "description": "Answer the sub-question", "requiredInputs": ["thought", "subQuestion"], "hints": { "thought": "The sub-question to answer", "subQuestion": "The specific sub-question" } } } }, "answer_integration": { "description": "Integrate sub-answer", "availableActions": { "formulate_next": { "nextState": "sub_question_formulation", "description": "Ask another sub-question", "requiredInputs": ["thought"], "hints": { "thought": "Integration and next question" } }, "complete": { "nextState": "completion_check", "description": "Check if complete", "requiredInputs": ["thought"], "hints": { "thought": "Assessment of completeness" } } } } }, "self_consistency": { "problem_reception": { "description": "Receive the problem", "availableActions": { "sample_paths": { "nextState": "multiple_path_sampling", "description": "Begin sampling reasoning paths", "requiredInputs": ["thought"], "hints": { "thought": "Problem understanding" } } } }, "reasoning_path_execution": { "description": "Execute reasoning paths", "availableActions": { "execute_path": { "nextState": "reasoning_path_execution", "description": "Execute another path", "requiredInputs": ["thought", "reasoningPathId"], "hints": { "thought": "Reasoning for this path", "reasoningPathId": "Unique path identifier" } }, "collect_answers": { "nextState": "answer_collection", "description": "Collect all path answers", "requiredInputs": ["thought", "pathAnswers"], "hints": { "thought": "Summary of paths", "pathAnswers": "Array of {pathId, answer}" } } } } }, "step_back": { "problem_reception": { "description": "Receive specific problem", "availableActions": { "abstract": { "nextState": "abstraction", "description": "Step back to abstract view", "requiredInputs": ["thought"], "hints": { "thought": "The specific problem" } } } }, "abstraction": { "description": "Abstract the problem", "availableActions": { "identify_principles": { "nextState": "principle_identification", "description": "Identify general principles", "requiredInputs": ["thought"], "hints": { "thought": "General problem category" } } } }, "principle_identification": { "description": "Identify principles", "availableActions": { "select_approach": { "nextState": "approach_selection", "description": "Select solving approach", "requiredInputs": ["thought", "generalPrinciple"], "hints": { "thought": "Identified principles", "generalPrinciple": "The general principle" } } } } }, "tree_of_thoughts": { "problem_reception": { "description": "Receive the problem", "availableActions": { "explore_approaches": { "nextState": "approach_exploration", "description": "Explore solution approaches", "requiredInputs": ["thought"], "hints": { "thought": "Problem analysis" } } } }, "approach_exploration": { "description": "Explore approaches", "availableActions": { "develop_branch": { "nextState": "branch_development", "description": "Develop solution branches", "requiredInputs": ["thought", "approaches"], "hints": { "thought": "Approach ideas", "approaches": "Array of {id, description, promise}" } } } }, "branch_development": { "description": "Develop branches", "availableActions": { "continue_branch": { "nextState": "branch_development", "description": "Continue developing branch", "requiredInputs": ["thought", "approachId"], "hints": { "thought": "Branch development step", "approachId": "Current branch ID" } }, "evaluate_branches": { "nextState": "branch_evaluation", "description": "Evaluate all branches", "requiredInputs": ["thought"], "hints": { "thought": "Ready to evaluate" } } } }, "branch_evaluation": { "description": "Evaluate branches", "availableActions": { "select_branch": { "nextState": "branch_selection", "description": "Select best branch", "requiredInputs": ["thought", "evaluationScore"], "hints": { "thought": "Evaluation reasoning", "evaluationScore": "Score 0-10" } } } } }, "trilemma": { "problem_reception": { "description": "Receive problem requiring trade-offs between three competing objectives", "availableActions": { "identify_trilemma": { "nextState": "trilemma_identification", "description": "Identify the three competing objectives", "requiredInputs": ["thought"], "hints": { "thought": "What are the three objectives that cannot all be maximized? Be specific and measurable. Consider what real-world data you'll need to evaluate these (prices, times, quality scores, etc.)" } } }, "canSwitchStrategy": true }, "trilemma_identification": { "description": "Identify and articulate the three competing objectives", "availableActions": { "initialize_objectives": { "nextState": "objective_initialization", "description": "Set up scoring metrics and thresholds", "requiredInputs": ["thought", "objectives"], "hints": { "thought": "How will we measure and threshold each objective? Consider: What data sources could validate these metrics? (e.g., pricing APIs, review sites, performance benchmarks)", "objectives": "Array of exactly 3 objectives. Each must have: id, name, description, currentScore (0-1), threshold (0-1), and optional priority (0-1)" } } } }, "objective_initialization": { "description": "Initialize scoring metrics and satisficing thresholds", "availableActions": { "evaluate_tradeoffs": { "nextState": "trade_off_evaluation", "description": "Begin evaluating current trade-offs", "requiredInputs": ["thought"], "optionalInputs": ["tradeOffMatrix"], "hints": { "thought": "Initial assessment of trade-offs. Consider gathering real data: prices, timings, quality metrics. Use other tools (WebSearch, calculations) to validate assumptions", "tradeOffMatrix": "Array showing impact (-1 to +1) when improving one objective affects another. Consider empirical data to validate these relationships" } } } }, "trade_off_evaluation": { "description": "Evaluate trade-offs and score each objective", "availableActions": { "iterate_solution": { "nextState": "satisficing_iteration", "description": "Iterate on solution to improve balance", "requiredInputs": ["thought", "objectives"], "optionalInputs": ["iterationNumber"], "hints": { "thought": "How can we adjust to better satisfice? Consider: Are there hidden options? Bundle deals? Time-based variations? Use tools to explore alternatives", "objectives": "Updated objectives with NEW currentScore values based on your iteration. Show how scores changed", "iterationNumber": "Current iteration number" } } } }, "satisficing_iteration": { "description": "Iterate on solutions that satisfice across objectives", "availableActions": { "check_equilibrium": { "nextState": "equilibrium_check", "description": "Check if equilibrium is reached", "requiredInputs": ["thought", "equilibriumReached"], "hints": { "thought": "Assessment of current balance. If not at equilibrium, what specific data or options could help? Consider sampling real-world alternatives", "equilibriumReached": "Boolean: true if ALL objectives meet their thresholds, false if any fall short" } } } }, "equilibrium_check": { "description": "Check if all objectives meet satisficing thresholds", "availableActions": { "propagate_forward": { "nextState": "propagation_decision", "description": "Propagate solution to next iteration", "requiredInputs": ["thought", "propagatedSolution"], "hints": { "thought": "Why propagate this configuration?", "propagatedSolution": "Solution to carry forward" } }, "finalize_balance": { "nextState": "final_balance", "description": "Finalize the balanced solution", "requiredInputs": ["thought"], "hints": { "thought": "Equilibrium reached - ready to finalize" } } } }, "propagation_decision": { "description": "Decide whether to propagate or explore new trade-offs", "availableActions": { "continue_evaluation": { "nextState": "trade_off_evaluation", "description": "Continue evaluating trade-offs", "requiredInputs": ["thought"], "hints": { "thought": "What new data or alternatives should we explore? Consider: market research, user feedback, hidden options, timing variations, bundle opportunities" } }, "refine_solution": { "nextState": "solution_refinement", "description": "Refine based on accumulated insights", "requiredInputs": ["thought"], "hints": { "thought": "How to refine based on data gathered? Consider creative compromises, hybrid approaches, or newly discovered options" } } } }, "solution_refinement": { "description": "Refine solution based on iteration insights", "availableActions": { "recheck_equilibrium": { "nextState": "equilibrium_check", "description": "Check equilibrium after refinement", "requiredInputs": ["thought", "objectives"], "hints": { "thought": "Refined solution assessment", "objectives": "Updated scores after refinement" } } } }, "final_balance": { "description": "Present final balanced solution with justification", "availableActions": { "complete": { "nextState": "final_response", "description": "Complete with final answer", "requiredInputs": ["thought", "finalAnswer"], "hints": { "thought": "Final trade-off justification", "finalAnswer": "The balanced solution" } } } } }, "system_architect": { "problem_reception": { "description": "Receive architectural design problem", "availableActions": { "analyze_requirements": { "nextState": "requirements_analysis", "description": "Analyze system requirements and constraints", "requiredInputs": ["thought"], "hints": { "thought": "Analysis of system requirements, constraints, and architectural considerations" } } }, "canSwitchStrategy": true }, "requirements_analysis": { "description": "Analyze requirements and constraints", "availableActions": { "design_architecture": { "nextState": "architecture_design", "description": "Design system architecture", "requiredInputs": ["thought"], "hints": { "thought": "Architectural design decisions, patterns, and structure" } } } }, "architecture_design": { "description": "Design the system architecture", "availableActions": { "evaluate_design": { "nextState": "design_evaluation", "description": "Evaluate architectural design", "requiredInputs": ["thought"], "hints": { "thought": "Evaluation of design against requirements and best practices" } } } }, "design_evaluation": { "description": "Evaluate the architectural design", "availableActions": { "refine_architecture": { "nextState": "architecture_design", "description": "Refine the architecture", "requiredInputs": ["thought"], "hints": { "thought": "Refinements needed to the architecture" } }, "finalize_architecture": { "nextState": "final_response", "description": "Finalize the architectural design", "requiredInputs": ["thought", "finalAnswer"], "hints": { "thought": "Final architectural assessment", "finalAnswer": "Complete architectural design and documentation" } } } } }, "cyclic_reasoning": { "problem_reception": { "description": "Receive problem for cyclic reasoning approach", "availableActions": { "select_approach": { "nextState": "approach_selection", "description": "Automatically select optimal reasoning approach based on problem domain", "requiredInputs": ["thought"], "optionalInputs": ["domainContext"], "hints": { "thought": "Understanding of the problem. The system will analyze domain and select thought-first, question-first, or solution-first approach", "domainContext": "Optional domain hint (mathematical, philosophical, practical, etc.)" } } }, "canSwitchStrategy": true }, "approach_selection": { "description": "Select optimal reasoning approach based on problem domain", "availableActions": { "initialize_cycle": { "nextState": "element_initialization", "description": "Initialize the reasoning cycle with selected approach", "requiredInputs": ["thought", "reasoningApproach"], "optionalInputs": ["elementOrder", "approachRationale"], "hints": { "thought": "Ready to begin cycling through reasoning elements", "reasoningApproach": "Selected approach: thought-first, question-first, or solution-first", "elementOrder": "Order of elements for this approach", "approachRationale": "Why this approach was selected" } } } }, "element_initialization": { "description": "Initialize the cyclic reasoning with first element", "availableActions": { "start_thought": { "nextState": "thought_processing", "description": "Begin with thought processing", "requiredInputs": ["thought"], "hints": { "thought": "Analytical thinking, understanding principles, building conceptual foundation" } }, "start_question": { "nextState": "question_processing", "description": "Begin with question processing", "requiredInputs": ["thought"], "hints": { "thought": "Key questions, uncertainties, problem boundaries, what needs exploration" } }, "start_solution": { "nextState": "solution_processing", "description": "Begin with solution processing", "requiredInputs": ["thought"], "hints": { "thought": "Potential solutions, implementation approaches, practical strategies" } } } }, "thought_processing": { "description": "Generate analytical thoughts and build understanding", "availableActions": { "continue_to_questions": { "nextState": "question_processing", "description": "Move to question processing", "requiredInputs": ["thought"], "hints": { "thought": "What questions arise from your thinking? What needs exploration?" } }, "continue_to_solutions": { "nextState": "solution_processing", "description": "Move to solution processing", "requiredInputs": ["thought"], "hints": { "thought": "What solutions emerge from your thinking? How to implement?" } }, "evaluate_cycle": { "nextState": "cycle_evaluation", "description": "Evaluate if cycle is complete", "requiredInputs": ["thought"], "hints": { "thought": "Assess completeness of current cycle before continuing" } } } }, "question_processing": { "description": "Formulate key questions and explore problem boundaries", "availableActions": { "continue_to_thoughts": { "nextState": "thought_processing", "description": "Move to thought processing", "requiredInputs": ["thought"], "hints": { "thought": "What thoughts and principles help answer these questions?" } }, "continue_to_solutions": { "nextState": "solution_processing", "description": "Move to solution processing", "requiredInputs": ["thought"], "hints": { "thought": "What solutions address these questions? How to implement?" } }, "evaluate_cycle": { "nextState": "cycle_evaluation", "description": "Evaluate if cycle is complete", "requiredInputs": ["thought"], "hints": { "thought": "Assess completeness of current cycle before continuing" } } } }, "solution_processing": { "description": "Generate and refine potential solutions", "availableActions": { "continue_to_thoughts": { "nextState": "thought_processing", "description": "Move to thought processing", "requiredInputs": ["thought"], "hints": { "thought": "What principles and understanding support these solutions?" } }, "continue_to_questions": { "nextState": "question_processing", "description": "Move to question processing", "requiredInputs": ["thought"], "hints": { "thought": "What questions arise from these solutions? What needs testing?" } }, "evaluate_cycle": { "nextState": "cycle_evaluation", "description": "Evaluate if cycle is complete", "requiredInputs": ["thought"], "hints": { "thought": "Assess completeness of current cycle before continuing" } } } }, "cycle_evaluation": { "description": "Evaluate cycle completeness and determine next steps", "availableActions": { "continue_cycling": { "nextState": "thought_processing", "description": "Continue with another cycle", "requiredInputs": ["thought", "cycleNumber"], "hints": { "thought": "Why continue cycling? What gaps remain?", "cycleNumber": "Next cycle number" } }, "adjust_approach": { "nextState": "approach_adjustment", "description": "Adjust reasoning approach mid-stream", "requiredInputs": ["thought", "needsApproachAdjustment"], "hints": { "thought": "Why adjust approach? What's not working?", "needsApproachAdjustment": "Boolean: true to trigger approach change" } }, "finalize_answer": { "nextState": "final_response", "description": "Provide final answer", "requiredInputs": ["thought", "finalAnswer"], "hints": { "thought": "Synthesis of all cycles and reasoning", "finalAnswer": "Complete final answer to the problem" } } } }, "approach_adjustment": { "description": "Adjust reasoning approach based on insights", "availableActions": { "reinitialize_cycle": { "nextState": "element_initialization", "description": "Restart with new approach", "requiredInputs": ["thought", "reasoningApproach"], "hints": { "thought": "Why the new approach? What changed?", "reasoningApproach": "New approach: thought-first, question-first, or solution-first" } } } }, "final_response": { "description": "Provide final synthesized answer", "availableActions": {} } } }, "globalActions": { "switch_strategy": { "description": "Switch to a different thinking strategy", "availableFrom": ["problem_reception", "continuation_decision", "evaluation_checkpoint"], "requiredInputs": ["strategy", "thought"], "optionalInputs": ["preserveHistory"], "hints": { "strategy": "The new strategy to switch to", "thought": "Reason for switching strategies", "preserveHistory": "Whether to keep previous thinking history" } }, "abandon_and_restart": { "description": "Abandon current approach and start over", "availableFrom": "any", "requiredInputs": ["thought"], "hints": { "thought": "Why you're starting over" } } }, "parameterSemantics": { "thought": { "type": "string", "description": "The content of your thinking step", "contextual": true }, "thoughtNumber": { "type": "integer", "description": "Current thought number in sequence", "autoManaged": true }, "totalThoughts": { "type": "integer", "description": "Total number of thoughts expected", "mutable": true }, "nextThoughtNeeded": { "type": "boolean", "description": "Whether more thinking is required", "contextual": true }, "strategy": { "type": "enum", "values": ["linear", "chain_of_thought", "react", "rewoo", "scratchpad", "self_ask", "self_consistency", "step_back", "tree_of_thoughts", "trilemma", "system_architect", "cyclic_reasoning"], "description": "The thinking strategy to use" }, "isRevision": { "type": "boolean", "description": "Whether this thought revises a previous one" }, "revisesThought": { "type": "integer", "description": "Which thought number is being revised" }, "branchFromThought": { "type": "integer", "description": "Thought number to branch from" }, "branchId": { "type": "string", "description": "Unique identifier for the branch" }, "hypothesis": { "type": "string", "description": "Proposed solution hypothesis" }, "finalAnswer": { "type": "string", "description": "The final answer or solution" }, "sessionPurpose": { "type": "string", "description": "Brief purpose of this thinking session (helps build searchable knowledge base)" }, "qualityRating": { "type": "object", "description": "Rate the session quality on key metrics (1-5 scale) to build knowledge of effective thinking patterns", "properties": { "usefulness": "How useful were the insights? (1-5)", "effectiveness": "How effective was the reasoning process? (1-5)", "clarity": "How clear was the thinking? (1-5)", "insights": "Quality of insights generated? (1-5)", "strategyFit": "How well did the strategy fit the problem? (1-5)", "efficiency": "How efficiently did thinking progress? (1-5)", "actionability": "How actionable are the results? (1-5)", "reflection": "Brief reflection on what worked well or could be improved" } }, "observation": { "type": "string", "description": "Result observed from an action" }, "action": { "type": "string", "description": "Specific action to perform" }, "plannedActions": { "type": "array", "description": "Array of planned MCP server tool calls: [{server, tool, parameters, expectedInfo}]", "contextual": true }, "actionResults": { "type": "array", "description": "Array of results from executed MCP server tool calls", "contextual": true } } }

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/aaronsb/think-strategies'

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