thinkstep について
thinkstepは、思考の流れを段階ごとに記録するMCPサーバーで、修正や名前付きの分岐に対応します。以前の考えを見直すプロセスに向き、状態はセッション中のプロセスメモリだけに保持されます。
主な機能
- 01思考を段階ごとに記録
- 02元の記録を残したまま過去の思考を修正
- 03過去の思考から分岐を作成
- 04分岐IDと思考の履歴数を追跡
- 05プロセスメモリ内で状態を保持
活用シーン
- 01複数段階の推論過程を記録
- 02以前の段階を見直して修正
- 03過去の思考から別の経路を検討
MCP 対応
MCPサーバーは単一の`sequentialthinking`ツールを提供し、思考の記録、修正の指定、思考の流れからの分岐作成に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| thought | string | はい | 現在の思考ステップ |
| branchId | string | いいえ | 分岐の識別子 |
| isRevision | boolean | いいえ | 以前の思考を修正するかどうか |
| thoughtNumber | integer | はい | 現在の思考番号(数値、例:1、2、3) |
| totalThoughts | integer | はい | 必要な思考の推定合計数(数値、例:5、10) |
| revisesThought | integer | いいえ | 再検討する思考の番号 |
| branchFromThought | integer | いいえ | 分岐元となる思考の番号 |
| needsMoreThoughts | boolean | いいえ | さらに思考が必要かどうか |
| nextThoughtNeeded | boolean | はい | 次の思考ステップが必要かどうか |
詳細
thinkstep
サーバーがスレッドを保持しながら、段階的に、声に出して考えます。
一度の試行では解決できない問題もあります。最初のアイデアを立てて検討し、2つ目のステップが1つ目と矛盾していることに気づき、いったん戻って、前の時点から別の道筋を試してから、ようやく答えの形が見えてくることもあります。thinkstep は、そのプロセスのためのノートです。1つのツール sequentialthinking を備えた MCP サーバーで、思考の連鎖を1ステップずつ記録し、修正や分岐も含めた全履歴を整理して保持します。
呼び出すたびに、思考を1つ追加します。現在の位置(thoughtNumber)、あとどれくらいかかりそうか(totalThoughts)、次のステップが必要かどうかを指定します。連鎖が見積もりを超えた場合、サーバーはエラーを返すのではなく、合計数を自動で増やします。前のステップを考え直す場合は、修正であることを示し、再検討する思考を指定します。メインの筋道を失わずに別の道筋を探りたい場合は、前の思考から名前付きの分岐を作成します。各応答にはこれまでに作成した分岐 ID がすべて含まれるため、どのスレッドが開いているかを常に把握できます。
状態はセッション中、サーバープロセス内に保持されます。ディスクへの書き込みはなく、マシンの外にデータが出ることもありません。セッションを閉じると、ノートも閉じられます。
使用方法
MCP サーバー
npx @reneturcios/thinkstep mcp
MCP クライアントの設定:
{
"mcpServers": {
"thinkstep": {
"command": "npx",
"args": ["-y", "@reneturcios/thinkstep", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/thinkstep # stdio MCP server (default command is "mcp")
docker run --rm ghcr.io/cloudcorprecords/thinkstep --version
ツール
sequentialthinking
思考のステップを1つ記録し、連鎖の要約を取得します。
| パラメーター | 型 | 必須 | 意味 |
|---|---|---|---|
thought | string | はい | 現在の思考ステップ |
nextThoughtNeeded | boolean | はい | もう1つ思考ステップが必要かどうか |
thoughtNumber | integer | はい | 現在の思考番号(数値、例:1、2、3) |
totalThoughts | integer | はい | 必要な思考の推定合計数(数値、例:5、10) |
isRevision | boolean | いいえ | 前の思考を修正するかどうか |
revisesThought | integer | いいえ | 再検討する思考の番号 |
branchFromThought | integer | いいえ | 分岐元となる思考番号 |
branchId | string | いいえ | 分岐識別子 |
needsMoreThoughts | boolean | いいえ | さらに思考が必要かどうか |
branchFromThought と branchId の両方を含む思考は、分岐として追跡されます。修正は isRevision: true と、再考する思考の番号を設定した revisesThought によって記録されます。元の思考は履歴に残ります。
受け付けられた各思考は、次の JSON 要約を返します。
{
"thoughtNumber": 2,
"totalThoughts": 5,
"nextThoughtNeeded": true,
"branches": ["cheaper-route"],
"thoughtHistoryLength": 4
}
thoughtNumber/totalThoughts— 連鎖の現在位置です。thoughtNumberが推定されたtotalThoughtsを超える場合、合計数はthoughtNumberに引き上げられます。nextThoughtNeeded— 連鎖が続くかどうかです。needsMoreThoughts: trueを送信した場合も、これがtrueとして報告されます。branches— これまでに作成されたすべての分岐の ID を、作成順に並べたものです。thoughtHistoryLength— この思考を含め、サーバーが記録した思考の数です。
フィールドが欠落している場合や型が正しくない場合は、問題のフィールド名を示すエラー結果(isError)とともに拒否されます。拒否された呼び出しは記録されません。
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts
npm run dev # run the CLI from source
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。