Skip to main content
Glama

sequential_thinking

Break down complex coding problems into structured steps, validating each before proceeding to ensure systematic problem-solving and architectural decisions.

Instructions

A tool to facilitate sequential, structured thinking. It forces the AI to break down complex problems into steps, validating each before moving to the next. Use this when facing a complex coding task or architectural decision.

Input Schema

NameRequiredDescriptionDefault
thoughtYesThe current thought or step in the reasoning process.
stepYesThe current step number (1-indexed).
total_stepsYesThe estimated total number of steps.
is_revisionNoSet to true if revising a previous step.
next_actionYesWhat to do next: continue thinking, revise previous thoughts, or provide the final answer.

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "is_revision": { "description": "Set to true if revising a previous step.", "type": "boolean" }, "next_action": { "description": "What to do next: continue thinking, revise previous thoughts, or provide the final answer.", "enum": [ "CONTINUE", "REVISE", "The final conclusion or answer" ], "type": "string" }, "step": { "description": "The current step number (1-indexed).", "type": "number" }, "thought": { "description": "The current thought or step in the reasoning process.", "type": "string" }, "total_steps": { "description": "The estimated total number of steps.", "type": "number" } }, "required": [ "thought", "step", "total_steps", "next_action" ], "type": "object" }

Implementation Reference

  • Executes the sequential_thinking tool logic by echoing back structured thought data to reinforce step-by-step reasoning.
    export function sequentialThinkingHandler(args: any) { // In a real scenario, this might log to a file or maintain state across turns. // For now, it simply echoes back the structured thought to reinforce the behavior. return { content: [ { type: "text", text: JSON.stringify({ status: "THOUGHT_RECORDED", step: args.step, of: args.total_steps, thought: args.thought, next: args.next_action }, null, 2) } ] }; }
  • Defines the input schema using Zod for validating arguments to the sequential_thinking tool.
    export const sequentialThinkingSchema = { name: "sequential_thinking", description: "A tool to facilitate sequential, structured thinking. It forces the AI to break down complex problems into steps, validating each before moving to the next. Use this when facing a complex coding task or architectural decision.", inputSchema: z.object({ thought: z.string().describe("The current thought or step in the reasoning process."), step: z.number().describe("The current step number (1-indexed)."), total_steps: z.number().describe("The estimated total number of steps."), is_revision: z.boolean().optional().describe("Set to true if revising a previous step."), next_action: z.enum(["CONTINUE", "REVISE", "The final conclusion or answer"]).describe("What to do next: continue thinking, revise previous thoughts, or provide the final answer.") }) };
  • src/index.ts:78-78 (registration)
    Registers the sequential_thinking tool in the toolRegistry Map used by the stdio MCP server.
    ["sequential_thinking", { schema: sequentialThinkingSchema, handler: sequentialThinkingHandler }],
  • src/server.ts:88-88 (registration)
    Registers the sequential_thinking tool in the toolRegistry Map used by the HTTP MCP server.
    ["sequential_thinking", { schema: sequentialThinkingSchema, handler: sequentialThinkingHandler }],

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/millsydotdev/Code-MCP'

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