Rust-based MCP server for sequential thinking, built on the UltraFast MCP framework.
1.4K
Official Docker image available at techgopal/ultrafast-mcp-sequential-thinkingโ
A high-performance, Rust-based Model Context Protocol (MCP) server and client implementation for sequential thinking, built on the UltraFast MCP framework.
UltraFast MCP Sequential Thinking provides a structured approach to problem-solving through dynamic and reflective thinking processes. This implementation offers significant performance advantages over the official TypeScript version while maintaining full compatibility with the MCP 2025-06-18 specification.
# Pull the latest image from Docker Hub
docker pull techgopal/ultrafast-mcp-sequential-thinking:latest
# Run HTTP server on port 8080
docker run --rm -p 8080:8080 techgopal/ultrafast-mcp-sequential-thinking:latest
# Run with custom configuration
docker run --rm -p 8080:8080 -e MAX_THOUGHTS=200 techgopal/ultrafast-mcp-sequential-thinking:latest
# Run in detached mode
docker run -d --name thinking-server -p 8080:8080 techgopal/ultrafast-mcp-sequential-thinking:latest
# Build the server image locally (if you want to make changes)
docker build -t sequential-thinking-server .
# Verify the image was created
docker images | grep sequential-thinking-server
# Connect to HTTP server running in Docker
cargo run --bin sequential-thinking-client -- --server http://localhost:8080
# Or use curl to test the server
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-06-18"},"id":1}'
If you want to use MCP Inspector or other tools to launch the server in a Docker container with advanced options (such as analytics and increased max thoughts), use the following configuration:
{
"mcpServers": {
"sequential-thinking": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"techgopal/ultrafast-mcp-sequential-thinking:latest",
"/usr/local/bin/sequential-thinking-server",
"--transport",
"stdio",
"--max-thoughts",
"200",
"--enable-analytics"
],
"env": {}
}
}
}
This configuration will start the server in a Docker container using STDIO transport, with analytics enabled and a higher max thoughts limit. Adjust the arguments as needed for your use case.
# Create docker-compose.yml for easy deployment
cat > docker-compose.yml << EOF
version: '3.8'
services:
sequential-thinking-server:
build: .
ports:
- "8080:8080"
environment:
- MAX_THOUGHTS=100
- ENABLE_ANALYTICS=true
restart: unless-stopped
EOF
# Start with Docker Compose
docker-compose up -d
# Stop the service
docker-compose down
This project includes an MCP Inspector configuration file (mcp-inspector-config.json) that supports both HTTP and STDIO transport modes.
Start the server (choose one):
# HTTP transport (recommended for Inspector)
cargo run --bin sequential-thinking-server -- --transport http --port 8080
# STDIO transport
cargo run --bin sequential-thinking-server -- --transport stdio
Open MCP Inspector and load the config file:
mcp-inspector-config.jsonsequential-thinking-server-http (default)sequential-thinking-server-stdioTest the tools:
sequential_thinking: Main thinking tool for problem-solvingexport_session: Export sessions in various formatsanalyze_session: Get analytics and insightsmerge_sessions: Combine multiple sessionsThe mcp-inspector-config.json includes:
http://localhost:8080/mcp# config.toml
[server]
name = "ultrafast-sequential-thinking"
version = "1.0.0"
transport = "http"
port = 8080
[thinking]
max_thoughts_per_session = 100
max_branches_per_session = 10
session_timeout_seconds = 3600
enable_analytics = true
[export]
formats = ["json", "markdown", "pdf"]
auto_export = false
# client_config.toml
[client]
server_url = "http://localhost:8080"
timeout_seconds = 30
retry_attempts = 3
[thinking]
auto_save_interval = 60
enable_progress_tracking = true
show_thought_visualization = true
pub struct ThoughtData {
pub thought: String,
pub thought_number: u32,
pub total_thoughts: u32,
pub next_thought_needed: bool,
pub is_revision: Option<bool>,
pub revises_thought: Option<u32>,
pub branch_from_thought: Option<u32>,
pub branch_id: Option<String>,
pub needs_more_thoughts: Option<bool>,
}
pub struct ThinkingSession {
pub session_id: String,
pub title: String,
pub thoughts: Vec<ThoughtData>,
pub branches: HashMap<String, Vec<ThoughtData>>,
pub metadata: SessionMetadata,
}
sequential_thinking: Main thinking tool (MCP 2025-06-18 compliant)export_session: Export thinking session in various formatsanalyze_session: Get analytics and insights from sessionmerge_sessions: Merge multiple thinking sessionssession_history: Access to thinking session historyanalytics_data: Session analytics and metricsexport_templates: Export format templates# Run all tests
cargo test
# Run specific test suite
cargo test --test thinking_tests
# Run with coverage
cargo tarpaulin
# Run integration tests
cargo test --test integration_tests
# Run performance benchmarks
cargo bench
# Clone repository
git clone https://github.com/techgopal/ultrafast-mcp-sequential-thinking.git
cd ultrafast-mcp-sequential-thinking
# Install dependencies
cargo build
# Run development server
cargo run --bin sequential-thinking-server -- --dev
# Run tests
cargo test
cargo fmt for formattingcargo clippy for lintingThis project is licensed under the MIT License - see the LICENSEโ file for details.
Built with โค๏ธ using UltraFast MCP
Content type
Image
Digest
sha256:4332bfe6dโฆ
Size
33.9 MB
Last updated
about 1 year ago
docker pull techgopal/ultrafast-mcp-sequential-thinking