feat(mcp): add @modelcontextprotocol/server-sequential-thinking as a builtin MCP#4317
Open
YOMXXX wants to merge 1 commit into
Open
feat(mcp): add @modelcontextprotocol/server-sequential-thinking as a builtin MCP#4317YOMXXX wants to merge 1 commit into
YOMXXX wants to merge 1 commit into
Conversation
…builtin MCP Wires the official server-sequential-thinking package into the builtin MCP set with the name "sequential_thinking". The server exposes one tool (`sequentialthinking`) that lets a model externalise a multi-step plan and revise individual steps without burning thinking-budget tokens — most useful for the small no-thinking-mode models on the fallback chains (gpt-5-nano, minimax, kimi etc.), where the model has nowhere else to stash partial reasoning between tool calls. - `src/mcp/server-sequential-thinking.ts`: thin factory wrapping the stateless server behind `npx -y`; falls back to `enabled: false` when npx is missing so we never schedule a launch that would error on the first request. - `src/mcp/types.ts`: extend `McpNameSchema` with `sequential_thinking` so `disabled_mcps: ["sequential_thinking"]` is recognised as a known builtin name. - `src/mcp/index.ts`: register it in `createBuiltinMcps`, behind the same disabled_mcps gate the other builtins use. - `src/cli/doctor/checks/tools-mcp.ts`: include it in `BUILTIN_MCP_SERVERS` so `omo doctor` does not flag it as an unknown external MCP. - Tests: new `server-sequential-thinking.test.ts` covers the happy path, missing-npx fallback, stateless-environment invariant, and the default-resolver branch; `zauc-mocks-mcp-index/index.test.ts` is updated to mock the new factory and assert the registration through every `createBuiltinMcps` scenario. - Docs: `docs/reference/configuration.md` and `src/mcp/AGENTS.md` list the new builtin alongside the others.
|
I don't think this is a good idea, the MCP |
Contributor
Author
|
Thanks for raising the concern! I dug into it before opening this PR and the package looks actively maintained rather than deprecated:
If you have a link or thread showing it's deprecated (e.g. a maintainer announcement, an issue I missed, or a successor package), I'd happily switch this PR over to the recommended replacement. Otherwise this aligns with how PR #4286 added |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
@modelcontextprotocol/server-sequential-thinkingto the builtin MCP set assequential_thinking. The server exposes one tool —sequentialthinking— that lets a model externalise a multi-step plan and revise individual steps without burning thinking-budget tokens.Why
Most useful for the small no-thinking-mode models on omo's fallback chains (
gpt-5-nano,minimax-m2.7,kimi-k2.xetc.). Without thinking-mode support, those models have nowhere to stash partial reasoning between tool calls and tend to either skip planning or hallucinate it back from scratch each turn. The official sequential-thinking server gives them an explicit scratchpad that survives tool round-trips.Follows the same wiring pattern as the existing
server-memoryPR (#4286).Changes
src/mcp/server-sequential-thinking.ts— thin factory wrapping the stateless server behindnpx -y @modelcontextprotocol/server-sequential-thinking. Returnsenabled: falsewhennpxis missing so we never schedule a launch that would die on the first request.src/mcp/types.ts— extendMcpNameSchemawithsequential_thinkingsodisabled_mcps: [\"sequential_thinking\"]is recognised as a known builtin name (not just a free-form string).src/mcp/index.ts— register it increateBuiltinMcps, behind the samedisabled_mcpsgate the other builtins use.src/cli/doctor/checks/tools-mcp.ts— include it inBUILTIN_MCP_SERVERSsoomo doctordoes not flag it as an unknown external MCP.server-sequential-thinking.test.ts(4 cases: happy path, missing-npx fallback, stateless-environment invariant, default-resolver branch) and an extension ofzauc-mocks-mcp-index/index.test.tsto mock the new factory and lock the registration through everycreateBuiltinMcpsscenario.docs/reference/configuration.mdandsrc/mcp/AGENTS.mdlist the new builtin alongside the others.Test plan
bun test src/mcp— 40 pass, 0 failbun test src/mcp src/cli/doctor src/config— 222 pass, 0 fail across 32 filesdisabled_mcps: [\"sequential_thinking\"]removes it fromcreateBuiltinMcpsoutput without touching the other builtins.{ enabled: false }rather than a broken launch attempt.Notes
The server is stateless — no env vars, no on-disk state, no per-project setup. If the package isn't already cached,
npx -ywarms it up on first request. Users who don't want the auto-launch can opt out withdisabled_mcps: [\"sequential_thinking\"].If both this PR and #4286 (
server-memory) land, the builtin MCP roster grows from 5 to 7. No conflict between the two diffs — they touch disjoint files exceptsrc/mcp/types.tsandsrc/mcp/index.ts, both of which are append-only additions.Summary by cubic
Adds
@modelcontextprotocol/server-sequential-thinkingas a built-in MCP namedsequential_thinkingto give models a scratchpad for multi-step plans via thesequentialthinkingtool. This helps small no-thinking-mode models persist plans across tool calls.npx -y; auto-disables whennpxisn’t available.createBuiltinMcps;McpNameSchemaextended;omo doctorrecognizes it; docs updated. Opt out withdisabled_mcps: ["sequential_thinking"].npx, stateless env, and default resolver; registration tests updated.Written for commit 4217e04. Summary will update on new commits. Review in cubic