Labsco
spences10 logo

Sequential Thinking Tools

โ˜… 582

from spences10

Guides problem-solving by breaking down complex problems and recommending the best MCP tools for each step.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

mcp-sequentialthinking-tools

built with vite+ tested with vitest

A lightweight MCP server for recording sequential reasoning steps. It is a scratchpad with history, branching, revision metadata, and optional validation for model-authored tool plans.

It does not discover your other MCP tools and it does not choose tools for the model. If you pass available_tools and recommended_tools, the server validates that the recommended names exist and stores the step.

<a href="https://glama.ai/mcp/servers/zl990kfusy"> <img width="380" height="200" src="https://glama.ai/mcp/servers/zl990kfusy/badge" /> </a>

Why use it?

Use this when a task benefits from explicit, inspectable reasoning:

  • breaking a messy problem into steps;
  • revising or branching a plan;
  • keeping a small reasoning history by session;
  • validating tool-plan names against a supplied tool list;
  • clearing or inspecting reasoning history during a long agent run.

Do not use it for trivial requests. It adds overhead.

Tools

sequentialthinking_tools

Records one thought.

Required parameters:

  • thought โ€” current reasoning step
  • thought_number โ€” current step number
  • total_thoughts โ€” current estimate; automatically raised if lower than thought_number
  • next_thought_needed โ€” whether another thought is needed

Optional parameters:

  • session_id โ€” history bucket; defaults to default
  • is_revision, revises_thought
  • branch_from_thought, branch_id
  • needs_more_thoughts
  • available_tools โ€” array of tool names or { name, description } objects
  • recommended_tools โ€” model-authored recommendations to validate/store
  • remaining_steps โ€” short list of upcoming steps

Example:

Copy & paste โ€” that's it
{
	"session_id": "svelte-debug",
	"thought": "First inspect the route files, then run the failing check.",
	"thought_number": 1,
	"total_thoughts": 3,
	"next_thought_needed": true,
	"available_tools": ["read", "bash"],
	"recommended_tools": [
		{
			"tool_name": "read",
			"confidence": 0.9,
			"rationale": "Need to inspect the relevant files before editing.",
			"priority": 1
		}
	]
}

If recommended_tools contains a name not present in available_tools, the call returns isError: true and does not store the thought.

Security posture

The server treats thought text, tool descriptions, rationales, and remaining-step text as untrusted input. Prompt-injection-like text is scanned and redacted before it is stored or returned in history. Calls with redactions include security_warnings showing which fields matched.

This is defensive filtering, not a guarantee that arbitrary adversarial text is safe. Do not put secrets in thoughts or tool descriptions.

get_thinking_history

Returns stored thoughts for a session.

Parameters:

  • session_id โ€” defaults to default
  • branch_id โ€” optional branch filter
  • limit โ€” max records to return; default 50, max 500

clear_thinking_history

Clears one session or every session.

Parameters:

  • session_id โ€” defaults to default
  • all_sessions โ€” clear all history buckets

Prompt

sequential-thinking-guidance

A short prompt that tells the model how to use this server honestly: as a scratchpad and validator, not as an external reasoning engine.

Development

Copy & paste โ€” that's it
pnpm install
pnpm test
pnpm build
pnpm check

This project uses vite-plus for build, test, format, and lint orchestration.

Publishing

Copy & paste โ€” that's it
pnpm changeset
pnpm changeset version
pnpm release

License

MIT License โ€” see LICENSE.

Acknowledgments