The CRASH server enables structured, iterative reasoning for complex problem-solving and analysis by breaking down tasks into sequential steps with defined purposes (analysis, action, validation, planning, etc.). Key capabilities include:
• Confidence tracking with 0-1 scale uncertainty measurement and doubt documentation • Revision mechanism to correct and improve previous steps with documented rationale • Branching support for exploring multiple solution paths concurrently using unique IDs • Tool integration with structured actions, parameters, and expected outputs • Session management for handling multiple concurrent reasoning chains • Flexible output formats (console, JSON, Markdown) with configurable settings • Context awareness to track completed steps and avoid redundancy • Custom purposes beyond standard step types for extended functionality
Ideal for code analysis, system design, debugging, research, decision-making, and comprehensive solution exploration.
Provides Markdown output formatting for human-readable documentation of reasoning processes and analysis workflows
Distributed as an npm package for easy installation and integration into Node.js-based MCP server environments
Built with TypeScript for type-safe development and enhanced tooling support in the reasoning server implementation
Cascaded Reasoning with Adaptive Step Handling
a.k.a CRASH
"Use crash to ..."
An advanced MCP (Model Context Protocol) server that facilitates structured, iterative reasoning for complex problem-solving and analysis. CRASH v2.0 introduces flexible validation, confidence tracking, revision mechanisms, and branching support while maintaining backward compatibility.
Heavily inspired by MCP Sequential Thinking Server
Why I made this?
Frankly, I created this because typing "use sequential_thinking" was cumbersome. Now I can simply say "use crash" instead!
That was just the starting point though. CRASH is a modified version of sequential thinking with token-efficiency as its core design principle. It's more streamlined in its prompting approach - it doesn't include codes in thoughts and doesn't require the agent to list all available tools, etc.
I've had great experience with CRASH so far and have completely replaced sequential thinking in my workflow. It's now my go-to solution whenever an agent can't solve an issue in one shot or even when plan mode falls short.
Claude Code's Experience
🚀 Key Features
Core Capabilities
- 🎯 Flexible Purpose Types: Extended set including validation, exploration, hypothesis, correction, planning, plus custom purposes
- 📝 Natural Language Flow: No forced prefixes or rigid formatting (configurable)
- 🔄 Revision Mechanism: Correct and improve previous reasoning steps
- 🌿 Branching Support: Explore multiple solution paths in parallel
- 📊 Confidence Tracking: Express uncertainty with confidence scores (0-1 scale)
- 🔧 Structured Actions: Enhanced tool integration with parameters and expected outputs
- 💾 Session Management: Multiple concurrent reasoning chains with unique IDs
- 📋 Multiple Output Formats: Console, JSON, and Markdown formatting
Configuration Options
- Strict Mode: Legacy compatibility with original rigid validation
- Flexible Mode: Full access to enhanced features (default)
- Customizable Validation: Toggle prefix requirements independently
- Environment Variables: Easy configuration without code changes
📦 Installation
Or use directly with npx:
Requirements
- Node.js >= v18.0.0
- Cursor, Claude Code, VSCode, Windsurf or another MCP Client
Go to: Settings
-> Cursor Settings
-> MCP
-> Add new global MCP server
Pasting the following configuration into your Cursor ~/.cursor/mcp.json
file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json
in your project folder. See Cursor MCP docs for more info.
Cursor Local Server Connection
Cursor with Environment Variables
Run this command. See Claude Code MCP docs for more info.
Claude Code Local Server Connection
or if you are using powershell:
Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.
Windsurf Local Server Connection
Add this to your VS Code MCP config file. See VS Code MCP docs for more info.
VS Code Local Server Connection
Add this to your Cline MCP configuration:
Add this to your Zed settings.json
. See Zed Context Server docs for more info.
To configure CRASH MCP in Augment Code, you can use either the graphical interface or manual configuration.
A. Using the Augment Code UI
- Click the hamburger menu.
- Select Settings.
- Navigate to the Tools section.
- Click the + Add MCP button.
- Enter the following command:
- Name the MCP: CRASH.
- Click the Add button.
B. Manual Configuration
- Press Cmd/Ctrl Shift P or go to the hamburger menu in the Augment panel
- Select Edit Settings
- Under Advanced, click Edit in settings.json
- Add the server configuration to the
mcpServers
array in theaugment.advanced
object
Add this to your Roo Code MCP configuration file. See Roo Code MCP docs for more info.
Roo Code Local Server Connection
See Gemini CLI Configuration for details.
- Open the Gemini CLI settings file. The location is
~/.gemini/settings.json
(where~
is your home directory). - Add the following to the
mcpServers
object in yoursettings.json
file:
If the mcpServers
object does not exist, create it.
Local Server Connection
Open Claude Desktop developer settings and edit your claude_desktop_config.json
file to add the following configuration. See Claude Desktop MCP docs for more info.
Add this to your Opencode configuration file. See Opencode MCP docs docs for more info.
Opencode Local Server Connection
See OpenAI Codex for more information.
Add the following configuration to your OpenAI Codex MCP server settings:
See JetBrains AI Assistant Documentation for more details.
- In JetBrains IDEs go to
Settings
->Tools
->AI Assistant
->Model Context Protocol (MCP)
- Click
+ Add
. - Click on
Command
in the top-left corner of the dialog and select the As JSON option from the list - Add this configuration and click
OK
- Click
Apply
to save changes. - The same way CRASH could be added for JetBrains Junie in
Settings
->Tools
->Junie
->MCP Settings
See Kiro Model Context Protocol Documentation for details.
- Navigate
Kiro
>MCP Servers
- Add a new MCP server by clicking the
+ Add
button. - Paste the configuration given below:
- Click
Save
to apply the changes.
Use the Add manually feature and fill in the JSON configuration information for that MCP server. For more details, visit the Trae documentation.
Trae Local Server Connection
Use these alternatives to run the local CRASH MCP server with other runtimes. These examples work for any client that supports launching a local MCP server via command + args.
Bun
Deno
If you prefer to run the MCP server in a Docker container:
- Build the Docker Image:First, create a
Dockerfile
in the project root (or anywhere you prefer):Then, build the image using a tag (e.g.,crash-mcp
). Make sure Docker Desktop (or the Docker daemon) is running. Run the following command in the same directory where you saved theDockerfile
: - Configure Your MCP Client:Update your MCP client's configuration to use the Docker command.Example for a cline_mcp_settings.json:
The configuration on Windows is slightly different compared to Linux or macOS (Cline
is used in the example). The same principle applies to other editors; refer to the configuration of command
and args
.
Add this to your Amazon Q Developer CLI configuration file. See Amazon Q Developer CLI docs for more details.
See Warp Model Context Protocol Documentation for details.
- Navigate
Settings
>AI
>Manage MCP servers
. - Add a new MCP server by clicking the
+ Add
button. - Paste the configuration given below:
- Click
Save
to apply the changes.
See LM Studio MCP Support for more information.
Manual set-up:
- Navigate to
Program
(right side) >Install
>Edit mcp.json
. - Paste the configuration given below:
- Click
Save
to apply the changes. - Toggle the MCP server on/off from the right hand side, under
Program
, or by clicking the plug icon at the bottom of the chat box.
You can configure CRASH MCP in Visual Studio 2022 by following the Visual Studio MCP Servers documentation.
Add this to your Visual Studio MCP config file (see the Visual Studio docs for details):
For more information and troubleshooting, refer to the Visual Studio MCP Servers documentation.
Add this to your Crush configuration file. See Crush MCP docs for more info.
Crush Local Server Connection
Open the "Settings" page of the app, navigate to "Plugins," and enter the following JSON:
Once saved, you can use the crash
tool for structured reasoning in your chats. More information is available on BoltAI's Documentation site. For BoltAI on iOS, see this guide.
Edit your Rovo Dev CLI MCP config by running the command below -
Example config -
Local Server Connection
To configure CRASH MCP in Zencoder, follow these steps:
- Go to the Zencoder menu (...)
- From the dropdown menu, select Agent tools
- Click on the Add custom MCP
- Add the name and server configuration from below, and make sure to hit the Install button
Once the MCP server is added, you can easily continue using it.
See Qodo Gen docs for more details.
- Open Qodo Gen chat panel in VSCode or IntelliJ.
- Click Connect more tools.
- Click + Add new MCP.
- Add the following configuration:
Qodo Gen Local Server Connection
See Local and Remote MCPs for Perplexity for more information.
- Navigate
Perplexity
>Settings
- Select
Connectors
. - Click
Add Connector
. - Select
Advanced
. - Enter Server Name:
CRASH
- Paste the following JSON in the text area:
- Click
Save
.
⚙️ Configuration
Environment Variables
Variable | Description | Default | Options |
---|---|---|---|
CRASH_STRICT_MODE | Enable legacy validation rules | false | true , false |
MAX_HISTORY_SIZE | Maximum steps to retain | 100 | Any positive integer |
CRASH_OUTPUT_FORMAT | Output display format | console | console , json , markdown |
CRASH_NO_COLOR | Disable colored output | false | true , false |
🛠️ Tool Usage
Basic Parameters (Required)
- step_number: Sequential step number
- estimated_total: Current estimate of total steps (adjustable)
- purpose: Step purpose (see Purpose Types below)
- context: What is already known to avoid redundancy
- thought: Current reasoning (natural language)
- outcome: Expected/actual result
- next_action: Next tool or action (string or structured object)
- rationale: Why this action is chosen
Enhanced Parameters (Optional)
Confidence & Uncertainty
- confidence: 0-1 scale confidence level
- uncertainty_notes: Describe doubts or concerns
Revision Support
- revises_step: Step number to revise
- revision_reason: Why revision is needed
Branching
- branch_from: Step to branch from
- branch_id: Unique branch identifier
- branch_name: Descriptive branch name
Tool Integration
- tools_used: Array of tools used
- external_context: External data/outputs
- dependencies: Step numbers this depends on
Session Management
- session_id: Group related reasoning chains
📝 Purpose Types
Standard Purposes
analysis
- Analyzing informationaction
- Taking an actionreflection
- Reflecting on progressdecision
- Making a decisionsummary
- Summarizing findingsvalidation
- Validating resultsexploration
- Exploring optionshypothesis
- Forming hypothesescorrection
- Correcting errorsplanning
- Planning approach
Custom Purposes
When not in strict mode, any string can be used as a purpose.
💡 Examples
Basic Usage
With Confidence Tracking
Revision Example
Branching Example
Structured Action Example
🔄 Backward Compatibility
Strict Mode
Enable strict mode for legacy behavior:
In strict mode:
- Thoughts must start with required prefixes
- Rationale must start with "To "
- Only predefined purpose types allowed
- Original validation rules enforced
Migration Guide
- From v1.x to v2.0: No changes required - fully backward compatible
- To use new features: Set
CRASH_STRICT_MODE=false
(default) - Gradual adoption: Enable features individually through configuration
🏗️ Development
🚨 Troubleshooting
If you encounter ERR_MODULE_NOT_FOUND
, try using bunx
instead of npx
:
This often resolves module resolution issues in environments where npx
doesn't properly install or resolve packages.
For errors like Error: Cannot find module
, try the --experimental-vm-modules
flag:
- Try adding
@latest
to the package name - Use
bunx
as an alternative tonpx
- Consider using
deno
as another alternative - Ensure you're using Node.js v18 or higher for native support
🎯 Use Cases
When to Use CRASH
- Complex Problem Solving: Multi-step tasks requiring systematic approach
- Code Analysis & Optimization: Understanding and improving codebases
- System Design: Planning architecture with multiple considerations
- Debugging: Systematic error investigation with hypothesis testing
- Research & Exploration: Investigating multiple solution paths
- Decision Making: Evaluating options with confidence tracking
When NOT to Use CRASH
- Simple, single-step tasks: Direct action is more efficient
- Pure information retrieval: No reasoning required
- Time-critical operations: Overhead of structured reasoning
- Deterministic procedures: No uncertainty or exploration needed
🔍 Comparison with Sequential Thinking
Feature | CRASH v2.0 | Sequential Thinking |
---|---|---|
Structure | Flexible, configurable | May be more rigid |
Validation | Optional prefixes | Depends on implementation |
Revisions | Built-in support | Varies |
Branching | Native branching | Varies |
Confidence | Explicit tracking | May not have |
Tool Integration | Structured actions | Varies |
Token Efficiency | Optimized, no code in thoughts | Depends on usage |
Output Formats | Multiple (console, JSON, MD) | Varies |
📊 Performance
- Memory: Configurable history size prevents unbounded growth
- Processing: Minimal overhead (~1-2ms per step)
- Token Usage: Optimized prompts, no code generation in thoughts
- Scalability: Session management for concurrent chains
🎯 Credits & Inspiration
CRASH is an adaptation and enhancement of the sequential thinking tools from the Model Context Protocol ecosystem:
- Primary Source: MCP Sequential Thinking Server - Official MCP implementation
- Secondary Inspiration: MCP Sequential Thinking Tools - Community adaptation
CRASH builds upon these foundations by adding flexible validation, confidence tracking, revision mechanisms, branching support, and enhanced tool integration while maintaining the core structured reasoning approach.
👨💻 Author
Nikko Gonzales
- Email: nikkoxgonzales@gmail.com
- GitHub: nikkoxgonzales
🤝 Contributing
Contributions welcome! Areas for enhancement:
- Visualization: Graph/tree view for branches
- Persistence: Save/load reasoning sessions
- Analytics: Pattern recognition in reasoning
- Integration: More MCP tool integrations
- Templates: Pre-built reasoning templates
📄 License
MIT
🔗 Links
📈 Version History
v2.0.0 (Current)
- Flexible validation system
- Confidence tracking
- Revision mechanism
- Branching support
- Structured actions
- Multiple output formats
- Session management
- Backward compatibility
v1.0.0
- Initial release
- Basic structured reasoning
- Required prefixes
- Five purpose types
- Console output only
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables structured, iterative reasoning for complex problem-solving with features like confidence tracking, revision mechanisms, and branching support. Provides flexible validation and multiple output formats for systematic analysis and decision-making tasks.
- a.k.a CRASH
- Why I made this?
- Claude Code's Experience
- 🚀 Key Features
- 📦 Installation
- ⚙️ Configuration
- 🛠️ Tool Usage
- 📝 Purpose Types
- 💡 Examples
- 🔄 Backward Compatibility
- 🏗️ Development
- 🚨 Troubleshooting
- 🎯 Use Cases
- 🔍 Comparison with Sequential Thinking
- 📊 Performance
- 🎯 Credits & Inspiration
- 👨💻 Author
- 🤝 Contributing
- 📄 License
- 🔗 Links
- 📈 Version History
Related MCP Servers
- AsecurityAlicenseAqualityEnhances AI model capabilities with structured, retrieval-augmented thinking processes that enable dynamic thought chains, parallel exploration paths, and recursive refinement cycles for improved reasoning.Last updated -115MIT License
- AsecurityFlicenseAqualityProvides a tool for dynamic and reflective problem-solving by breaking complex problems into manageable steps with support for revision, branching, and hypothesis generation.Last updated -1111,9353
- AsecurityAlicenseAqualityAn enhanced sequential thinking tool optimized for programming tasks that helps break down complex coding problems into structured, self-auditing thought steps with branching and revision capabilities.Last updated -189189MIT License
- AsecurityAlicenseAqualityProvides AI assistants with enhanced reasoning capabilities through structured thinking, persistent knowledge graph memory, and intelligent tool orchestration for complex problem-solving.Last updated -2051033MIT License